- 物理资源工具(PhAT)
- 概况
- 控制
- 打开PhAT
- 物理资源的创建
- 物理资源的修改
- 碰撞物体/体
- 约束
- 其他
概况
UnrealPhAT(物理资源工具)是虚幻引擎3.0中的集成工具,专门设计用于操作骨架物体的物理设置。它有一全套工具,可供程序员、动画绘制人员以及美工使用。
控制
- LMB——选择四肢/关节或者界面控件轴
- SHIFT——如果可能,LMB将进行非均匀变换(沿一个轴缩放)
- X——锁定选择。
- CTRL-RMB——抓住该物理资源(仅在现场模拟中)。
- W——移动模式
- E——旋转模式
- R——缩放模式
- Spacebar——界面控件循环(Cycle Widget)模式
- B——物体与约束模式的转换
- A——打开Snap
- C——复制属性从/到
- S ——模拟开始/停止
- H ——在资源不同渲染模式间循环
- J ——在体不同渲染模式间循环
- K ——在约束不同渲染模式间循环
- D ——将体部位焊接起来(必须为子属关系)
- Q ——循环约束 X -> Y -> Z
- DEL——删除约束/体
- HOME——把选中物体或者约束放在视野中心
- L + DRAG——在轨道上移动方向光源
- [ ——使选中体能够与其他物体碰撞。
- ] ——使选中体无法与其他物体碰撞。
打开PhAT
右击任意物理资源即可打开菜单选项“Open in PhAT(在PhAT中打开)”。尽管可能(而且有时需要) 同时打开多个PhAT 窗口,但建议您不要同时进行多个激活的模拟,以防性能下降。
物理资源的创建
在虚幻引擎3中创建物理资源的步骤十分简单。在浏览器中找到您准备进行物理设置的骨架物体,并右击它。在上下文菜单顶部应出现一个“Create Physics Asset(创建物理资源)”的选项。点击它将打开一个对话框,其中向您提供了根据骨架结构及该网格物体的顶点权重创建物理资源的选项。在PhAT 内使用“Reset asset(重设资源)”选项,即可再次打开该对话框。
物理资源的修改
打开PhAT后,您会发现您的资源浮动在一个默认的“floor”之上。根据“Create Physics Asset(创建物理资源)”对话框中碰撞物体部分的选项选择,该物体还应该被包含在几个盒体或者球体/胶囊体(sphyls)中。最有可能的是,这些碰撞物体未被放在最理想的位置而其可能并未以理想的方式结合。在这种情况下,PhAT可提供多个工具用于操作这些物体。这方面的例子,我们将使用Phys_Capsule3_Physics,它应位于软件包文件夹的PhysicsObjects.upk中。
碰撞物体/体
在PhAT中可创建及修改的碰撞物体有3种不同类型。分别为盒体(可被均匀及非均匀缩放)、胶囊体 (可被均匀缩放或者沿其长与宽缩放),以及球体 (只能够被均匀缩放)使用PhAT可以方便地修改物理资源的碰撞物体。打开PhAT 中的Phys_Capsule3_Physics ,您将发现物体周围环绕着线框球体及胶囊体。这些线框对象是该物体骨骼的碰撞物体。如欲了解其使用方法,可点击Simulate(模拟)按钮并查看物体行为。当您完成时,再次点击Simulate将其停止。通过左击选择一个碰撞物体,它应该橙色高亮显示,而直接与其相邻的单元变成白色。这意味着这些碰撞体间的碰撞已经被禁止了,因为约束正在处理它们之间的相互作用。点击X键锁定选择,这样我们不会意外地不选择该物体或者选择其它。“LOCK”将出现在窗口的左下角。
本物体的中心有一个axis gizmo(轴线框),可以用于移动,旋转及缩放碰撞体。击W键或者点击Move(移动)模式按钮,确认您处于“move(移动)”模式。现在左击并拖动蓝色的gizmo line(线框线)(Z轴),则该物体应沿此轴移动。如前文提及,可使用相同的控制来旋转并缩放物体。欲旋转一个物体,可以点击E进入旋转模式,或者在工具条中点击“Rotate(旋转)”按钮。反转gizmo(线框)应变为由3个线环代表各个轴的rotation gizmo(旋转线框)。如果您无法正常看到gizmo(线框),您可以通过触发骨架对象的渲染模型(或者点击H)来转换到线框模型或者不可见模式。
通过左击并拖动,每个环按照与动作完成相同的方式沿着轴旋转。这在旋转球体时不是非常明显,但是在旋转盒体或者胶囊体时应该非常明显。
缩放按照与反转相同的方式进行;它还支持非均匀缩放。通过点击R或者点击Scale(缩放)按钮切换到Scale mode(缩放模式)。与移动时相同,gizmo将出现;但是左点击将根据您的拖动方向向上或者向下缩放整个物体。然而Shift-左点击将仅仅沿着您点击的轴缩放。非常重要、值得注意的一点是:试图非均匀性地缩放一个球体将导致该球被均匀缩放。
添加与删除物体也很容易操作。选择一个物体然后点击任意一个“Add Primitive(添加物体)”按钮将把物体置于骨骼的原点。一旦完成此操作,该体可以被移动,旋转及缩放到希望的位置。对每块骨骼碰撞体的数量没有限制,但是如果在一个物理资源中拥有数量众多的骨骼与物体,性能将成为一个问题。
约束
触发Body mode(体模式)按钮将转换到Constraint(约束)模式,且对物理资源的渲染将变为显示在骨骼位置的紫色线框交叉。约束是表示在模拟运行时骨骼是如何被保持在一起的。
选择一个约束的方式与选择一个体相同,而您将看到该约束的限制。默认情况下,一个约束是没有限制的,并被表示为正常的gizmo(线框),但是一旦限制被设置,这将变为对用户输入值的反映。对于twist(扭曲)限制,沿着twist(扭曲)轴创建了一条线;如果对该限制没有设定值,则在末端有X;但是如果限制被设定,则一条绿色弧出现在线的末端而另一条黄色线分割该弧。此黄线显示在twist(扭曲)限制中骨骼的当前位置。对于swing(摆动)限制,无论是Swing1LimitAngle还是Swing2LimitAngle,没有设定值的表示都是一条沿着约束的轴向两端同样延伸的绿色直线。点击Q并有一个约束被选中将循环到下一个需要变化的轴。如果在一个SwingLimits中输入一个值,该绿线将变成绿色圆锥体,位于其中的黄线再次显示骨骼的当前位置。如果swing(摆动)及twist(扭曲)都被输入,则twist(扭曲)输入将出现在绿色圆锥体中的黄线末端。
[next]选中约束的情况下更改值,这样您可以看到限制的改变。一旦完成此操作,对该资源进行模拟,查看调整结果。通过在Cycle Constraint Rendering Mode(在约束的不同渲染模式间循环)按钮循环切换模式或者点击“K”,您可以打开渲染约束(或者是选中的,或者是所有的)。如果它被激活,您将能够看到黄线在约束中运动并在到达限制时停止。
约束可以按照与体相同的方式被旋转或者移动,但是此处的不同是保持按下shift移动一个约束会将起始位置从约束位置分离(引起约束在模拟开始时一起迅速跳回),且旋转约束将旋转限制而不是改变关节的当前旋转,这对设置非对称关节例如肘关节等非常有用。值得注意的是,如果您旋转一个约束使得限制超出关节的当前位置,当该模拟资源时,所有的关节都将移动来满足第一帧的限制,这样在对该资源模拟时将立刻引起运动。
您可以在PhysicsConstraintReference页面找到更多关于各种约束的信息。
其他
当物理资源被创建后,相邻物体间的碰撞是自动禁止的,因为凭借约束保持它们独立比使用碰撞要快得多。
删除给定骨骼的所有碰撞体将使骨骼与约束从资源中被删除。这样做的一个更好的方法是使用Weld(焊接)按钮(热键为D)将体焊接在一起。
,
评论