Zh/Displacement: Difference between revisions
m (Fixed a typo: Nodo to Note) |
m (Multipage removal) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar}} | ||
[[File:hammer_displacements1.jpg|thumb|right|一个简单的表层位移。]] | [[File:hammer_displacements1.jpg|thumb|right|一个简单的表层位移。]] | ||
'''表层位移'''是被转化成一系列由网格构成的多边形 | '''表层位移'''是被转化成一系列由网格构成的多边形{{L|brush|固体}}表面,能够被自由变形和雕刻成多种形状。表层位移常被用来创造各种地形:山脉、峡谷、沟道、斜坡等等,又称'''地形位移'''。 | ||
{{Bug|4阶的表层位移与物理对象接触可能导致程序崩溃(除了{{csgo}})。而且它们可能偶尔导致物理对象从棱上穿过去,该现象可以在{{csgo}}官方地图de_dust2中观察到。}} | {{Bug|4阶的表层位移与物理对象接触可能导致程序崩溃(除了{{csgo}})。而且它们可能偶尔导致物理对象从棱上穿过去,该现象可以在{{csgo}}官方地图de_dust2中观察到。}} | ||
Line 9: | Line 10: | ||
== 优点 == | == 优点 == | ||
* 它们是批量渲染的,使得其很「 | * 它们是批量渲染的,使得其很「{{L|cheap|廉价}}」(运行时能极快处理):每个多边形表面实际上要比标准固体廉价许多! | ||
* 它们可以通过使用[[Hammer Face Edit Disps#Paint Geometry|几何体绘制工具]]创造出多变的形状,完全超越普通固体所能创造的。 | * 它们可以通过使用[[Hammer Face Edit Disps#Paint Geometry|几何体绘制工具]]创造出多变的形状,完全超越普通固体所能创造的。 | ||
* 每个顶点都能赋予alpha通道值,这样可以在置换表层上混合两种纹理。可以创造出诸如沙石混合的效果来。 | * 每个顶点都能赋予alpha通道值,这样可以在置换表层上混合两种纹理。可以创造出诸如沙石混合的效果来。 | ||
* 能自动附着上 | * 能自动附着上{{L|Detail Props|细节道具}}(细化地图表现的实体,例如草丛)。 | ||
== 局限 == | == 局限 == | ||
* 必须是建立在四边形之上的。 | * 必须是建立在四边形之上的。 | ||
* 必须是静态的,无法附属于任何实体。无法把置换表层设为 | * 必须是静态的,无法附属于任何实体。无法把置换表层设为{{L|Brush entity|固体实体}}。 | ||
* 无法封住地图中的 | * 无法封住地图中的{{L|leak|裂缝}}。 | ||
* 在起源2013中,一张地图的表层位移数量上限为2048个。{{insurgency}}的上限为4096个。{{csgo}}的上限为32768个。{{GMOD}}的上限为16384个。 | * 在起源2013中,一张地图的表层位移数量上限为2048个。{{insurgency}}的上限为4096个。{{csgo}}的上限为32768个。{{GMOD}}的上限为16384个。 | ||
* 比较大的表层位移无法使用很小的lightmap。 | * 比较大的表层位移无法使用很小的lightmap。 | ||
Line 40: | Line 41: | ||
以下是如何创建和绘制表层位移表面: | 以下是如何创建和绘制表层位移表面: | ||
# 使用 | # 使用{{L|Hammer Block Tool|固体工具}}绘制一个固体作为创建表层位移的基础。 | ||
# 点击纹理应用工具(''Texture Application Tool'')打开'''Face Edit'''对话框,选择 | # 点击纹理应用工具(''Texture Application Tool'')打开'''Face Edit'''对话框,选择 {{L|Hammer_Face_Edit_Disps|Displacement}}标签页。 | ||
# 在3D视角,点击笔刷表面以选择面。使用CTRL+单击将面加入或移出选择范围。 | # 在3D视角,点击笔刷表面以选择面。使用CTRL+单击将面加入或移出选择范围。 | ||
# 在Displacement标签页中点击[[Hammer_Face_Edit_Disps#Paint_Geometry|Create]]。输入一个2到4之间的值,选定表层位移的密度,点击 '''OK'''。{{warning|4阶的表层位移可能造成错误,通常不推荐使用。}}{{Note|你可以在「属性」中更改表层位移的密度。}} | # 在Displacement标签页中点击[[Hammer_Face_Edit_Disps#Paint_Geometry|Create]]。输入一个2到4之间的值,选定表层位移的密度,点击 '''OK'''。{{warning|4阶的表层位移可能造成错误,通常不推荐使用。}}{{Note|你可以在「属性」中更改表层位移的密度。}} | ||
Line 52: | Line 53: | ||
[[File:hammer_displacements5.jpg|thumb|300px|left|固体能拥有多个具有表层位移的表面。]] | [[File:hammer_displacements5.jpg|thumb|300px|left|固体能拥有多个具有表层位移的表面。]] | ||
[[File:hammer_displacementmaskicon.jpg]] | [[File:hammer_displacementmaskicon.jpg]] | ||
使用'''表层位移遮罩'''(''Displacement Mask'')按钮(在 | 使用'''表层位移遮罩'''(''Displacement Mask'')按钮(在{{L|Hammer_Map_Operations_Toolbar|地图操作}}工具栏中)开关显示固体中非表层位移的面。 | ||
你可以在每个固体中绘制多于一个的表层位移面,如左图所示。只要一个面拥有四条棱,你便可以在上面创建一个表层位移面。 | 你可以在每个固体中绘制多于一个的表层位移面,如左图所示。只要一个面拥有四条棱,你便可以在上面创建一个表层位移面。 | ||
参见 | 参见{{L|Hammer_Face_Edit_Disps|Face Edit, Displacements}}了解你所有能在表层位移面上绘制的几何形状的描述。{{clr}} | ||
== 缝合表层位移 == | == 缝合表层位移 == | ||
Line 87: | Line 88: | ||
=== 变换 === | === 变换 === | ||
[[File:Hammer_select.png]] | [[File:Hammer_select.png]] | ||
表层位移能被自由移动、缩放、旋转、修剪(使用 | 表层位移能被自由移动、缩放、旋转、修剪(使用{{L|Hammer Selection Tool|选择工具}}),如同标准的固体。对基本面的变换对表层位移同样有效。 | ||
=== 切割 === | === 切割 === | ||
[[File:Hammer_ClippingTool.png]] | [[File:Hammer_ClippingTool.png]] | ||
切割工具( | 切割工具({{L|Hammer Clipping Tool|Clip Tool}})也能用来切割置换表层。可以用来剔除不需要的表层位移部分,或将一个表面一分为二而不改变其形状。 | ||
{{note|切割操作'''必须'''留下一个四边形才能成为合法的表层位移。}} | {{note|切割操作'''必须'''留下一个四边形才能成为合法的表层位移。}} | ||
Line 103: | Line 104: | ||
=== 顶点编辑(技巧) === | === 顶点编辑(技巧) === | ||
[[File:Hammer_VertexTool.png]] | [[File:Hammer_VertexTool.png]] | ||
'''顶点工具'''( | '''顶点工具'''({{L|Hammer Vertex Tool|Vertex Tool}})同样可以用来修改表层位移。顶点编辑能有效将表层位移的角与棱结合(参见缝合),或者用来提高整个地形的最大高度而不用通过在置换表层中手动绘制山脉或提升表面。 | ||
当使用顶点编辑工具编辑表层位移时有一些重要的限制: | 当使用顶点编辑工具编辑表层位移时有一些重要的限制: | ||
Line 118: | Line 119: | ||
=== 在表层位移上挖洞 === | === 在表层位移上挖洞 === | ||
有时候因为各种原因需要在表层位移上挖洞或沟,参见 | 有时候因为各种原因需要在表层位移上挖洞或沟,参见{{L|Creating Holes in Displacements|在表层位移上挖洞}}获取更多如何在置换表层几何体上挖洞的信息。 | ||
=== 混合的表层位移材质(阿尔法通道绘制) === | === 混合的表层位移材质(阿尔法通道绘制) === | ||
Line 126: | Line 127: | ||
要在表层位移添加添加混合材质并绘制阿尔法通道数据以混合纹理: | 要在表层位移添加添加混合材质并绘制阿尔法通道数据以混合纹理: | ||
# 选择'''Texture Application Tool'''打开 | # 选择'''Texture Application Tool'''打开{{L|Hammer_Face_Edit_Dialog|Face Edit}}对话框。 | ||
# 在'''3D视角'''中左键单击你想要混合材质的表层位移。 | # 在'''3D视角'''中左键单击你想要混合材质的表层位移。 | ||
# 在'''Face Edit'''对话框的'''Material'''标签页下点击'''Browse'''按钮。 | # 在'''Face Edit'''对话框的'''Material'''标签页下点击'''Browse'''按钮。 | ||
# 当 | # 当{{L|Hammer Texture Browser|Texture Browser}}出现时, 在底部的'''过滤器'''('''filter''')中输入 <code>blend</code>。 | ||
# 双击以选择某一个混合材质并关闭'''Texture Browser'''。 | # 双击以选择某一个混合材质并关闭'''Texture Browser'''。 | ||
# 在'''Face Edit'''对话框中点击'''Apply'''按钮将材质应用到选择的表层位移。 | # 在'''Face Edit'''对话框中点击'''Apply'''按钮将材质应用到选择的表层位移。 | ||
# 在'''Face Edit'''对话框中点击 | # 在'''Face Edit'''对话框中点击{{L|Hammer_Face_Edit_Disps|Displacement}}标签页。 | ||
# 在'''Displacement'''标签页中点击Paint Alpha按钮打开绘制阿尔法([[Hammer_Face_Edit_Disps#Paint_Alpha|Paint Alpha]])工具. | # 在'''Displacement'''标签页中点击Paint Alpha按钮打开绘制阿尔法([[Hammer_Face_Edit_Disps#Paint_Alpha|Paint Alpha]])工具. | ||
# 在Value滑动条旁边的框中输入一个30到100之间的值。确保'''Effect'''下的'''Raise/Lower'''被选中。数值越小阿尔法通道数据改变越慢,越大则越快。 | # 在Value滑动条旁边的框中输入一个30到100之间的值。确保'''Effect'''下的'''Raise/Lower'''被选中。数值越小阿尔法通道数据改变越慢,越大则越快。 | ||
Line 148: | Line 149: | ||
== 另见 == | == 另见 == | ||
* | * {{L|Hammer_Face_Edit_Disps|Face Editing, Displacements}} | ||
* | * {{L|Creating Holes in Displacements}} | ||
== 外部链接 == | == 外部链接 == | ||
Line 157: | Line 158: | ||
* [http://halflifestorm.com/?page_id=225 Smooth Corners] - 用地形位移构造光滑的圆角。 | * [http://halflifestorm.com/?page_id=225 Smooth Corners] - 用地形位移构造光滑的圆角。 | ||
* [http://halflifestorm.com/?page_id=141 Destroyed Walls] - 用地形位移构造毁坏的墙。 | * [http://halflifestorm.com/?page_id=141 Destroyed Walls] - 用地形位移构造毁坏的墙。 | ||
* [http://sdknuts.net/?sdk=tutdisp Displacement series (sdknuts)] 柱子、拐角、立方体等基本要素。 | * [http://sdknuts.net/?sdk=tutdisp Displacement series (sdknuts)] 柱子、拐角、立方体等基本要素。<!-- For editors, please use the other "edit" button instead. --> | ||
{{envart}} | |||
{{ACategory|Glossary}} | |||
{{ACategory|Displacements}} |
Latest revision as of 17:09, 12 July 2024
表层位移是被转化成一系列由网格构成的多边形固体 表面,能够被自由变形和雕刻成多种形状。表层位移常被用来创造各种地形:山脉、峡谷、沟道、斜坡等等,又称地形位移。






优点
- 它们是批量渲染的,使得其很「廉价 」(运行时能极快处理):每个多边形表面实际上要比标准固体廉价许多!
- 它们可以通过使用几何体绘制工具创造出多变的形状,完全超越普通固体所能创造的。
- 每个顶点都能赋予alpha通道值,这样可以在置换表层上混合两种纹理。可以创造出诸如沙石混合的效果来。
- 能自动附着上细节道具 (细化地图表现的实体,例如草丛)。
局限
- 必须是建立在四边形之上的。
- 必须是静态的,无法附属于任何实体。无法把置换表层设为固体实体 。
- 无法封住地图中的裂缝 。
- 在起源2013中,一张地图的表层位移数量上限为2048个。
的上限为4096个。
的上限为32768个。
的上限为16384个。
- 比较大的表层位移无法使用很小的lightmap。
- 通常的编译器无法压缩4阶的表层位移。
其他特征
- 表层位移有三个等级的分辨率,但是多边形的数量最终还是取决于表层位移的尺寸。需要更精细的表面时请进行剪切(Ctrl+X)。
- 不可见的背面不会阻挡光线。
- 一个固体所能具有的表层位移数量等于它的面数(固体本身不会被编译)。
构造
表层位移是通过使用固体笔刷的基本面来创建的。一旦创建了表层位移的面,使用了这个基本面的固体表面便不会被编译器编译。而且,如果一个固体包含了任何表层位移面,所有其他未被置换的表面也不会被编译器编译。换句话说,一旦你将某个固体转化成了包含表层位移的固体,它就不再是一个固体物件,并且在运行地图时会被移除。
以下图片描述了这个特征::
基本的表层位移创建
以下是如何创建和绘制表层位移表面:
- 使用固体工具 绘制一个固体作为创建表层位移的基础。
- 点击纹理应用工具(Texture Application Tool)打开Face Edit对话框,选择 Displacement 标签页。
- 在3D视角,点击笔刷表面以选择面。使用CTRL+单击将面加入或移出选择范围。
- 在Displacement标签页中点击Create。输入一个2到4之间的值,选定表层位移的密度,点击 OK。
警告:4阶的表层位移可能造成错误,通常不推荐使用。
注意:你可以在「属性」中更改表层位移的密度。
- 在Displacement标签页中选择Paint Geometry工具。Paint Geometry将会打开。
- 在3D视角, 左键单击一个表面以提升其顶点高度,右键降低。在Paint Geometry面板中使用Radius滑动条控制绘制范围尺寸。
参见绘制几何体获取更多有关表层位移的信息。
表层位移选项
使用表层位移遮罩(Displacement Mask)按钮(在地图操作 工具栏中)开关显示固体中非表层位移的面。
你可以在每个固体中绘制多于一个的表层位移面,如左图所示。只要一个面拥有四条棱,你便可以在上面创建一个表层位移面。
参见Face Edit, Displacements 了解你所有能在表层位移面上绘制的几何形状的描述。
缝合表层位移
缝合(Sew)按钮(在Displacement标签页中)可以被使用来连接两个或更多选择的表层位移面的边缘。你可以在以下情况使用缝合功能:
- 任意两个表层位移的基本面享有一条端点重合的棱(例1)。
- 一个表层位移和非位移表层的基本面享有一条端点重合的棱(例3)。
- 一个表层位移A和另一表层位移B享有一条棱,当一条棱正好是另一条棱长的一半。(称为T型接合)(例4)。
你可以缝合具有不同分辨率设置的表层位移——高分辨率的表层位移的顶点将会适应低分辨率(例2)。
以下是缝合能被使用的例子:
如果表层位移的基本面没有共享一条棱表面将不能被缝合。
如果两个面没有共享同一「高度标识(Elev)」属性,表面也不能被缝合(在Displacement标签页下的Power和Scale之间)。
细分表层位移
其他修改表层位移的方法
除了表层位移绘制工具外,一些标准的固体操作工具也能用于表层位移。
变换
表层位移能被自由移动、缩放、旋转、修剪(使用选择工具 ),如同标准的固体。对基本面的变换对表层位移同样有效。
切割
切割工具(Clip Tool )也能用来切割置换表层。可以用来剔除不需要的表层位移部分,或将一个表面一分为二而不改变其形状。

下面例子展示了切割工具如何修剪一个表层位移:
顶点编辑(技巧)
顶点工具(Vertex Tool )同样可以用来修改表层位移。顶点编辑能有效将表层位移的角与棱结合(参见缝合),或者用来提高整个地形的最大高度而不用通过在置换表层中手动绘制山脉或提升表面。
当使用顶点编辑工具编辑表层位移时有一些重要的限制:
- 顶点编辑只对基本面有效,而不是置换表层本身。
- 不允许删除或添加顶点,这样会破坏附着于基本面上的表层位移。
- 顶点编辑结束后必须是平坦的,构造非法表面会破坏附着的表层位移。
下面的例子展示了顶点编辑工具如何被使用来提高表层位移的海拔:
在表层位移上挖洞
有时候因为各种原因需要在表层位移上挖洞或沟,参见在表层位移上挖洞 获取更多如何在置换表层几何体上挖洞的信息。
混合的表层位移材质(阿尔法通道绘制)
绘制阿尔法(Paint Alpha)工具允许你在置换表层通过绘制阿尔法通道混合两种不同的纹理。阿尔法通道包含了两种纹理在表面上所分配的可见程度。这使得能创造纹理间的过渡效果,例如草地和尘土、沙子和石子,等等。要使用阿尔法通道材质混合,必须使用为实现此目的而特定的混合材质,只有这些材质能被用于混合。如果使用一种标准材质,绘制阿尔法工具将没有可视效果。
要在表层位移添加添加混合材质并绘制阿尔法通道数据以混合纹理:
- 选择Texture Application Tool打开Face Edit 对话框。
- 在3D视角中左键单击你想要混合材质的表层位移。
- 在Face Edit对话框的Material标签页下点击Browse按钮。
- 当Texture Browser 出现时, 在底部的过滤器(filter)中输入
blend
。 - 双击以选择某一个混合材质并关闭Texture Browser。
- 在Face Edit对话框中点击Apply按钮将材质应用到选择的表层位移。
- 在Face Edit对话框中点击Displacement 标签页。
- 在Displacement标签页中点击Paint Alpha按钮打开绘制阿尔法(Paint Alpha)工具.
- 在Value滑动条旁边的框中输入一个30到100之间的值。确保Effect下的Raise/Lower被选中。数值越小阿尔法通道数据改变越慢,越大则越快。
- 在3D视角中左键点击某个置换表层的顶点以添加阿尔法通道数据。右键点击移除。
参见Paint Alpha获取更多有关阿尔法绘制工具的信息。
快捷键
- Alt+鼠标右键
- 当几何体轴心设定为面法线时,将轴心设定为你所点击面的垂直方向。
- Shift
- 忽略距离的设置,自由拖动截面的海拔高度。
- 鼠标右键
- 反转几何体绘制工具的方向。
另见
外部链接
- Tunnels - 使用地形位移挖隧道。
- Youme's guide to displacement cliffs
- Practical Cliffs (interlopers.net)
- Smooth Corners - 用地形位移构造光滑的圆角。
- Destroyed Walls - 用地形位移构造毁坏的墙。
- Displacement series (sdknuts) 柱子、拐角、立方体等基本要素。
环境相关的文章 | |
---|---|
天空和环境地图 | ![]() |
地形和置换表层制作 | 置换表层 • Creating Holes in Displacements|在置换表层中打孔 • 数字高程模型 • 使用 Worldmachine 创建自定义地形 |