Zh/Displacement: Difference between revisions
m (THE OWL moved page Displacement:zh-cn to Displacement/zh) |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{ | {{Language subpage}} | ||
[[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|检验其他与CSGO相似分支的游戏(如{{portal2}})是否免于程序崩溃的Bug。}} | ||
== 优点 == | == 优点 == | ||
* 它们是批量渲染的,使得其很「[[cheap|廉价]]」(运行时能极快处理):每个多边形表面实际上要比标准固体廉价许多! | * 它们是批量渲染的,使得其很「[[cheap|廉价]]」(运行时能极快处理):每个多边形表面实际上要比标准固体廉价许多! | ||
* 它们可以通过使用[[Hammer Face Edit Disps#Paint Geometry|几何体绘制工具]]创造出多变的形状,完全超越普通固体所能创造的。 | * 它们可以通过使用[[Hammer Face Edit Disps#Paint Geometry|几何体绘制工具]]创造出多变的形状,完全超越普通固体所能创造的。 | ||
Line 17: | Line 15: | ||
== 局限 == | == 局限 == | ||
* 必须是建立在四边形之上的。 | * 必须是建立在四边形之上的。 | ||
* 必须是静态的,无法附属于任何实体。无法把置换表层设为[[Brush entity|固体实体]]。 | * 必须是静态的,无法附属于任何实体。无法把置换表层设为[[Brush entity|固体实体]]。 | ||
Line 26: | Line 23: | ||
== 其他特征 == | == 其他特征 == | ||
* 表层位移有三个等级的分辨率,但是多边形的数量最终还是取决于表层位移的尺寸。需要更精细的表面时请进行剪切({{key|Ctrl+X}})。 | * 表层位移有三个等级的分辨率,但是多边形的数量最终还是取决于表层位移的尺寸。需要更精细的表面时请进行剪切({{key|Ctrl+X}})。 | ||
* 不可见的背面不会阻挡光线。 | * 不可见的背面不会阻挡光线。 | ||
Line 32: | Line 28: | ||
== 构造 == | == 构造 == | ||
表层位移是通过使用固体笔刷的''基本面''来创建的。一旦创建了表层位移的面,使用了这个基本面的固体表面便''不会被编译器编译''。而且,如果一个固体包含了''任何''表层位移面,所有其他未被置换的表面也不会被编译器编译。换句话说,一旦你将某个固体转化成了包含表层位移的固体,它就不再是一个固体物件,并且在运行地图时会被移除。 | 表层位移是通过使用固体笔刷的''基本面''来创建的。一旦创建了表层位移的面,使用了这个基本面的固体表面便''不会被编译器编译''。而且,如果一个固体包含了''任何''表层位移面,所有其他未被置换的表面也不会被编译器编译。换句话说,一旦你将某个固体转化成了包含表层位移的固体,它就不再是一个固体物件,并且在运行地图时会被移除。 | ||
Line 41: | Line 36: | ||
== 基本的表层位移创建 == | == 基本的表层位移创建 == | ||
[[Image:hammer_displacements4.jpg|frame|right|具有不同密度等级的表层位移。]] | [[Image:hammer_displacements4.jpg|frame|right|具有不同密度等级的表层位移。]] | ||
Line 49: | Line 43: | ||
# 点击纹理应用工具(''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'''。{{warning:zh-cn|4阶的表层位移可能造成错误,通常不推荐使用。}}{{ | # 在Displacement标签页中点击[[Hammer_Face_Edit_Disps#Paint_Geometry|Create]]。输入一个2到4之间的值,选定表层位移的密度,点击 '''OK'''。{{warning:zh-cn|4阶的表层位移可能造成错误,通常不推荐使用。}}{{Nodo|你可以在「属性」中更改表层位移的密度。}} | ||
# 在'''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 56: | Line 50: | ||
== 表层位移选项 == | == 表层位移选项 == | ||
[[Image:hammer_displacements5.jpg|thumb|300px|left|固体能拥有多个具有表层位移的表面。]] | [[Image:hammer_displacements5.jpg|thumb|300px|left|固体能拥有多个具有表层位移的表面。]] | ||
[[Image:hammer_displacementmaskicon.jpg]] | [[Image:hammer_displacementmaskicon.jpg]] | ||
Line 66: | Line 59: | ||
== 缝合表层位移 == | == 缝合表层位移 == | ||
'''缝合'''('''Sew''')按钮(在'''Displacement'''标签页中)可以被使用来连接两个或更多选择的表层位移面的边缘。你可以在以下情况使用缝合功能: | '''缝合'''('''Sew''')按钮(在'''Displacement'''标签页中)可以被使用来连接两个或更多选择的表层位移面的边缘。你可以在以下情况使用缝合功能: | ||
Line 88: | Line 80: | ||
== 细分表层位移 == | == 细分表层位移 == | ||
{{ | {{Todo|从英文版中补充。}} | ||
== 其他修改表层位移的方法 == | == 其他修改表层位移的方法 == | ||
除了表层位移绘制工具外,一些标准的固体操作工具也能用于表层位移。 | 除了表层位移绘制工具外,一些标准的固体操作工具也能用于表层位移。 | ||
Line 127: | Line 118: | ||
=== 在表层位移上挖洞 === | === 在表层位移上挖洞 === | ||
有时候因为各种原因需要在表层位移上挖洞或沟,参见[[Creating Holes in Displacements|在表层位移上挖洞]]获取更多如何在置换表层几何体上挖洞的信息。 | 有时候因为各种原因需要在表层位移上挖洞或沟,参见[[Creating Holes in Displacements|在表层位移上挖洞]]获取更多如何在置换表层几何体上挖洞的信息。 | ||
=== 混合的表层位移材质(阿尔法通道绘制) === | === 混合的表层位移材质(阿尔法通道绘制) === | ||
[[Image:hammer_displacements18.jpg|thumb|right|280px|绿色盒子是绘制阿尔法工具的绘制笔刷中心。]] | [[Image:hammer_displacements18.jpg|thumb|right|280px|绿色盒子是绘制阿尔法工具的绘制笔刷中心。]] | ||
'''绘制阿尔法'''('''Paint Alpha''')工具允许你在置换表层通过绘制阿尔法通道混合两种不同的纹理。阿尔法通道包含了两种纹理在表面上所分配的可见程度。这使得能创造纹理间的过渡效果,例如草地和尘土、沙子和石子,等等。要使用阿尔法通道材质混合,必须使用为实现此目的而特定的混合材质,只有这些材质能被用于混合。如果使用一种标准材质,'''绘制阿尔法'''工具将没有可视效果。 | '''绘制阿尔法'''('''Paint Alpha''')工具允许你在置换表层通过绘制阿尔法通道混合两种不同的纹理。阿尔法通道包含了两种纹理在表面上所分配的可见程度。这使得能创造纹理间的过渡效果,例如草地和尘土、沙子和石子,等等。要使用阿尔法通道材质混合,必须使用为实现此目的而特定的混合材质,只有这些材质能被用于混合。如果使用一种标准材质,'''绘制阿尔法'''工具将没有可视效果。 | ||
Line 151: | Line 140: | ||
== 快捷键 == | == 快捷键 == | ||
; Alt+鼠标右键 | ; Alt+鼠标右键 | ||
: 当几何体轴心设定为面法线时,将轴心设定为你所点击面的垂直方向。 | : 当几何体轴心设定为面法线时,将轴心设定为你所点击面的垂直方向。 | ||
Line 170: | Line 158: | ||
* [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)] 柱子、拐角、立方体等基本要素。 | ||
Revision as of 06:39, 17 February 2023
表层位移是被转化成一系列由网格构成的多边形固体表面,能够被自由变形和雕刻成多种形状。表层位移常被用来创造各种地形:山脉、峡谷、沟道、斜坡等等,又称地形位移。






优点
- 它们是批量渲染的,使得其很「廉价」(运行时能极快处理):每个多边形表面实际上要比标准固体廉价许多!
- 它们可以通过使用几何体绘制工具创造出多变的形状,完全超越普通固体所能创造的。
- 每个顶点都能赋予alpha通道值,这样可以在置换表层上混合两种纹理。可以创造出诸如沙石混合的效果来。
- 能自动附着上细节道具(细化地图表现的实体,例如草丛)。
局限
- 必须是建立在四边形之上的。
- 必须是静态的,无法附属于任何实体。无法把置换表层设为固体实体。
- 无法封住地图中的裂缝。
- 在起源2013中,一张地图的表层位移数量上限为2048个。
的上限为4096个。
的上限为32768个。
的上限为16384个。
- 比较大的表层位移无法使用很小的lightmap。
- 通常的编译器无法压缩4阶的表层位移。
其他特征
- 表层位移有三个等级的分辨率,但是多边形的数量最终还是取决于表层位移的尺寸。需要更精细的表面时请进行剪切(Ctrl+X)。
- 不可见的背面不会阻挡光线。
- 一个固体所能具有的表层位移数量等于它的面数(固体本身不会被编译)。
构造
表层位移是通过使用固体笔刷的基本面来创建的。一旦创建了表层位移的面,使用了这个基本面的固体表面便不会被编译器编译。而且,如果一个固体包含了任何表层位移面,所有其他未被置换的表面也不会被编译器编译。换句话说,一旦你将某个固体转化成了包含表层位移的固体,它就不再是一个固体物件,并且在运行地图时会被移除。
以下图片描述了这个特征::
基本的表层位移创建
以下是如何创建和绘制表层位移表面:
- 使用固体工具绘制一个固体作为创建表层位移的基础。
- 点击纹理应用工具(Texture Application Tool)打开Face Edit对话框,选择 Displacement标签页。
- 在3D视角,点击笔刷表面以选择面。使用CTRL+单击将面加入或移出选择范围。
- 在Displacement标签页中点击Create。输入一个2到4之间的值,选定表层位移的密度,点击 OK。Template:Warning:zh-cnTemplate:Nodo
- 在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) 柱子、拐角、立方体等基本要素。