Difference between revisions of "Displacement:zh-cn"

From Valve Developer Community
Jump to: navigation, search
(Wording and formatting cleanup; some sync to English version)
(More cleanup & sync from English version)
 
Line 1: Line 1:
{{otherlang2
+
{{lang|Displacement|title=置换表层/地形}}
|title=置换表层/地形
 
|en=Displacement
 
|ru=Displacement:ru
 
}}
 
  
 
[[Image:hammer_displacements1.jpg|thumb|right|一个简单的置换表层。]]
 
[[Image:hammer_displacements1.jpg|thumb|right|一个简单的置换表层。]]
  
 
'''置换表层'''是被转化成一系列由网格构成的多边形[[brush|固体]]表面,能够被自由变形和雕刻成多种形状。置换表层常被用来创造各种地形:山脉、峡谷、沟道、斜坡等等,又称'''置换地形'''。
 
'''置换表层'''是被转化成一系列由网格构成的多边形[[brush|固体]]表面,能够被自由变形和雕刻成多种形状。置换表层常被用来创造各种地形:山脉、峡谷、沟道、斜坡等等,又称'''置换地形'''。
 +
 +
{{bug|4阶的置换表层与物理对象接触可能导致程序崩溃(除了{{csgo}})。而且它们可能偶尔导致物理对象从棱上穿过去,该现象可以在{{csgo}}官方地图de_dust2中观察到。}}
 +
{{bug|在{{insurgency}}和{{doi}}中,应确保「置换表层批量渲染(Batch displacement rendering)」没有选中,否则操作置换表层可能导致Hammer莫名地崩溃。}}
 +
{{todo:zh-cn|检验其他与CSGO相似分支的游戏(如{{portal2}})是否免于程序崩溃的bug。}}
  
 
== 优点 ==
 
== 优点 ==
Line 21: Line 21:
 
* 必须是静态的,无法附属于任何实体。无法把置换表层设为[[Brush entity|固体实体]]。
 
* 必须是静态的,无法附属于任何实体。无法把置换表层设为[[Brush entity|固体实体]]。
 
* 无法封住地图中的[[leak|裂缝]]。
 
* 无法封住地图中的[[leak|裂缝]]。
* 在起源2013中,一张地图的置换表层数量上限为2048个。[[Insurgency]]的上限为4096个。[[Counter-Strike:_Global_Offensive:zh-cn|CS:GO]]的上限为32768个。
+
* 在起源2013中,一张地图的置换表层数量上限为2048个。{{insurgency}}的上限为4096个。{{csgo}}的上限为32768个。{{GMOD}}的上限为5500个。
 
* 比较大的置换表层无法使用很小的lightmap。
 
* 比较大的置换表层无法使用很小的lightmap。
 
* 通常的编译器无法压缩4阶的置换表层。
 
* 通常的编译器无法压缩4阶的置换表层。
Line 40: Line 40:
 
[[Image:hammer_displacements3.jpg|frame|left|这里的固体侧面(灰色部分)将不会被渲染。]]{{clr}}
 
[[Image:hammer_displacements3.jpg|frame|left|这里的固体侧面(灰色部分)将不会被渲染。]]{{clr}}
  
== 基本的置换表层建立 ==
+
== 基本的置换表层创建 ==
  
 
[[Image:hammer_displacements4.jpg|frame|right|具有不同密度等级的置换表层。]]
 
[[Image:hammer_displacements4.jpg|frame|right|具有不同密度等级的置换表层。]]
Line 49: Line 49:
 
# 点击纹理应用工具(''Texture Application Tool'')打开'''Face Edit'''对话框,选择 [[Hammer_Face_Edit_Disps|Displacement]]标签页。
 
# 点击纹理应用工具(''Texture Application Tool'')打开'''Face Edit'''对话框,选择 [[Hammer_Face_Edit_Disps|Displacement]]标签页。
 
# 在3D视角,点击笔刷表面以选择面。使用CTRL+单击将面加入或移出选择范围。
 
