当前位置: 首页 > news >正文

东莞响应式网站建设网络营销策略和营销策略的区别

东莞响应式网站建设,网络营销策略和营销策略的区别,自己怎么建立公司网站,怎么学互联网怎么赚钱一、粒子基础 粒子系统里有各种发射器#xff08;emitter#xff09;#xff0c;发射器发射粒子#xff08;particle#xff09;。 粒子是拥有位置、速度、大小尺寸、颜色和生命周期的3D模型。 粒子的生命周期中#xff0c;包含产生#xff08;Spawn#xff09;、与环…一、粒子基础 粒子系统里有各种发射器emitter发射器发射粒子particle。 粒子是拥有位置、速度、大小尺寸、颜色和生命周期的3D模型。 粒子的生命周期中包含产生Spawn、与环境交互以及死亡。设计中很重要的一点是要控制场景中粒子的数量。 粒子发射器有三个作用 具体规定粒子产生的规则具体规定粒子模拟的逻辑描述如何渲染粒子 粒子系统经常有不止一类发射器比如火堆这个系统中有火焰、火星和烟雾三种发射器 关于粒子的产生位置上可以分为单点产生、在区域上产生和在mesh上产生三类 在模式上也可以分为连续产生和间歇性产生等 粒子的模拟 1、常规的受力 2、粒子如何变动一般使用显式欧拉法就行。受力状态决定加速度决定速度的更新速度决定位置的更新 3、模拟时除了重力还可以加上粒子的旋转、颜色的变化、大小的变化以及和环境的碰撞等 粒子的形状一般有三类 1、Billboard Particle。这种粒子由一些面片构成其形状其实只有一面但它始终保持面向摄像头所以看起来是一个3D的粒子。如果这个particle比较小就无所谓但如果比较大的时候建议是其形状也会随时间而变化不然比较假 2、Mesh Particle。要模拟散的碎的粒子时往往直接用3D mesh当做粒子然后给它们设置各种不同类别的随机属性从而艺术家也更容易实现想要的效果 3、Ribbon Particle。样条形粒子其实粒子是样条上的控制点然后通过连接获得完整的条状。往往使用在比如武器挥舞的残影之类的地方。在控制点连接过程中需要插值不然每一个连接点间的形状是不连续的看起来像一个个四边形拼在一起。一般使用向心的catmull-rom插值在粒子间加入额外的分割块且数量可自己选定不过对CPU要求会变高 二、粒子渲染 2.1 粒子排序 常见的透明融合问题在粒子渲染处也需要解决排序一定要从远到近。 粒子排序有两种方式一种是全局法完全按粒子个体来排序很精准但消耗巨大另一种是按层级从简单到复杂的排序是依照粒子系统排序、依照emitter排序和在emitter之内排序。 具体来说如果依照粒子排序则按粒子离相机的距离排序如果按系统或发射器排序则按Bounding box排序。 2.2 Low-Resolution 另一方面粒子渲染会带来巨大消耗的原因是“全分辨率粒子”。当我们渲染普通场景时由于Z-buffer的帮助其实只需要渲染接触到的场景的第一个物体其他被遮挡不需要渲染但粒子效果有时候最差情况下会在一瞬间产生叠满整个分辨率好多层的粒子而且它们不存在完全遮挡关系所以相当于一下子要进行超大量的渲染。 overdraw:同一个像素被绘制了多少次。 解决方案是 降分辨率下采样进行粒子的渲染此时与原场景无关获得粒子的颜色和透明度alpha。然后再上采样融合到原场景中。 三、GPU粒子 从上面的所述可以看到粒子计算功耗很大所以放到GPU中是一个解决方案原因有三 高并行运算适合大量粒子的模拟计算可以释放CPU功耗来进行游戏本身计算方便获得深度缓冲来做遮挡判断 但有一个难点是粒子拥有生命周期会不断产生消失所以如何在GPU中实现粒子是一个难点。 解决方案 Intial State 先建立一个粒子池设计一个数据结构设定系统包含的粒子总数量每个粒子的位置、速度等。再有两个list一个是Dead List记录当前死亡的粒子初始时包含所有粒子序号还有一个是alive list记录当前活着的粒子初始时为空。 比如emitter发射了5个粒子则从池子结尾取5个粒子序号放入alive list同时把dead list的后5个序号清空。 Simulate 当时间跳转到下一次tick时会新建一个alive list1并依序检索alive list中的粒子如果发现某个粒子死亡了就会把这个粒子序号移到死亡列表中并且在渲染时也跳过这个粒子如果仍存活就照抄到alive list1中。 这个操作因为compute shader的发明变得容易因为compute shader可以进行原子级操作。 同时在更新完活着的粒子之后还可以利用GPU进行frustum culling视角剔除针对活着的粒子并且计算它们的距离写入距离buffer。 Sort, Render and Swap Alive Lists 接着还需要进行排序、渲染和交换alive list 1、排序。根据距离buffer对活着的剔除后的粒子排序 2、渲染。对排序后的粒子渲染 3、交换。交换alive list1和alive list更新存活列表。 具体来说排序。GPU的排序类似归并算法复杂度为nlogn。采取的方式是针对目标序列排序后的每一个位置设置一个线程考虑它应该从两个列表中哪个取得。这样做会比每个源列表位置一个线程去考虑插入到哪里更简单因为后者会让“写过程”跳来跳去不连续 。 同时利用深度缓冲还可以进行碰撞的检测具体 1、把粒子的当前位置投影到上一帧的屏幕空间纹理坐标相当于投影到上一帧相机坐标系 2、读取上一帧的深度纹理图中的深度值 3、检查1和2中的深度值判断是否碰撞了但又没完全穿过去厚度值会被用到 4、如果碰撞发生了就计算碰撞表面法向和粒子反弹的方向 四、粒子应用 直接利用粒子来模拟物体比如鸟群、大地图下行走的路人因为很小此时同样也有骨骼但基本上每个顶点只受一个节点限制简化版人体。 在这种情况下我们可以把原本一个例子的加速等行为换成更复杂的人体姿态动作相当于每个particle设置了一个状态机。我们把这个particle的各种状态和对应的速度等属性的情况设置成一张纹理图。当particle的属性变化时就从纹理图中找到对应的状态不断切换。 Navigation Texture。在上述基础上可以利用一个粒子一个人来模拟一个导航纹理图。具体来说利用SDF来避免人走入建筑物内然后依次也可以设定一个方向纹理图当我们给一个粒子设定目的地和初始速度后它会根据DT的场驱动着往目的地走。当然过程中可以加一些随机性。 粒子系统在游戏中的应用早起是“预设型”即在最初就设定好particle可能的行为并用stack来表示和存储后来又有“基于图“的设计减少代码量增加灵活性最好的是两者混合型如下图
http://www.zqtcl.cn/news/253949/

