找回密码
 立即注册

体渲染探秘:在元宇宙实现体积光与体积雾

匿名  发表于 2023-4-6 16:35:25 阅读模式 打印 上一主题 下一主题
文章引自元象XVERSE公众号:元来是你13|构建元宇宙光之天下,3D体积光雾衬着技术
自然情况中,当光芒穿过湿润或含有杂质的空气时会发生散射效应,这些散射光芒进入人眼,会发生一种光芒被停在空气中,或被某种介质拦住的错觉,被称为体积光。



散射光芒呈光束外形被称为体积光,无特定外形则叫体积雾,两者都是空气中“杂质”被照亮的成果。

在3D虚拟天下中,这些是极为常见的光照殊效,既能实在表示出光照耀在物体上发生的遮挡结果,又是场景设想师爱用的空气衬托工具,经过光雾显现阳光亮媚、奥秘诡异、梦幻浪漫感,使场景具有条理、深度和立体感,让用户沉醉于分歧空气和感情色彩中。

体衬着探秘:在元宇宙实现体积光与体积雾-2.jpg

《森林之子》游戏平分歧的光效

元象XVERSE自研的“端云协同”3D互动技术,希望在手机上就能显现出庞大丰富、传神材质、实在光影的元宇宙“美感”,是以衬着仿真是我们的持久研发课题。

本文聚焦颇具应战性的“体积光/雾”衬着技术,先容:
1. 影视游戏行业光效的分歧线路
2. 三大支流技术计划及其好坏势
3. 元象自研“端云协同”衬着计划
全文2500字,估计阅读8分钟。
离线 vs 实时

影视和游戏行业的分歧线路

影视行业凡是追求极致的画面表示,是以愿意花大量时候和计较资本模拟实在的光芒活动和结果。比如利用Houdini停止物理模拟仿真天生体积雾,经过设定灰尘浓度、湿度、风力等情况参数,在场景中天生“体积场”来描写情况中漂泊的烟雾粒子,这些粒子也会吸收和散射部分光芒,显现出体积光/雾结果,可作为光照计较的场景元素。以后,经过光芒追踪技术模拟光芒在场景中的传布和反射,正确计较场景中雾效的光照关系,最初天生实在细致的光效。



影视行业的体积光结果展现

游戏行业垂青实时交互,受手机等硬件装备的计较性能限制,会优先斟酌性能消耗题目。常见做法是把分歧光效停止分类,比如肉眼直视太阳发生LightShaft结果、光照进早晨的树林发生的Godray结果、光照亮雾发生的光雾夹杂结果等,再利用分歧技术别离实现,用衬着技能“伪装”光效,骗过玩家眼睛。
下面就先容几种支流做法。此外,今朝部分高端显卡已具有实时光芒追踪才能,随着硬件性能不竭提升,有机遇在手机显现更炫酷光效。

体衬着探秘:在元宇宙实现体积光与体积雾-4.jpg

游戏中的体积雾示例

实时光效常见计划

Billboard面片光

实时光效模拟中,Billboard面片光可以说是扛起了半边天,它经过在场景中放置永久朝向摄像机的半通明面片,用贴图面片建造出光/雾结果。

体衬着探秘:在元宇宙实现体积光与体积雾-5.jpg

Billboard面片光的光/雾结果

这类方式画面结果好,性能消耗低,弱点也不言而喻,只适用于中远景。由于面片没有体积,只要走近或看光的侧面,就会穿帮,需要用淡入淡出方式,在近处面片光淡出画面来减缓。但瑕不掩瑜,它被影视游戏行业普遍利用。

LightShaft后处置光

远景中的另一个常见光效,是看向太阳时,光被场景遮挡发生的LightShaft结果——观众会看到太阳光从遮挡物或物体边沿溢出,照耀在四周物体,发生一种崇高、奥秘感。经过调剂光源强度和位置,能营建出分歧的视觉和空气结果。其难点在于随着镜头移动,光被遮挡的外形也不竭变化,不能用面片光,而需后处置来仿真该结果。



光被场景遮挡发生的LightShaft结果

后处置是场景衬着完成后,再对画面做一次整体处置,凡是为了校杂色彩、抗锯齿、增加光效等。LightShaft后处置主如果三步:首先是提取光源像素,被场景遮挡后纷歧定能提取出光源原本的外形,其中遮挡让光源发生了场景交互光芒,所以很是重要。第二步是该像素的径向模糊(Radial Blur),它是在图像中模糊一定地区,使其显现向外辐射状的模糊结果,用在提取像素上,获得一帧画面的光芒传布模拟图。第三步会将该模拟结果混回原图像,得出一个视野遮挡致使光效外形变化的光效。

体衬着探秘:在元宇宙实现体积光与体积雾-7.jpg

