要自己继承AWaterBodyLake发现行不通
比如MyLake: public AWaterBodyLake
则在生成MyLake对象后 需要手动的设置
UWaterBodyComponent的material HLODmat,underwatermat
否则editor模式下 拖到场景中发现水mesh没有水材质。
这是因为引擎默认的WaterBodyActor拖到场景中都是由UWaterBodyActorFactory
生成并且初始化com的水材质和其他的一些属性
在这个方法里初始化UWaterBodyActorFactory::PostSpawnActor
而设置bodyactor的actor factory是在watereditor module里设置的
而自己继承的 没有设置actor factory就不会走PostSpawnActor
如果真的要和引擎一样 就得自己创建plugin 并且增加editor module
也要创建自己的actor factory ,理论上是可行的,但是我没有成功
另一条路就是不走actor factory的方法,mylake拖到场景中,自己设置材质啊等等
就是UWaterBodyActorFactory::PostSpawnActor里面干的事自己干一遍,但是用不了water editor setting的信息,只能另外创建一套设置
-----------------------------------------------------------------------------------------------
框架和基础结构:
water body actor 只是编辑工具
water mesh actor才是生成mesh的主体,各种水的无缝连接就是因为它的存在,融合的地方会有一个过渡材质去处理过渡的效果。
water body custom 可以指定一个staticmesh形状&