相关文章:

  • 番禺做网站哪家强合肥网页网站制作
  • 100个免费推广网站阜阳网站建设价格低
  • 广西茶叶学会 网站建设给人做网站能赚钱吗
  • 网站建设的发展目标西湖区住房和城乡建设局网站
  • 佛山市手机网站建设网页制作教程第三版赵丰年pdf
  • 做的好的装修公司网站网页制作搜题软件
  • 网站公告栏代码铁路建设标准网站
  • 网站设计工具更好的做网站禅城技术支持骏域网站建设
  • 百度商桥可以在两个网站放网站qq 微信分享怎么做的
  • 大学生网站建设开题报告秀山网站建设
  • 网站建设的实施方案网站建设基本标准
  • 做一个推广网站多少钱360导航网址
  • 在线网站建设哪家便宜wordpress 爬取
  • 移动端网站设计规范百度一下首页问问
  • 哪些网站怎么进广西玉林网站建设
  • 高端建站设计赶集网免费发布信息
  • 两题一做的网站响应式网站开发asp
  • 做网站直接开二级域名网站怎么收录到百度
  • 手机论坛网站源码西安网站建设-中国互联
  • 郑州网站建设策划方案丹阳建站推广管理
  • 电商网站用什么框架做广州网站建设公司奇亿网站建设
  • 营销策划网站专做品牌网站
  • 电脑托管宁波seo排名外包
  • 外汇网站模版网站开发和网站制作的区别
  • 学习网站建设的书籍我要做个网站该怎么做
  • h5互动网站建设网站制作的教程
  • 大连网站设计公司双语外贸网站源码
  • 广元网站建设工作室湖北省建设用地预审网站
  • 保定清苑城市建设网站公司网站建立费用
  • 厦门找一家做网站的公司家在深圳论坛