Replies: 1 comment 4 replies
-
|
16M是单个实例化组件的上限,你只需要将大范围的植被切割成一个个小块就行,在UE5的开放世界地图种,使用植被编辑模式(不会占用图层,它本质上使用的是HISM),会自动将植被切割成 256m x 256m 的 FoliageActor,如果要制作非常大范围的草坪,裁剪是必不可少的,还需要去规避因裁剪导致的视觉缺陷,LandscapeGrass一定是性能最优的且效果最好的方式,但图层的占用确实很糟糕,如果能扩展一套草图层的管理机制或许可以避免这个问题,扯远了,你应该只需要对植被进行分区就好了,可以使用UE的植被模式,也可以使用PCG,用C++编写小工具去自动划分和重新组合HISM,尽可能在草模型上多下功夫,能够以最小的密度去完成效果~ |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
非常感谢作者分享的开放世界中的植被优化技术(我是在这个帖子发现了这篇文章),从中学到了很多。但有一个相关问题困扰了我好几周了,一直没有找到满意的答案,那就是如何在超大的开放世界地图中放置足够多的植被数量。
我尝试过在植被模式中用笔刷绘制、procedural foliage spawner、PCG在一个4K的地图放置草,但无论上面哪种方法,很容易就达到了引擎的16M实例数量限制。
论坛上有人提出将草网格做的更大(也就是将原本多个草模型合并成一个),这样就能减少总体的数量,但这种方式会导致草更容易在有坡度的地方浮空。另外,拿4K地图举例,即使1平方米内只有一棵草,如果要铺满地图的话至少需要16M的数量。因此,我唯一能想到的方案就是基本的草使用LandscapeGrass,其它的植被使用笔刷绘制、procedural foliage spawner、PCG等等。但这会像作者所说的那样,需要额外的图层去记录信息。假设地图内有3个不同的生物群落,这些基本的草就需要额外3个图层去记录这个信息。这个代价有些大,而且还无法针对某颗草去编辑(移动、删除)
希望有经验的朋友能分享一下解决方案,感激不尽
Beta Was this translation helpful? Give feedback.
All reactions