网易首页 > 网易号 > 正文 申请入驻

Unity中如何制作更为复杂的大型环境——写实短片《Time Ghost》技术解析

0
分享至

本文转自公众号:Unity官方平台

基于 Unity 6 引擎制作的 demo 《Time Ghost》

开始《Time Ghost》项目时的目标之一是提升在Unity中构建大型户外环境的构建标准。为了实现这一目标,我们要有处理更为复杂的场景的能力、有足够的工具支持,同时它对引擎的核心图形、光照、后处理、渲染和性能也提出了更高的要求。虽然我们能够预见到Unity 6的图形改进能满足大部分需求,但工具方面仍面临挑战。

随着游戏世界变得越来越复杂,高效的工具对于管理自然资产的放置和渲染变得至关重要。我们需要一个智能系统来确保环境资产的真实分布与多样性。同时,由于计划使用大量的植被,因此渲染方面的技术解决方案,既要具备扩展性,也要在运行时保持较高的性能

本文将分享构建《Time Ghost》场景环境中的一些做法,并解析我们所用的工作流程和工具。

生成散布数据

第一步,我们将构成环境基础的网格导入 DCC 软件(本例中是 Houdini)。这些网格可以是激光雷达(LiDAR)扫描、无人机扫描或在 Unity 中手动雕刻的地形。对于 Houdini,我们开发了散布分析工具。 这些工具可以根据地形属性自动放置资产,帮助我们设计和生成细节丰富、多种多样的连贯的逼真环境。

此外,通过采用SpeedTree 和标准摄影测量工作流程,我们还创建了高质量的植被预制件并将其散布在网格上。 散布系统允许对随机性和密度进行微调,确保植被的自然分布和多样性。

接下来,我们将散布数据从 Houdini 导出为点缓存/点云,使用的是 Unity 在 GitHub 上提供的VFX Toolbox 中的 Point Cache Exporter HDA 稍加改动的版本。这个工具可以保存每个散布实例的位置,同时保存其缩放、方向、颜色、年龄和健康属性,并为散布数据中的每种模型生成一个点缓存。

Unity 集成

利用DOTS(面向数据技术栈)ECS(实体组件系统),我们可以创建包含成千上万个实体的场景,同时保持性能稳定。这是通过实体实例化和资源分配的精细管理实现的。

每个从 Houdini 导出的点云资产实际上只是由位置、方向、缩放等信息组成的集合,可能还包括一些额外的数据(例如年龄、健康状况、颜色等)。我们将所有 Houdini 导出的点云汇集到一个名为PointCloudFromHoudiniAsset的资源中。这个资源读取原始点云,根据命名规则找到要与每个点云搭配的预制件,并创建数据的内部表示形式。这些数据被存储在 PointCloudFromHoudiniAsset 中,随后在烘焙过程中被划分为多个空间分区,以便更快速地进行数据流式加载

下一步是在 ECS 子场景中添加一个创作组件(authoring component),名为ScatterPointCloudAuthoring。该组件将 PointCloudFromHoudiniAsset 和一些参数作为输入数据,这些参数可用于控制何时加载和卸载数据,以及如何对点云数据进行细分。

为了高效地流式传输数据,我们将点云数据细分为场景区块(scene sections),这些区块可以单独加载和卸载。这样,我们就可以根据距离视角的远近来加载和卸载不同的区块。区块的大小由创作组件中的 ScatterSceneSectionSize 属性控制。

然而,这些场景区块相对较大,如果一次性实例化所有数据,将导致 CPU 负载骤增。每个场景区块可能包含数十万个点,因此,这些区块会进一步细分为更小的图块(tile),称为“散布图块”(由创作组件中的 ScatterTileSize 属性控制)。实例化逻辑会根据重要性规则,选择接下来需要实例化的散布图块以及需要卸载的图块。

图块替身

即便可以高效地流式加载和卸载实例,我们依然面临需要渲染大量实例的问题。许多实例的体积较小,如草丛,在远处移动时仅覆盖屏幕的小块区域。因此,我们将部分散布实例烘焙为图块替身(tile impostor)。图块替身覆盖特定区域,并模仿该区域散布实例的外观。

数据直接从点云资产中获取,因为我们希望控制图块包含的植被类型。在本例中,我们仅关注草地资产,忽略同一区域内的树木。

图块替身(tile impostor)生成器从上方渲染属于该图块的所有实例,生成包含每个图块的近似颜色、法线和深度信息的低分辨率纹理。此外,一些最重要的植物类型被选中并从侧面和上方渲染到图集上。这个图集被所有图块共享,并用于为每个图块的低分辨率纹理数据生成细节。生成器还创建了一个由多个四角面组成的网格,代表图块并让四角面朝向视角。