# 在3D视角,点击笔刷表面以选择面。使用CTRL+单击将面加入或移出选择范围。
# 在Displacement标签页中点击[[Hammer_Face_Edit_Disps#Paint_Geometry|Create]]。输入介于2-4之间的值选定置换表层的密度,点击 '''OK'''。
+
# 在Displacement标签页中点击[[Hammer_Face_Edit_Disps#Paint_Geometry|Create]]。输入一个2到4之间的值,选定置换表层的密度,点击 '''OK'''。{{warning:zh-cn|4阶的置换表层可能造成错误,通常不推荐使用。}}{{note:zh-cn|你可以在「属性」中更改置换表层的密度。}}
 
# 在'''Displacement'''标签页中选择'''Paint Geometry'''工具。'''[[Hammer_Face_Edit_Disps#Paint_Geometry|Paint Geometry]]'''将会打开。
 
# 在'''Displacement'''标签页中选择'''Paint Geometry'''工具。'''[[Hammer_Face_Edit_Disps#Paint_Geometry|Paint Geometry]]'''将会打开。
 
# 在3D视角, 左键单击一个表面以提升其海拔高度,右键降低。在'''Paint Geometry'''面板中使用'''Radius'''滑动条控制绘制范围尺寸。
 
# 在3D视角, 左键单击一个表面以提升其海拔高度,右键降低。在'''Paint Geometry'''面板中使用'''Radius'''滑动条控制绘制范围尺寸。
Line 85: Line 85:
  
 
如果两个面没有共享同一「'''高度标识'''('''Elev''')」属性,表面也不能被缝合(在'''Displacement'''标签页下的'''Power'''和'''Scale'''之间)。
 
如果两个面没有共享同一「'''高度标识'''('''Elev''')」属性,表面也不能被缝合(在'''Displacement'''标签页下的'''Power'''和'''Scale'''之间)。
 +
 +
== 细分置换表层 ==
 +
 +
{{todo:zh-cn|从英文版中补充。}}
  
 
== 其他修改置换表层的方法 ==
 
== 其他修改置换表层的方法 ==
  
除了置换表层绘制工具外,一些标准的笔刷操纵工具也能工作于置换表层。
+
除了置换表层绘制工具外,一些标准的固体操作工具也能用于置换表层。
  
 
=== 变换 ===
 
=== 变换 ===
Line 126: Line 130:
 
有时候因为各种原因需要在置换表层上挖洞或沟,参见[[Creating Holes in Displacements|在置换表层上挖洞]]获取更多如何在置换表层几何体上挖洞的信息。
 
有时候因为各种原因需要在置换表层上挖洞或沟,参见[[Creating Holes in Displacements|在置换表层上挖洞]]获取更多如何在置换表层几何体上挖洞的信息。
  
=== 混合的置换表层材质(Alpha通道绘制) ===
+
=== 混合的置换表层材质(阿尔法通道绘制) ===
  
[[Image:hammer_displacements18.jpg|thumb|right|280px|绿色盒子是绘制alpha工具的绘制笔刷中心。]]
+
[[Image:hammer_displacements18.jpg|thumb|right|280px|绿色盒子是绘制阿尔法工具的绘制笔刷中心。]]
'''绘制Alpha'''('''Paint Alpha''')工具允许你在置换表层通过绘制alpha通道混合两种不同的纹理。Alpha通道包含了两种纹理在表面上所分配的可见程度。这使得能创造纹理间的过渡效果,例如草地和尘土、沙子和石子,等等。要使用Alpha通道材质混合,必须使用为实现此目的而特定的混合材质,只有这些材质能被用于混合。如果使用一种标准材质,'''绘制Alpha'''工具将没有可视效果。
+
'''绘制阿尔法'''('''Paint Alpha''')工具允许你在置换表层通过绘制阿尔法通道混合两种不同的纹理。阿尔法通道包含了两种纹理在表面上所分配的可见程度。这使得能创造纹理间的过渡效果,例如草地和尘土、沙子和石子,等等。要使用阿尔法通道材质混合,必须使用为实现此目的而特定的混合材质,只有这些材质能被用于混合。如果使用一种标准材质,'''绘制阿尔法'''工具将没有可视效果。
  
