Difference between revisions of "Env cubemap:zh-cn"

From Valve Developer Community
Jump to: navigation, search
(moved links to zh-cn pages)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{otherlang2
+
{{lang|Env cubemap|title=env_cubemap}}
|zh-tw=Env_cubemap:zh-tw
+
[[File:Cubemap_build_result.jpeg|thumb|right|一个反射球的例子,包含了一个静态模型(白车)、一个图标和一些印花。注意物理模型(绿车)不会出现在反射球中,因为它不是静态的。]]
|en=Env_cubemap
+
{{point ent:zh-cn|env_cubemap|internal=1|sprite=1}} 当执行{{ent:zh-cn|buildcubemaps}}控制台命令时,该实体指定[[cubemap:zh-cn|反射球]]相机拍摄的位置。有{{ent:zh-cn|$envmap}}的[[material:zh-cn|材质]]会使用离它最近的反射球作为反射影像。
|de=Env_cubemap:de
+
{{intent:zh-cn}}
}}
+
 
 +
== 键值 ==
 +
[[File:comparison_cubemapquality.jpg|thumb|反射品质的对比。1×1完全不会反射,故略。]]
 +
{{KV:zh-cn|反射球大小(cubemapsize)|choices|反射球的分辨率。注意:分辨率在实际游戏中会是你选择的分辨率的六倍,因此高的分辨率会带来非常大的文件!
 +
:*0: 默认(一般是32x32,取决于游戏)
 +
:*1: 1x1
 +
:*2: 2x2
 +
:*3: 4x4
 +
:*4: 8x8
 +
:*5: 16x16
 +
:*6: 32x32
 +
:*7: 64x64
 +
:*8: 128x128
 +
:*9: 256x256
 +
:*10: 512x512 ¹ {{Not in FGD}}
 +
:*11: 1024x1024 ¹ {{Not in FGD}}
 +
:*12: 2048x2048 ¹ {{Not in FGD}}
  
{{base point:zh-cn|env_cubemap|internal=1|sprite=1}} 当 [[buildcubemaps:zh-cn|buildcubemaps]] 控制台命令执行时,该实体指定了[[cubemap:zh-cn|cubemap]] 产生的位置。
+
¹ - 要渲染分辨率高于256x256的反射球,见[[Env_cubemap:zh-cn#高分辨率的反射球|]]。}}
{{ent:zh-cn|$envmap}}-的 [[material:zh-cn|材质]]会使用离他最近的cubemap作为反射影像.
+
{{KV:zh-cn|固体面(sides)|sidelist|可选的强制固体面,强制它们以这个面而非最近的面作为反射球产生的位置。要选择面,按下'''Pick'''键,然后在3D视图中选中它们。按住 {{key|Ctrl}} 切换这个面的选中状态。}}
  
{{intent:zh-cn}}
+
== 高分辨率的反射球 ==
 +
[[Image:4k.jpg|thumb|423px|right|]]
 +
关闭Smart Edit,键入10或更大的值。这将把分辨率设为2的更高次幂(512×512、1024×1024等)。
 +
{{note:zh-cn|制作反射球要求你的屏幕各方向分辨率至少是反射球的4倍。如果你的屏幕不够大,制作的时候请使用动态超分辨率(DSR)。}}
 +
{{note:zh-cn|高分辨率的反射球可能会大大增加地图的文件体积。因此,如果你考虑文件体积、多人地图下载时间的话,应将之偶尔用于镜子、大理石表面之类的纹理。}}
 +
 
 +
== 放置 ==
 +
声明反射球的应用范围很简单,只要在地图的某个区域里放一个<code>env_cubemap</code>实体即可。当地图使用[[VBSP:zh-cn|VBSP]]编译的时候,固体表面会自动与最近的<code>env_cubemap</code>关联并使用它所生成的反射球(反射球也可以应用于特定的固体表面,在反射球的属性中设置);运动的实体会动态地改变所使用的反射球。为了美观和性能,恰当地选择反射球的位置是很重要的。
 +
 
 +
反射球有几种固定的作用,应据此放置。一些反射球是给静态固体表面的反射用的。另外一些是给玩家和[[NPC:zh-cn|NPC]]实体的。其余的是给非玩家反射实体的。为了确保视觉和性能的利益最大化,最优的<code>env_cubemap</code>实体放置要与这些作用相对应。以下是一些简单的做法:
 +
* 如果反射球是给NPC或玩家用的,<code>env_cubemap</code>实体,应该放在地面上方,眼睛的高度(通常是Hammer中64单位)。这样,从玩家的角度看反射球就会最准确地反映世界。
 +
{{tip:zh-cn|有一个方法是在地面上到处复制粘贴<code>env_cubemap</code>实体,使用Hammer的'''实体报告'''功能选择所有<code>env_cubemap</code>实体,然后用'''变换'''工具{{key|Ctrl+M}}将它们向上移动64单位。}}
 +
* 如果反射球是给静态固体表面的反射用的,<code>env_cubemap</code>实体应该与所有固体表面保持一定距离(例如Hammer中16单位)。
 +
* 视觉上有对比的区域需要不同的反射球。例如一个亮黄色灯光的走廊挨着一个暗蓝色灯光的房间,那么它们就需要不同的反射球。没有两个<code>env_cubemap</code>实体的话,其中一个区域的固体、实体上的反射和镜面高光看起来会不正常。
 +
* 地点的改变,如房间到房间、房间到外面、有大量视觉变化的地点改变,需要在连接点两边等距离地各放一个<code>env_cubemap</code>实体。例如,房间两边离门洞各16单位。这样,反射球才能平滑地在地点之间过渡,避免反射球把外界反映到房间里面,反之亦然。
  
== 键值 ==
+
== 制作反射球 ==
 +
关于通用和各游戏专用的反射球制作,见[[Cubemaps:zh-cn|反射球]]页面。
  
{{KV:zh-cn|Cubemap 大小|choices|cubemap的分辨率. 注意:分辨率在实际游戏中会是你选择的分辨率的六倍!}}
+
== 参见 ==
:* 默认 (一般是 32x32, 取决于你把它用于什么游戏)
+
{{ent:zh-cn|weapon_cubemap}}
:* 1x1
 
:* 2x2
 
:* 4x4
 
:* 8x8
 
:* 16x16
 
:* 32x32
 
:* 64x64
 
:* 128x128
 
:* 256x256
 
{{KV:zh-cn|固体面|sidelist|可选的重设固体面, 强制他们使用这个面而不是最近的面作为cubemap产生的位置.<br/> 要选择面, 按下"Pick" 键 然后在3D视图中选中要产生cubemap的面. 按住 {{key|Ctrl}} 以把这个面在打开和关闭之间切换.}}
 

Latest revision as of 08:21, 21 May 2020

English Deutsch Français Русский 简体中文 한국어 
一个反射球的例子,包含了一个静态模型(白车)、一个图标和一些印花。注意物理模型(绿车)不会出现在反射球中,因为它不是静态的。
Env cubemap.png
env_cubemap是一个内部点实体,可用于所有Source游戏。 当执行buildcubemaps控制台命令时,该实体指定反射球相机拍摄的位置。有$envmap材质会使用离它最近的反射球作为反射影像。
注意:
这是一个内部实体。 当地图由VBSP编译时,它将被处理然后被删除:当地图运行时它不存在

键值

反射品质的对比。1×1完全不会反射,故略。
反射球大小(cubemapsize) <选项>
反射球的分辨率。注意:分辨率在实际游戏中会是你选择的分辨率的六倍,因此高的分辨率会带来非常大的文件!
  • 0: 默认(一般是32x32,取决于游戏)
  • 1: 1x1
  • 2: 2x2
  • 3: 4x4
  • 4: 8x8
  • 5: 16x16
  • 6: 32x32
  • 7: 64x64
  • 8: 128x128
  • 9: 256x256
  • 10: 512x512 ¹ !FGD
  • 11: 1024x1024 ¹ !FGD
  • 12: 2048x2048 ¹ !FGD

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

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

高分辨率的反射球

4k.jpg

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

注意:
制作反射球要求你的屏幕各方向分辨率至少是反射球的4倍。如果你的屏幕不够大,制作的时候请使用动态超分辨率(DSR)。
注意:
高分辨率的反射球可能会大大增加地图的文件体积。因此,如果你考虑文件体积、多人地图下载时间的话,应将之偶尔用于镜子、大理石表面之类的纹理。

放置

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

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

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

制作反射球

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

参见

weapon_cubemap