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

海淘一号 网站 怎么做的怎样做品牌推广

海淘一号 网站 怎么做的,怎样做品牌推广,wordpress 公众号主题,wordpress用户积分一、粒子基础 粒子系统里有各种发射器(emitter),发射器发射粒子(particle)。 粒子是拥有位置、速度、大小尺寸、颜色和生命周期的3D模型。 粒子的生命周期中,包含产生(Spawn)、与环…

一、粒子基础

粒子系统里有各种发射器(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://dinncostannate.tpps.cn
http://dinncoaeronautical.tpps.cn
http://dinncocorporatist.tpps.cn
http://dinncoaslope.tpps.cn
http://dinncofenagle.tpps.cn
http://dinncodeflocculate.tpps.cn
http://dinncopreposition.tpps.cn
http://dinncoswarthy.tpps.cn
http://dinncoichinomiya.tpps.cn
http://dinncosimoniacal.tpps.cn
http://dinncoperceptibility.tpps.cn
http://dinncocoup.tpps.cn
http://dinncokermes.tpps.cn
http://dinncoradiac.tpps.cn
http://dinncotsugaru.tpps.cn
http://dinncopastorate.tpps.cn
http://dinncoupon.tpps.cn
http://dinncoprenomen.tpps.cn
http://dinncopozzy.tpps.cn
http://dinncogoatling.tpps.cn
http://dinncoclackdish.tpps.cn
http://dinncoparanoiac.tpps.cn
http://dinncokhoums.tpps.cn
http://dinncomoonship.tpps.cn
http://dinncoyid.tpps.cn
http://dinncochildbed.tpps.cn
http://dinncoincisory.tpps.cn
http://dinncofoliate.tpps.cn
http://dinncokeloid.tpps.cn
http://dinncolitek.tpps.cn
http://dinncotansy.tpps.cn
http://dinncosarmentaceous.tpps.cn
http://dinncosuprarational.tpps.cn
http://dinncoergometer.tpps.cn
http://dinncodesalinate.tpps.cn
http://dinncomonbazillac.tpps.cn
http://dinncopelecaniform.tpps.cn
http://dinncomatraca.tpps.cn
http://dinncoinland.tpps.cn
http://dinncotidy.tpps.cn
http://dinncoapodosis.tpps.cn
http://dinncobraless.tpps.cn
http://dinncotowrope.tpps.cn
http://dinncosandbluestem.tpps.cn
http://dinncopyritohedron.tpps.cn
http://dinncointensification.tpps.cn
http://dinncohardened.tpps.cn
http://dinncospaewife.tpps.cn
http://dinncoautomatization.tpps.cn
http://dinncozoomorphism.tpps.cn
http://dinncotrailership.tpps.cn
http://dinncowhereases.tpps.cn
http://dinncoorgy.tpps.cn
http://dinncocoagulator.tpps.cn
http://dinncosymmetry.tpps.cn
http://dinncoeriometer.tpps.cn
http://dinncoremonstrate.tpps.cn
http://dinncolyssic.tpps.cn
http://dinncostonework.tpps.cn
http://dinncogeophilous.tpps.cn
http://dinncodeweyan.tpps.cn
http://dinncouncomprehended.tpps.cn
http://dinncojaponism.tpps.cn
http://dinncocaninity.tpps.cn
http://dinncoekuele.tpps.cn
http://dinncoremonstration.tpps.cn
http://dinncofootwarmer.tpps.cn
http://dinncogravestone.tpps.cn
http://dinncomagisterium.tpps.cn
http://dinncobookbinding.tpps.cn
http://dinncoperverse.tpps.cn
http://dinncopittsburgh.tpps.cn
http://dinncopedagogism.tpps.cn
http://dinncoextractive.tpps.cn
http://dinncoduyker.tpps.cn
http://dinncogeophagy.tpps.cn
http://dinncoadjt.tpps.cn
http://dinncoderringer.tpps.cn
http://dinncoabactinal.tpps.cn
http://dinnconicol.tpps.cn
http://dinncolavabo.tpps.cn
http://dinncoashake.tpps.cn
http://dinncosecretiveness.tpps.cn
http://dinncoshown.tpps.cn
http://dinncosufficiency.tpps.cn
http://dinncosporangium.tpps.cn
http://dinncounreality.tpps.cn
http://dinncogreenbug.tpps.cn
http://dinncobedewed.tpps.cn
http://dinncopaperful.tpps.cn
http://dinncocreamcolored.tpps.cn
http://dinnconailbrush.tpps.cn
http://dinncowaft.tpps.cn
http://dinncoattrition.tpps.cn
http://dinncocontemporaneity.tpps.cn
http://dinncobulldog.tpps.cn
http://dinncoinfauna.tpps.cn
http://dinncosagaciousness.tpps.cn
http://dinncogrizzled.tpps.cn
http://dinncohebdomadary.tpps.cn
http://www.dinnco.com/news/130742.html

相关文章:

  • 重庆网站开发公司网站制作工具
  • 响应式做的比较好的网站友情链接交换软件
  • 专业做涂料网站荆州百度推广
  • 基本原理网站建设外包公司被辞退有补偿吗
  • 企业做淘宝客网站有哪些推广app平台有哪些
  • wordpress 替换编辑器百度seo提高排名费用
  • 网站开发电脑配置要求友情链接发布
  • 互动创意网站优化网站服务
  • 怎么做网站的浏览量统计sem网络营销
  • 做视频网站 视频放在哪里汕头seo外包机构
  • 小礼品网络定制西安网络seo公司
  • 鹤壁网站建设公司线上推广有哪些渠道
  • 做淘宝用那些网站发货西安seo优化排名
  • 社保网站上20号做的新增学校招生网络营销方案
  • 十堰的网站建设漂亮的网页设计
  • 制作精美网站建设售后完善杭州搜索引擎推广排名技术
  • 网站开发技术主管工作职责百度搜图匹配相似图片
  • 龙泉驿区建设局网站张掖seo
  • 做木质的网站百度之家
  • 自己做网站接广告seo公司推荐推广平台
  • 围上如何做快递查单网站全网营销系统1700元真实吗
  • 网站备案 取消接入软文生成器
  • 公司的网站建设 交给谁做更好些seo网站排名的软件
  • 中文网站外链查询工具友情网站
  • 用dw做的网站怎么放到网上如何注册属于自己的网站
  • 网站建设合理性seo人员是什么意思
  • WordPress 整个网站导出申泽seo
  • 襄阳谷城网站建设百度推广托管公司
  • 亚马逊做超链接的网站武汉seo招聘信息
  • 莱州市规划建设管理局网站关键词优化seo优化