要在置换表层添加添加混合材质并绘制Alpha通道数据以混合纹理:
+
要在置换表层添加添加混合材质并绘制阿尔法通道数据以混合纹理:
  
 
# 选择'''Texture Application Tool'''打开[[Hammer_Face_Edit_Dialog|Face Edit]]对话框。
 
# 选择'''Texture Application Tool'''打开[[Hammer_Face_Edit_Dialog|Face Edit]]对话框。
Line 140: Line 144:
 
# 在'''Face Edit'''对话框中点击'''Apply'''按钮将材质应用到选择的置换表层。
 
# 在'''Face Edit'''对话框中点击'''Apply'''按钮将材质应用到选择的置换表层。
 
# 在'''Face Edit'''对话框中点击[[Hammer_Face_Edit_Disps|Displacement]]标签页。
 
# 在'''Face Edit'''对话框中点击[[Hammer_Face_Edit_Disps|Displacement]]标签页。
# 在'''Displacement'''标签页中点击Paint Alpha按钮打开绘制Alpha([[Hammer_Face_Edit_Disps#Paint_Alpha|Paint Alpha]])工具.
+
# 在'''Displacement'''标签页中点击Paint Alpha按钮打开绘制阿尔法([[Hammer_Face_Edit_Disps#Paint_Alpha|Paint Alpha]])工具.
# 在Value滑动条旁边的框中输入100。确认'''Effect'''下的'''Raise/Lower'''被选中。数值越小alpha通道数据改变越慢,越大则越快。
+
# 在Value滑动条旁边的框中输入一个30到100之间的值。确保'''Effect'''下的'''Raise/Lower'''被选中。数值越小阿尔法通道数据改变越慢,越大则越快。
# 在'''3D视角'''中左键点击某个置换表层的顶点以添加alpha通道数据。右键点击移除。
+
# 在'''3D视角'''中左键点击某个置换表层的顶点以添加阿尔法通道数据。右键点击移除。
  