在运行时,我们将每个图块的低分辨率纹理信息与更详细但通用的植被纹理集条目,投射到图块替身网格上,从而生成图块的近似外观。

随着摄像机逐渐远离某个区域,单个实例首先会切换到较低的细节级别(LOD),最终被图块替身所取代。图块替身也有多个细节级别,随着摄像机进一步远离,四角面的分布会变得更为稀疏。

提升大型场景性能的替身系统

对于场景中非常远的对象,我们使用八面体替身(octahedral imposters)。这种方法可以显示距离摄像机较远物体的简化版本,从而在视觉效果与性能之间取得平衡。我们开发了一个简单的工具,可以直接在 Unity 中生成并集成这些替身。这个工具简化了工作流程,提供了优化性能的同时保持高视觉标准的高效方法。

植被控制系统

我们的植被控制系统提供了复杂的配置设置,可以调整风速、风的变化和频率等环境效果,确保环境中动画元素的真实感和性能。

植被着色器接收健康和年龄属性,用以实现自然的颜色变化和更真实的风相应效果。比如,一株干燥的植物会更僵硬,摆动幅度小于绿色的植物。

场景中的实体也经过设计,可与角色进行逼真的交互。例如,植被会对角色的存在和移动做出动态响应。这个系统采用基于 GPU 的方法来处理与植被的交互(如碰撞),并通过简化的弹簧物理(spring physics)来计算和模拟角色与环境元素交互的效果。

高质量的环境光照

自适应探针体积(APV)

为了获得高质量的光照效果,场景通常需要在不同区域使用不同的光照设置。对于光线会在各种不规则表面上反弹的狭小空间,和光照相对均匀的开阔平原上,往往需要采用不同的处理方法。

Unity 6 引入了新的“自适应探针体积”功能,它会自动在最需要光照探针的地方放置探针

(注:通过可视化工具展示光照探针的位置时,可以明显看出壕沟里的探针比平原上的更密集,可以捕捉到更为细致的光照变化。)

场景混合

场景混合(Scenario Blending)让我们可以烘焙不同的光照设置状态,并在这些状态之间进行平滑过渡。

这样就可以为同一环境的不同时间创建不同的光照场景。太阳角度和环境色的变化可以通过实时光照来实现,而烘焙的光照场景让间接光照也能够相匹配。

接下来的计划

在当今先进的数字环境创建中,实现大量自然资源的自然连续分布和光照处理(无论是细致的近景还是宽广的远景,)都是至关重要的。基于ECS的处理方法不仅提升了画面质量,还在数据处理和解读方面提供了极大的灵活性,同时考虑了大型实时3D项目的性能需求。

我们已经在Unity Asset Store中发布了《Time Ghost》demo 的两个 Unity 项目——一个是环境场景,另一个是角色。 如果你想亲自体验上述流程的效果,可以下载《Time Ghost: Environment》项目,其中包含我们用 Unity 6 为《Time Ghost》创建的一个环境场景。

示例旨在展示我们使用的技术和方法,帮助你评估是否可以将类似的思路应用到自己的项目中。

全文完

这用UE5做的电影主视觉镜头也太开门了!

神级手绘稿

UE5.5正式发布!“无限”灯光新技术太牛了!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
暖心!海鸥飞过球场被皮球击中晕倒跌落,球员做心肺复苏将它救活

暖心!海鸥飞过球场被皮球击中晕倒跌落,球员做心肺复苏将它救活

风过乡
2026-02-24 09:45:57
高速免费最后一天,广西往广东方向大堵车,玉林到广州要14小时多

高速免费最后一天,广西往广东方向大堵车,玉林到广州要14小时多

天天话事
2026-02-23 10:55:26
春节流量大战,AI 与机器人的交卷时刻

春节流量大战,AI 与机器人的交卷时刻

晚点LatePost
2026-02-10 21:26:56
传遇上缅北剧组?杨洋被曝才开机就离开剧组!官方对接也下场

传遇上缅北剧组?杨洋被曝才开机就离开剧组!官方对接也下场

陌上桃花开的
2026-02-24 00:59:44
152万只能卖55万,19000一平跌到2900,房产信仰的破碎!

152万只能卖55万,19000一平跌到2900,房产信仰的破碎!

A活着
2026-02-21 18:38:13
热度第一、Tokens周调用破3T,MiniMax这个春节杀疯了

热度第一、Tokens周调用破3T,MiniMax这个春节杀疯了

机器之心Pro
2026-02-23 18:46:36
北京这几天的祭祀活动,硬是把网上的火药桶给点着了

