美文网首页
The Vegetation Engine使用流程

The Vegetation Engine使用流程

作者: 英仙之盾 | 来源:发表于2020-05-09 20:55 被阅读0次

    此为旧版使用流程,新版使用流程我也写了,请不要阅读此使用指南。

    提示:该插件仅支持standrad和2019.3.x的URP以及HDRP,本文章仅为我自己的学习笔记。

    原文档:https://docs.google.com/document/d/145JOVlJ1tE-WODW45YoJ6Ixg23mFc56EnB_8Tbwloz8/edit#heading=h.o649ya8mi0wr

    首先,导入TVE,之后切换管线(目前只支持standrad、URP和HDRP,旧版的LWRP并不支持)并点击setup pipeline。选择需要兼容的shader只后点击setup shader。

    配置TVE Manager

    完成管线与shader的配置,你首先需要手动添加三个名为:TVE Motion、TVE Colors和TVE Extras的layer,再在hierarchy里右键>BOXOPHOBIC>TVE>Setup,便会创建一个TVE的管理器。如果按照上面的顺序来,TVE管理器里的物体就会正确地被自动分配进对应的layer里。之后,应在摄像机里把这三个新添加的层取消掉渲染。

    将prefab转换为TVE可用的TVE Prefab

    找到howto folder里面的草prefab来做演示,将它拖进配置好环境的场景里并选中,打开window>BOXOPHOBIC>TVE>Prefab converter,此时便已经出现了转换prefab的工具。packing preset选择Procedual Grass之后点击convert,因为东西有点多转换会稍微有点慢,稍作等待就完成了TVE Prefab的转换。

    一旦转换完成,便可以打开Prefab settings的窗口(和prefab converter在同一个路径,也可以点击场景里的TVE Prefab在脚本里找到打开该窗口的按钮)来设置Motion Parameter。这个窗口可以一次性地把所有TVE Prefab上的运动参数设置完成,而免除了一个个设置的麻烦。

    当然,可以在对象的shader里把motion Main和motion leaves关掉,以让应该不动的物体停止运动。

    可交互Elements

    Hierarchy 右键box-TVE-Elements可以创建一个默认的element,如果需要多个element,就只能去复制这个场景里已有的element。

    元素可以影响TVE Prefab的颜色、尺寸或者用来和它们交互,它们可以用来影响一切TVE Prefab,无论是巨树还是小草。

    在INSPECTOR里找到TVE Element,可以修改element对环境影响的模式。比如motion interaction模式,它使用shader里一张法线贴图(默认是一个凸起的球面法线)来对环境里的TVE Prefabs作出交互,你可以使用自定义的法线贴图来自定义交互效果。

    其他模式,类似motion interaction,均可改变对应shader里的main参数来实现效果。

    与上一条相同,你可以在TVE Prefab的shader里通过禁用掉global settings来为某个物体消除element的交互影响。

    Season system

    把element mode切换到color并把它放大到足够大,使得它能影响到范围内的所有TVE Prefabs,在shader里把element mode切换到season并分配好每个季节的颜色之后,就可以在TVE Manager里的Global Seasons里切换季节了。

    Fade out interaction

    因为交互会在整个y方向上进行,当携带element的物体跳跃或是离开了草坪,草坪依然会处于交互状态而被压着。官方提供了一个自己写的fade out脚本,根据距离淡化整张法线贴图,来达到物体离开草坪的效果,由于这个是开发者在doc里提供的,我不在简书放出连接。想要的请去Asset Store购买The Vegetation Engine正版插件。(不过这脚本写得也实在是挺不行的……自己改改)

    相关文章

      网友评论

          本文标题:The Vegetation Engine使用流程

          本文链接:https://www.haomeiwen.com/subject/vablnhtx.html