虚幻4中的程序化生成【1】程序化生成河流。
来源:互联网 发布:美工常浏览的网站 编辑:程序博客网 时间:2024/06/06 20:38
给自己立了很多flag,由于时间原因很多系列都还在写,算是循序渐进的总结。在程序化生成系列里,将会有如下记述:
【1】程序化生成河流
主要内容有@1 shader的自动调整(如河流的深浅,河水的波涛程度)
@2 河流形状的调整,我们只需要编辑一条样条线,河流根据这条样条线自适应形状。
【2】程序化生成森林
主要内容有:@1用随机种子随机生成森林。减少美术工作量。
@2 程序化生成藤曼,减少美术制作藤曼的痛苦。
【3】程序化地形
主要内容有:主要是上面那中方法的高级应用。
现在先来看看程序化生成河流
这个主要包含两部分,第一部分为河流shader,第二部分为让河流模型匹配样条线。
shader我完全用的是虚幻的材质编辑器来制作,如果有必要,想制作caustic的话,虚幻也可以用自己的功能开启distancefield来完成。
水的材质的程序化主要体现在shader会根据水在场景中的深浅来自己调节深度,反射度,泡沫纹理的插值强度,和水边缘高亮强度。
虚幻材质编辑器里刚好提供了一个简便的方法,DistanceFeild。我用了两个distancefeid,和红,蓝,绿,黑三种颜色先制作了四个mask,然后用这个mask来制作水面不同深度的各个效果。
上图为我把红蓝两个mask拆开后的结果。
完成了Mask的制作之后剩下的就是调效果啦,不过这里主要把精力集中于程序化上,所以其他就不赘述了。
完成了shader部分的程序化工作之后,剩下的一步就是让河流平面模型匹配样条线。
首先我们需要建立一个脚本,然后在里面添一个样条线组件slinecomponent。再声明一个splinemeshcomponent。这里需要注意一点,splinemeshcomponent准确翻译应该是一个样条线段模型组件,而不是样条线模型组件。因为实际上splinemeshcomponent只会覆盖样条线的一个线段而已。
逻辑都比较简单,就一个for循环往样条线上加SplineMeshComponent然后对这个组件设置它的切线和位置。挺简单的,脚本就能完成都不需要动用c++。所以我这里就不帖代码了,直接截取了脚本的一部分。
- 虚幻4中的程序化生成【1】程序化生成河流。
- 虚幻4中的程序化生成【2】程序化生成藤曼
- 程序化随机多边形地图生成
- 程序化
- 程序化广告交易中的点击率预估
- 程序化广告交易中的点击率预估 CRT
- 将一个不含有纹理坐标信息的三维模型通过某种算法实现程序化生成纹理坐标
- 程序化交易中的数据周期,数据窗口和间隔
- Youmi DSP讲堂|程序化生态中的SSP是个啥玩意?
- 河流逻辑结构图生成方法
- 程序化交易系统大全
- 程序化交易系统大全
- 恒生程序化交易接口
- 程序化交易的未来
- 文华程序化入门
- 程序化交易系统总结
- 程序化交易系统的搭建
- 程序化银行家算法
- elasticsearch添加属性并设置默认值
- Android系统开机优化
- 互联网对千家万户的影响
- angularjs filter 详解
- Java并发编程:线程池的使用
- 虚幻4中的程序化生成【1】程序化生成河流。
- 简单对象访问协议
- 生产者/消费者模式
- 【noi】【2010】【能量收集】【莫比乌斯函数】
- Mac 配置MySQL
- Android EditText光标Cursor设置
- RTL8723BU BT&wifi
- PAT 甲级 1005. Spell It Right (20)
- 创新源于模仿之二:美化ListView的尝试