参见[[Hammer_Face_Edit_Disps#Paint_Alpha|Paint Alpha]]获取更多有关alpha绘制工具的信息。{{clr}}
+
参见[[Hammer_Face_Edit_Disps#Paint_Alpha|Paint Alpha]]获取更多有关阿尔法绘制工具的信息。{{clr}}
  
 
== 快捷键 ==
 
== 快捷键 ==

Latest revision as of 14:56, 5 September 2019

English Русский 
一个简单的置换表层。

置换表层是被转化成一系列由网格构成的多边形固体表面,能够被自由变形和雕刻成多种形状。置换表层常被用来创造各种地形:山脉、峡谷、沟道、斜坡等等,又称置换地形

Bug: 4阶的置换表层与物理对象接触可能导致程序崩溃(除了<Counter-Strike: Global Offensive>)。而且它们可能偶尔导致物理对象从棱上穿过去,该现象可以在<Counter-Strike: Global Offensive>官方地图de_dust2中观察到。
Bug: <Insurgency><Day of Infamy>中,应确保「置换表层批量渲染(Batch displacement rendering)」没有选中,否则操作置换表层可能导致Hammer莫名地崩溃。

去做: 检验其他与CSGO相似分支的游戏(如[Portal 2])是否免于程序崩溃的bug。

优点

  • 它们是批量渲染的,使得其很「廉价」(运行时能极快处理):每个多边形表面实际上要比标准固体廉价许多!
  • 它们可以通过使用几何体绘制工具创造出多变的形状,完全超越普通固体所能创造的。
  • 每个顶点都能赋予alpha通道值,这样可以在置换表层上混合两种纹理。可以创造出诸如沙石混合的效果来。
  • 能自动附着上细节道具(细化地图表现的实体,例如草丛)。

局限

  • 必须是建立在四边形之上的。
  • 必须是静态的,无法附属于任何实体。无法把置换表层设为固体实体
  • 无法封住地图中的裂缝
  • 在起源2013中,一张地图的置换表层数量上限为2048个。<Insurgency>的上限为4096个。<Counter-Strike: Global Offensive>的上限为32768个。<Garry's Mod>的上限为5500个。
  • 比较大的置换表层无法使用很小的lightmap。
  • 通常的编译器无法压缩4阶的置换表层。

其他特征

  • 置换表层有三个等级的分辨率,但是多边形的数量最终还是取决于置换表层的尺寸。需要更精细的表面时请进行剪切(Ctrl+X)。
  • 不可见的背面不会阻挡光线。
  • 一个固体所能具有的置换表层数量等于它的面数(固体本身不会被编译)。

构造

置换表层是通过使用固体笔刷的基本面来创建的。一旦创建了置换表层的面,使用了这个基本面的固体表面便不会被编译器编译。而且,如果一个固体包含了任何置换表层面,所有其他未被置换的表面也不会被编译器编译。换句话说,一旦你将某个固体转化成了包含置换表层的固体,它就不再是一个固体物件,并且在运行地图时会被移除。

以下图片描述了这个特征::

置换表层没有添加时候的基本面。
这里的固体侧面(灰色部分)将不会被渲染。

基本的置换表层创建

具有不同密度等级的置换表层。

以下是如何创建和绘制置换表层表面:

  1. 使用固体工具绘制一个固体作为创建置换表层的基础。
  2. 点击纹理应用工具(Texture Application Tool)打开Face Edit对话框,选择 Displacement标签页。
  3. 在3D视角,点击笔刷表面以选择面。使用CTRL+单击将面加入或移出选择范围。
  4. 在Displacement标签页中点击Create。输入一个2到4之间的值,选定置换表层的密度,点击 OK
    Warning.png 警告: 4阶的置换表层可能造成错误,通常不推荐使用。
    注意:
    你可以在「属性」中更改置换表层的密度。
  5. Displacement标签页中选择Paint Geometry工具。Paint Geometry将会打开。
  6. 在3D视角, 左键单击一个表面以提升其海拔高度,右键降低。在Paint Geometry面板中使用Radius滑动条控制绘制范围尺寸。
参见绘制几何体获取更多有关置换表层的信息。

置换表层选项

固体能拥有多个具有置换表层的表面。

Hammer displacementmaskicon.jpg  使用置换表层遮罩Displacement Mask)按钮(在地图操作工具栏中)开关显示固体中非置换表层的面。

你可以在每个固体中绘制多于一个的置换表层面,如左图所示。只要一个面拥有四条棱,你便可以在上面创建一个置换表层面。

参见Face Edit, Displacements了解你所有能在置换表层面上绘制的几何形状的描述。

缝合置换表层

缝合Sew)按钮(在Displacement标签页中)可以被使用来连接两个或更多选择的置换表层面的边缘。你可以在以下情况使用缝合功能:

  • 任意两个置换表层的基本面享有一条端点重合的棱(例1)。
  • 一个置换表层和非置换表层的基本面享有一条端点重合的棱(例3)。
  • 一个置换表层A和另一置换表层B享有一条棱,当一条棱正好是另一条棱长的一半。(称为T型接合)(例4)。

你可以缝合具有不同分辨率设置的置换表层——高分辨率的置换表层的顶点将会适应低分辨率(例2)。

以下是缝合能被使用的例子:

1.相邻两个置换表层的基本面共享一条边。
2.具有不同分辨率的置换表层。

3.置换表层的基本面与固体笔刷共享一条边。
4.两个置换表层共享的棱具有一个恰好的中点。

如果置换表层的基本面没有共享一条棱表面将不能被缝合。

置换表层的基本面没有共享一条棱将不能被连接。

如果两个面没有共享同一「高度标识Elev)」属性,表面也不能被缝合(在Displacement标签页下的PowerScale之间)。

细分置换表层

去做: 从英文版中补充。

其他修改置换表层的方法

除了置换表层绘制工具外,一些标准的固体操作工具也能用于置换表层。

变换

Hammer select.png  置换表层能被自由移动、缩放、旋转、修剪(使用选择工具),如同标准的固体。对基本面的变换对置换表层同样有效。

切割

Hammer ClippingTool.png  切割工具(Clip Tool)也能用来切割置换表层。可以用来剔除不需要的置换表层部分,或将一个表面一分为二而不改变其形状。

Note:切割操作必须留下一个四边形才能成为合法的置换表层。

下面例子展示了切割工具如何修剪一个置换表层:

切割操作之前的置换表层。
在2D视图中使用切割工具画线后的预览结果。
切割后的结果。

顶点编辑(技巧)

Hammer VertexTool.png  顶点工具Vertex Tool)同样可以用来修改置换表层。顶点编辑能有效将置换表层的角与棱结合(参见缝合),或者用来提高整个地形的海拔而不用通过在置换表层中手动绘制山脉或提升表面。

