Zh/Logic measure movement: Difference between revisions
< Zh
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
| Line 6: | Line 6: | ||
logic_measure_movement 的过程可以描述如下: | logic_measure_movement 的过程可以描述如下: | ||
# | # 获取'''源实体'''的位置。假设它是 <code>[100 225 0]</code>。 | ||
# | # 获取'''源参考实体'''的位置。假设它是 <code>[50 300 0]</code>。 | ||
# | # 将'''源参考实体'''的位置减去'''源实体'''的位置,成“相对位置”差。例如<code>[100 225 0]</code> - <code>[50 300 0]</code>,等于 <code>[50 -75 0]</code>。 | ||
# | # 获取'''目标参考实体'''的位置。假设它是 <code>[150 50 100]</code>。 | ||
# | # 将“相对差值”的位置加'''移动参考实体'''的位置。例如 <code>[50 -75 0]</code> + <code>[150 50 100]</code>,等于 <code>[200 -25 100]</code>。 | ||
# | # 将'''目标实体'''传送到“相对差值”与'''源实体'''位置的总和处,在这种情况下意味着实体被传送到 <code>[200 -25 100]</code>。 | ||
logic_measure_movement 非常灵活,可用于让一个实体模仿另一个房间中另一个实体的移动(例如,{{ent|point_camera}} 在 script_intro 中)。它也可以用作父子层级关系的替代方案,特别是因为它可以模拟物理对象上的父子关系,而物理对象不支持父子关系,通常使用 {{ent|phys_constraint}}。 | logic_measure_movement 非常灵活,可用于让一个实体模仿另一个房间中另一个实体的移动(例如,{{ent|point_camera}} 在 script_intro 中)。它也可以用作父子层级关系的替代方案,特别是因为它可以模拟物理对象上的父子关系,而物理对象不支持父子关系,通常使用 {{ent|phys_constraint}}。 | ||
| Line 20: | Line 20: | ||
== 键值 == | == 键值 == | ||
{{KV Targetname}} | {{KV Targetname}} | ||
{{KV|Entity to Measure|intn=MeasureTarget|target_destination| | {{KV|Entity to Measure|intn=MeasureTarget|target_destination|源实体,测量移动的实体。}} | ||
{{KV|Measure Reference|intn=MeasureReference|target_destination| | {{KV|Measure Reference|intn=MeasureReference|target_destination|源参考实体,要目标实体的移动距离将相对于此实体进行测量。}} | ||
{{KV|Entity to Move|intn=Target|target_destination| | {{KV|Entity to Move|intn=Target|target_destination|目标实体,让此实体模仿源实体的运动。}} | ||
{{KV|Movement Reference|intn=TargetReference|target_destination| | {{KV|Movement Reference|intn=TargetReference|target_destination|目标参考实体。}} | ||
{{KV|Movement scale|intn=TargetScale|float| | {{KV|Movement scale|intn=TargetScale|float|缩放比例,将目标实体移动时,除以移动距离。1 = 移动的距离不变,2 = 目标实体移动距离是测量距离的一半,0.5 = 目标实体移动距离是测量距离的两倍。}} | ||
{{KV|Measurement Type|intn=MeasureType|choices|测量内容。}} | |||
}} | |||
{{KV|Measurement Type|intn=MeasureType|choices| | |||
:* 0 : 位置 | :* 0 : 位置 | ||
:* 1 : | :* 1 : 眼睛位置(可以以此捕捉玩家眼球的角度) | ||
== 输入 == | == 输入 == | ||
Revision as of 21:05, 5 December 2025
| CLogicMeasureMovement |
logic_measure_movement是一个逻辑实体,可在所有的
起源 游戏中使用。 此实体测量一个实体相对于另一个实体的移动,然后将该移动应用于第三个实体。
logic_measure_movement 的过程可以描述如下:
- 获取源实体的位置。假设它是
[100 225 0]。 - 获取源参考实体的位置。假设它是
[50 300 0]。 - 将源参考实体的位置减去源实体的位置,成“相对位置”差。例如
[100 225 0]-[50 300 0],等于[50 -75 0]。 - 获取目标参考实体的位置。假设它是
[150 50 100]。 - 将“相对差值”的位置加移动参考实体的位置。例如
[50 -75 0]+[150 50 100],等于[200 -25 100]。 - 将目标实体传送到“相对差值”与源实体位置的总和处,在这种情况下意味着实体被传送到
[200 -25 100]。
logic_measure_movement 非常灵活,可用于让一个实体模仿另一个房间中另一个实体的移动(例如,point_camera 在 script_intro 中)。它也可以用作父子层级关系的替代方案,特别是因为它可以模拟物理对象上的父子关系,而物理对象不支持父子关系,通常使用 phys_constraint。
SetAbsOrigin。改用 Teleport 可以正确更新实体插值,并且可能(或可能不)解决上述描述的碰撞物理警告。键值
- Name (targetname) <target_source>[ Edit ]
- 这个名称是其他实体通过 输入/输出 或其他 关键值(如
parentname或target) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告 中。参见: 所有实体均可使用的 通用键值、输入与输出
- Entity to Measure (MeasureTarget) <target_destination>
- 源实体,测量移动的实体。
- Measure Reference (MeasureReference) <target_destination>
- 源参考实体,要目标实体的移动距离将相对于此实体进行测量。
- Entity to Move (Target) <target_destination>
- 目标实体,让此实体模仿源实体的运动。
- Movement Reference (TargetReference) <target_destination>
- 目标参考实体。
- Movement scale (TargetScale) <浮点型>
- Measurement Type (MeasureType) <choices>
- 测量内容。
- 0 : 位置
- 1 : 眼睛位置(可以以此捕捉玩家眼球的角度)
输入
- SetMeasureTarget <字符串>
- 设置要测量的实体,应测量其移动。
- SetMeasureReference <字符串>
- 设置测量参考实体。
Target<字符串>设置要移动的实体,该实体将被移动以模仿被测量的实体。
注意:此输入在代码中不存在,仅存在于 FGD 中。请使用 SetTarget 代替。
- SetTargetReference <字符串>
- 设置移动参考实体。
- SetTargetScale <浮点型>
- 设置用于除以测量到的移动的缩放比例。
- Enable
- 启用 logic_measure_movement。
- Disable
- 禁用 logic_measure_movement。