这篇条目有关 Source引擎。如需详情,点击这里。

env_cubemap

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)Deutsch (de)Français (fr)한국어 (ko)Português do Brasil (pt-br)Русский (ru)中文 (zh)中文(臺灣) (zh-tw)Translate (Translate)
link =
This translated page needs to be updated.

You can help by updating the translation. Also, please make sure the article tries to comply with the alternate languages guide.

This notice is put here by LanguageBar template and if you want to remove it after updating the translation you can do so on this page.


edit
一个反射球的例子,包含了一个静态模型(白车)、一个图标和一些印花。注意物理模型(绿车)不会出现在反射球中,因为它不是静态的。
Env cubemap.png

env_cubemap是一个内部的(en)点实体(en),可在所有的 起源 起源 游戏中使用。 当执行buildcubemaps(en)控制台命令时,该实体指定反射球(en)相机拍摄的位置。有$envmap(en)材质(en)会使用离它最近的反射球作为反射影像。

Note.png注意:这是一个内部实体。 当地图由VBSP编译时,它将被处理然后被删除:当地图运行时它不存在
Note.png注意:反射球会包含静态道具、发光图标、印花(如血迹和玩家的喷漆)、你在第一人称模式中手电的光照。所以在生成反射球的时候请关掉手电,否则你所照的地方在反射球里面也会变亮。

键值

反射品质的对比。
反射球大小(cubemapsize) <choices>
反射球的分辨率。注意:分辨率在实际游戏中会是你选择的分辨率的六倍,因此高的分辨率会带来非常大的文件!

¹ - 要渲染分辨率高于256x256的反射球,见(en)

固体面(sides) <sidelist(en)>
可选的强制固体面,强制它们以这个面而非最近的面作为反射球产生的位置。要选择面,按下Pick键,然后在3D视图中选中它们。按住 Ctrl 切换这个面的选中状态。

高分辨率的反射球

4k.jpg

关闭Smart Edit,键入10或更大的值。这将把分辨率设为2的更高次幂(512×512、1024×1024等)。

Warning.png警告:反恐精英:全球攻势里面试图生成1024x1024的反射球会导致引擎错误。
Note.png注意:制作反射球要求你的屏幕各方向分辨率至少是反射球的4倍。如果你的屏幕不够大,制作的时候请使用动态超分辨率(DSR)。
Note.png注意:高分辨率的反射球可能会大大增加地图的文件体积。因此,如果你考虑文件体积、多人地图下载时间的话,应将之偶尔用于镜子、大理石表面之类的纹理。

放置

声明反射球的应用范围很简单,只要在地图的某个区域里放一个env_cubemap实体即可。当地图使用VBSP(en)编译的时候,固体表面会自动与最近的env_cubemap关联并使用它所生成的反射球(反射球也可以应用于特定的固体表面,在反射球的属性中设置);运动的实体会动态地改变所使用的反射球。为了美观和性能,恰当地选择反射球的位置是很重要的。

反射球有几种固定的作用,应据此放置。一些反射球是给静态固体表面的反射用的。另外一些是给玩家和NPC(en)实体的。其余的是给非玩家反射实体的。为了确保视觉和性能的利益最大化,最优的env_cubemap实体放置要与这些作用相对应。以下是一些简单的做法:

  • 如果反射球是给NPC或玩家用的,env_cubemap实体,应该放在地面上方,眼睛的高度(通常是Hammer中64单位)。这样,从玩家的角度看反射球就会最准确地反映世界。
Tip.png提示:有一个方法是在地面上到处复制粘贴env_cubemap实体,使用Hammer的实体报告功能选择所有env_cubemap实体,然后用变换工具Ctrl+M将它们向上移动64单位。
  • 如果反射球是给静态固体表面的反射用的,env_cubemap实体应该与所有固体表面保持一定距离(例如Hammer中16单位)。
  • 视觉上有对比的区域需要不同的反射球。例如一个亮黄色灯光的走廊挨着一个暗蓝色灯光的房间,那么它们就需要不同的反射球。没有两个env_cubemap实体的话,其中一个区域的固体、实体上的反射和镜面高光看起来会不正常。
  • 地点的改变,如房间到房间、房间到外面、有大量视觉变化的地点改变,需要在连接点两边等距离地各放一个env_cubemap实体。例如,房间两边离门洞各16单位。这样,反射球才能平滑地在地点之间过渡,避免反射球把外界反映到房间里面,反之亦然。
  • 设置在非常黑暗的区域的反射球,以及可玩区域以外的反射球,都可以采用很低的分辨率。暗的反射球充其量反射几个光点,采用低的分辨率不会造成多大视觉上的差异。

制作反射球

关于通用和各游戏专用的反射球制作,见反射球(en)页面。

参见

weapon_cubemap