当使用顶点编辑工具编辑置换表层时有一些重要的限制:

  • 顶点编辑只对基本面有效,而不是置换表层本身。
  • 不允许删除或添加顶点,这样会破坏附着于基本面上的置换表层。
  • 顶点编辑结束后必须是平坦的,构造非法表面会破坏附着的置换表层。

下面的例子展示了顶点编辑工具如何被使用来提高置换表层的海拔:

一组四个置换表层,被选中进行顶点编辑。
进入顶点编辑模式,显示了基本笔刷上的顶点。

选择一系列顶点一起提升高度。
顶点编辑后的状态。

在置换表层上挖洞

有时候因为各种原因需要在置换表层上挖洞或沟,参见在置换表层上挖洞获取更多如何在置换表层几何体上挖洞的信息。

混合的置换表层材质(阿尔法通道绘制)

绿色盒子是绘制阿尔法工具的绘制笔刷中心。

绘制阿尔法Paint Alpha)工具允许你在置换表层通过绘制阿尔法通道混合两种不同的纹理。阿尔法通道包含了两种纹理在表面上所分配的可见程度。这使得能创造纹理间的过渡效果,例如草地和尘土、沙子和石子,等等。要使用阿尔法通道材质混合,必须使用为实现此目的而特定的混合材质,只有这些材质能被用于混合。如果使用一种标准材质,绘制阿尔法工具将没有可视效果。

要在置换表层添加添加混合材质并绘制阿尔法通道数据以混合纹理:

  1. 选择Texture Application Tool打开Face Edit对话框。
  2. 3D视角中左键单击你想要混合材质的置换表层。
  3. Face Edit对话框的Material标签页下点击Browse按钮。
  4. Texture Browser出现时, 在底部的过滤器filter)中输入 blend
  5. 双击以选择某一个混合材质并关闭Texture Browser
  6. Face Edit对话框中点击Apply按钮将材质应用到选择的置换表层。
  7. Face Edit对话框中点击Displacement标签页。
  8. Displacement标签页中点击Paint Alpha按钮打开绘制阿尔法(Paint Alpha)工具.
  9. 在Value滑动条旁边的框中输入一个30到100之间的值。确保Effect下的Raise/Lower被选中。数值越小阿尔法通道数据改变越慢,越大则越快。
  10. 3D视角中左键点击某个置换表层的顶点以添加阿尔法通道数据。右键点击移除。
参见Paint Alpha获取更多有关阿尔法绘制工具的信息。

快捷键

Alt+鼠标右键
当几何体轴心设定为面法线时,将轴心设定为你所点击面的垂直方向。
Shift
忽略距离的设置,自由拖动截面的海拔高度。
鼠标右键
反转几何体绘制工具的方向。

另见

外部链接

Environment articles:
Skies and environment maps Skybox (2D)Skybox (3D)HDR SkiesSkybox with TerragenSkybox with Terragen - AdvancedList of skies
Terrain and displacement mapping DisplacementsHoles in displacementsDigital Elevation Models