北京这几天的祭祀活动,硬是把网上的火药桶给点着了

魔都姐姐杂谈
2026-02-23 16:39:30
湖人球迷倒戈给死敌绿军加油!科比魔术师做不到的事,詹皇做到了

湖人球迷倒戈给死敌绿军加油!科比魔术师做不到的事,詹皇做到了

嘴炮体坛
2026-02-23 13:26:35
贝加尔湖7条命,小红书躺枪

贝加尔湖7条命,小红书躺枪

智识漂流
2026-02-23 19:24:13
特朗普张口得罪全球,美国紧急警告中国别捅刀,中方沉默震耳欲聋

特朗普张口得罪全球,美国紧急警告中国别捅刀,中方沉默震耳欲聋

梁讯
2026-02-23 20:00:07
美伊26日谈判在即 是否对伊朗动武:白宫先内讧了

美伊26日谈判在即 是否对伊朗动武:白宫先内讧了

环球网资讯
2026-02-24 07:25:18
美国国务卿鲁比奥宣布任命新任美国“西藏特别事务协调员”,外交部:是在干涉中国内政,中方从来不予承认

美国国务卿鲁比奥宣布任命新任美国“西藏特别事务协调员”,外交部:是在干涉中国内政,中方从来不予承认

扬子晚报
2026-02-23 21:23:51
同样煮饺子,“盖盖煮”和“不盖盖煮”区别大,难怪煮出来不一样

同样煮饺子,“盖盖煮”和“不盖盖煮”区别大,难怪煮出来不一样

阿龙美食记
2026-02-23 17:00:18
央视重磅官宣:歼16单机双锁两架F-22,外军隐身战机吓得再不敢来

央视重磅官宣:歼16单机双锁两架F-22,外军隐身战机吓得再不敢来

52赫兹实验室
2026-02-23 12:43:04
初八开班复工!专家建议:节后第一天上班少干活

初八开班复工!专家建议:节后第一天上班少干活

看看新闻Knews
2026-02-23 19:32:02
不可思议!一殡仪馆38岁逝者骨灰去处标注,居然是“不要了”…

不可思议!一殡仪馆38岁逝者骨灰去处标注,居然是“不要了”…

火山詩话
2026-02-23 10:25:40
36斤活羊烤完剩6.9斤后续!花了1188元,商家曝原因,顾客已举报

36斤活羊烤完剩6.9斤后续!花了1188元,商家曝原因,顾客已举报

南方健哥
2026-02-24 05:22:18
台大校长傅斯年:一生追求民主与真理,赴台湾后家人在大陆遭清算

台大校长傅斯年:一生追求民主与真理,赴台湾后家人在大陆遭清算

谈史论天地
2026-02-23 07:12:34
彻底撕破脸!谷爱凌坦言:代表中国参赛后,在美被殴打、宿舍被闯

彻底撕破脸!谷爱凌坦言:代表中国参赛后,在美被殴打、宿舍被闯

阿废冷眼观察所
2026-02-23 12:40:50
澳洲医疗技术逆天! 华人全身血液抽干, 心跳停止, 40分钟后重生! 全球仅10例, 只有澳洲能做

澳洲医疗技术逆天! 华人全身血液抽干, 心跳停止, 40分钟后重生! 全球仅10例, 只有澳洲能做

澳微Daily
2026-02-22 14:06:29
2026-02-24 11:12:49
CG世界 incentive-icons
CG世界
分享国内外优秀CG作品,教程
5702文章数 8543关注度
往期回顾 全部

科技要闻

AI颠覆发展最新牺牲品!IBM跳水重挫超13%

头条要闻

牛弹琴:白宫突然发了张图 伤害性不大侮辱性极强

头条要闻

牛弹琴:白宫突然发了张图 伤害性不大侮辱性极强

体育要闻

苏翊鸣总结米兰征程:我仍是那个热爱单板滑雪的少年

娱乐要闻

杨洋传遇上缅北剧组 开机就离开剧组?

财经要闻

美拟以国家安全为由推出新关税

汽车要闻

一汽奥迪2026新品前瞻 全新旗舰亮相

态度原创

家居
亲子
房产
健康
教育

家居要闻

本真栖居 爱暖伴流年

亲子要闻

新生命的千里回乡路:带一岁半的宝宝回山东过年|故乡里的中国

房产要闻

窗前即地标!独占三亚湾C位 自贸港总裁行宫亮相

转头就晕的耳石症,能开车上班吗?

教育要闻

这样筹划开学准备,班主任稳稳启动新学期

无障碍浏览 进入关怀版