LightShaft后处置步调

体素衬着体积光

复杂光效只靠面片和后处置是远远不够的,能生产体积光/雾的体素衬着计划是以也被普遍利用。它可以利用Houdini这样的影视软件建造体积场,将其以3D纹理形式保存,再导入3D引擎中,经过建造体积雾材质,在场景中以雾效方式衬着出来。



以雾效方式衬着体积雾材质

它也可以用UE4自带的体积雾(Volumetric Fog)计划建造,用高度构建体积场,雾效浓度随高度上升,或慢慢削弱。在光照计较上,它不会像影视行业一样利用实时光芒追踪停止大量计较,而是将视锥体体素化成Froxel Volume,将每个Froxel视为一个采样点,对体积场中的雾浓度和光照强度停止别离采样,再连系吸收率、散射系数、相函数参数、自觉光系数等介质属性,得出没有影视行业那末极致的画面结果,但在电脑上能实时计较的计划,在“好结果”与“提高性”中获得平衡。

体衬着探秘:在元宇宙实现体积光与体积雾-9.jpg

UE4中的指数高度雾

元象计划

元象希望能在手机、PC到VR等分歧终端上都显现出实在光影的元宇宙“美感”,是以技术重点放在了自研“端云协同”web端计划上,由于它跨平台、易用、能触达大量用户,最有益用远景,但受硬件性能等诸多限制,技术上也最具应战
比如在图形API上,WebGL计较特征有限,要比手游花费更多精神优化性能热门;在轻量化上,不能将资产打包成app,而是按需挪用资产,让用户实时加载,即开即玩,对包体巨细控制提出了极高要求。



元象体积雾结果

元象自研的“端云协同”3D互动计划,处理了纯端架构大量依靠端侧算力,对PC或手机等终端装备的性能要求高的痛点,又处理了纯云计划中云办事本钱高、收集带宽影响运转卡顿,大概WebGL云计划没法支持复杂场景和动效细节等题目,是一个“进可攻退可守”的计划。

体衬着探秘:在元宇宙实现体积光与体积雾-11.jpg

元象的体积光结果

元象云计划

在光影的生产上,元象美术团队能以“影视级画质”的高规格搭建场景和设想情况,用光芒追踪将其预衬着到云端。在衬着上,一切光影重度计较放到云办事器上,将高质量结果实时传输到端上。终极到显现上,用户在手机上就能享遭到复杂细节和实在光影的元宇宙“美感”。

体衬着探秘:在元宇宙实现体积光与体积雾-12.jpg

元象室内光影结果

元象端计划

我们还在端上衬着部分光/雾结果,进步一些特定场景的画面表示力。比如Mesh体积光,是用Mesh暗示体积场鸿沟,再用剖析式计较体积雾,能构建球、锥、圆柱等常见多少体雾,能用数学方式间接肯定任一偏向上多少体雾浓度,从而在web端停止高效衬着。
这个计划躲避了3D贴图诸多技术弱点,包括移动端贴图带宽消耗高,轻易致使性能题目和装备发热;贴图占用存储大,web端下载受收集影响大,下载时候也更长;采样3D贴图性能要求高,移动端没法承受等。
在具体实现上,以球形体积雾为例,Mesh体积光计划会假定网格体中心有一团雾,是中心为sc,半径为r的圆球状雾,从摄像机沿像素偏向发射射线,则有摄像机原点ro,射线偏向rd,射线长度t则有:

体衬着探秘:在元宇宙实现体积光与体积雾-13.jpg

描写出了射线与球形雾的关系,求解后获得其交点:tmin和tmax。经过两个交点对应的射线长度,可肯定任一像素在该偏向上的雾厚度。厚度为零的像素以为该地没有雾,衬着时不会叠加雾效色彩,而在有厚度的像素,则会按照厚度数值响应叠加雾效影响。

体衬着探秘:在元宇宙实现体积光与体积雾-14.jpg

算法表示图

最初元象的光雾衬着结果,经过端上体积光&雾的衬着叠加,全部空间立体度更高了。在阳光底下,画面会受体积光&雾的影响画面加倍朦胧,在体积里面,光&雾里面的物体也会变得更有间隔感。




VR空间光影案例

当前的体积光/雾结果还不错,但仍需要手动操纵,比如手动将球形缩放为椭圆形,再放置参加景中合适位置,经过量个体积光配合组分解想要结果。若何把这些步挪用法式化方式自动实现,也是未来可以延续摸索的偏向。
回复

使用道具

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐阅读
站长姓名:王殿武 杭州共生网络科技 创始人 云裂变新零售系统 创始人 飞商人脉对接平台 创始人 同城交友聚会平台 创始人 生活经验分享社区 创始人 站长微信:15924191378(欢迎添加)