动态物品
要使项目动态化,您需要使用一种动态项目类型对其进行标记。每种类型都会确定身体在与其他对象移动或碰撞时的行为。例如,一个Soft Body弯曲和变形类似于布料,而Rigid Body不会变形或破裂。动态项目的不同类型在动态项目类型。
动态是在Setup布局。
使项目动态化
1. | 选择Setup布局并进入Items模式。 |
2. | 选择项目。 |
3. | 点击Dynamics的子标签Commands面板在左侧。 |
这将打开Dynamics工具箱。
4. | 选择要应用的动态项目的类型。 |
这将使用动态项目类型标记所选项目。
例如,要应用类似布的柔和动力学,请选择Soft Body。
从项目中删除动力学
停止具有动态属性的对象:
1. | 在Items模式下,选择项目。 |
2. | 选择Dynamics > Remove Dynamics。 |
要么
保持Shift。您会看到大多数动态项目按钮变为Remove Dynamics。
单击任何Remove Dynamics纽扣。
切换项目的动力学
要暂时禁用项目的动态,请取消选中Enable在顶部Dynamic标签中Item Properties面板。
动态项目属性
动态项目还有一个名为Dynamic在里面Item Properties面板。的Dynamic选项卡包含动力学仿真的设置。
您可以修改设置以在移动和碰撞过程中更改动态项目的行为。选择动态项目后,以下属性将显示在Properties面板。
一般性质
一般性质 |
|
---|---|
Enable |
切换项目的动态开关。 启用后, Modo在运行或缓存模拟时将动态应用于项目。禁用时,动态属性将被忽略。 |
Type |
动态项目可以定义为以下三种类型之一: • Rigid:该项目被视为具有固定不变体积的固体对象。 • Softbody:在碰撞过程中或施加力时,软体会变形。 • Curves:曲线用于包含一根或多根弯曲线的物品,例如头发或金属丝。 选择每个选项可在/隐藏/显示不同属性Properties面板。 |
Static |
关联的项目在模拟过程中不会移动(即使已动画化),严格地充当碰撞对象。 什么时候Static被禁用,两个选项变为可用State。 |
State |
State当项目不是静态时启用。 • Dynamic:这些是仅由动力学控制的碰撞项目。它们也会受到约束,力量和衰减的影响。 当一个对象被定义为一个Active Rigid Body。 注意: 应该为动画皮草指南设置此设置。 • Kinematic:由关键帧信息控制的动画碰撞对象。运动物体不受重力或脱落等力的影响。 当一个对象被定义为一个Kinematic Rigid Body。 |
Preset |
Modo提供了一系列预设来确定项目的动态属性。如果选择预设,则将自动调整值,并且该项目具有所选材料的物理属性。 您可以选择Glass, Stone , Wood , Plastic , 要么Steel。 |
碰撞:刚性
Collision: Rigid |
|
Collision Shape |
这是用于计算动态对象之间的碰撞接触的形状。通常,您应该选择能够产生满意结果的最简单形状。 默认碰撞形状设置为Hull,通常可以在准确性和计算速度之间取得平衡。 • Box:由几何最大范围的边界框定义的矩形框。 • Sphere:大小确定为包含对象所有几何形状的球体。 • Hull:此碰撞形状创建了一个最小的凸体积,该凸体积包围了该网格中的所有点(想象一下收缩包装中包裹的网格)。 的Hull碰撞类型不支持对象中的孔或凹痕。尽管它仅近似于物品的形状,但可以对复杂形状的物体进行非常快速的碰撞检测。 • Multi Hull:默认的碰撞选项, Multi Hull为网格中的每个多边形岛生成一个单独的凸包。然后将它们视为单个复合动态项目。 • Mesh:使用对象的网格来计算碰撞。对于细分曲面模型,使用实际的冻结Sub-D笼子。 注意: 避免在Dynamic Rigid Bodies (对于Static和Kinematic那些)。否则,性能和仿真稳定性会受到不利影响。 • Convex Decomposition:创建多个船体(请参见上文)并将它们连接在一起。这可以更好地逼近几何的实际形状,但是最初使用复杂形状进行计算可能会花费很大。 • Plane:生成一个无限的地平面碰撞形状,其起源于相关几何图形边界框的中心(不在项目的实际中心位置上)。 |
Do Collisions |
禁用此选项可从碰撞计算中删除对象。 |
Bounce |
这是对象撞击另一个动态对象时的碰撞响应。 值为0%表示该对象不会从另一个动态对象反弹或继承能量。 值为100%表示对象从接触对象继承了所有能量。 高于100%的值会产生类似橡胶球的效果,其中物体从触点传递更多的能量。 |
Friction |
一个对象相对于另一个对象滑动的量。 值为0表示没有阻力。值为1阻止对象滑动。 |
Stickiness |
当两个动态元素碰撞并且它们都具有非零值时Stickiness,它们在碰撞点彼此附着。 越高Stickiness值,元素之间的联系越牢固。较低的值可使卡住的元素更容易折断。 |
Margin |
此值有助于子弹引擎更好地确定碰撞并提高其性能和可靠性。它在用于检测碰撞接触的对象周围定义了一个间隙。 在大多数情况下,应将其保留为默认值。当与Mesh和Convex Decomposition设置,这可以使项目彼此偏离,因此只需要少量。 注意: 设置为0可能会在碰撞检测中产生错误。 |
碰撞:软体
碰撞:软体 |
|
---|---|
Friction |
软体在另一个动态对象上滑动的量。 值为0表示没有阻力。值为1阻止对象滑动。 |
Stickiness |
当两个动态元素碰撞并且它们都具有非零值时Stickiness,它们在碰撞点彼此附着。 越高Stickiness值,元素之间的联系越牢固。 |
Margin |
此值有助于子弹引擎更好地确定碰撞并提高其性能和可靠性。它在用于检测碰撞接触的对象周围定义了一个间隙。 注意: 设置为0可能会在碰撞检测中产生错误。 |
碰撞:曲线
碰撞曲线 |
|
---|---|
Do Collisions |
禁用此选项可从碰撞计算中删除对象(默认情况下启用)。 |
Bounce |
这是曲线胶囊碰撞器撞击另一个动态对象时的碰撞响应。 值为0%表示该对象不会从另一个动态对象反弹或继承能量。 值为100%表示对象从接触对象继承了所有能量。 高于100%的值会产生类似橡胶球的效果,其中物体从触点传递更多的能量。 |
Friction |
一个对象相对于另一个对象滑动的量。 值为0表示没有阻力。值为1阻止对象滑动。 |
Stickiness |
当两个动态元素碰撞并且它们都具有非零值时Stickiness,它们在碰撞点彼此附着。 越高Stickiness值,元素之间的联系越牢固。 |
弥撒
弥撒 |
|
---|---|
Mass Source |
• World Density:通过将计算出的动态商品的体积乘以Global Density在上定义的值动力学求解器项目。 • Local Density:通过将计算出的体积乘以该值来计算质量。 • Local Mass:手动设置质量。 |
Density |
对任何给定体积中的物质量的度量。如果Mass Source选项设置为Local Density,该值用于计算质量。 |
Mass |
赋予其体积和重量的对象的属性。如果Mass Source设定为Local Mass,该值用于仿真。 |
睡觉
注意: Sleep仅适用于Rigid Body项目。
通常,当任何动态模拟开始且对象立即开始反应时,对象会处于唤醒状态(活动)。您可以更改此行为,延迟单个对象醒来并变为活动状态的时间,从根本上控制项目何时开始参与模拟。
睡觉 |
|
---|---|
Wake On |
之前Wake On事件时,可以对项目进行关键帧动画处理,并且当Wake On Value达到阈值。 在中定义的值Impulse物体醒来时应用通道。 • Start:对象将唤醒动态仿真,并在场景开始时将其完全激活。 • Collision Velocity:对象与被动或主动对象碰撞时会唤醒。 • Collision Force:对象与被动或动态对象碰撞时会唤醒。 • Velocity:达到一定速度时,对象会唤醒。不同于Collision Velocity,此速度由关键帧动画运动确定。 • Trigger:当可设置关键帧的频道, reWakeOnValue,不为零。 这在绑定中与条件节点一起很好地使用。 • Frame:到达特定的帧编号时,对象会唤醒。 • Time:达到特定时间后,无论帧速率如何,对象都会唤醒。 • Force:当物体受到力时,物体会唤醒强制项达到阈值。 注意: 使用Wake On Value设置阈值Collision Velocity, Collision Force , Velocity , 要么Force。 |
Wake On Value |
这是唤醒对象所必须达到的阈值,具体取决于Wake On选择的选项。 |
Passive |
启用后,睡眠对象仅对碰撞力产生反应。这意味着它们可以被推动,但是一旦影响停止就停止移动。 |
冲动
注意: Impulse仅适用于Rigid Body项目。
冲动 |
|
---|---|
Impulse On |
此选项确定导致Impulse应用于动态项目的值。 • Off:没有脉冲值应用于对象。 • On Wake:当项目唤醒时,将应用脉冲值,具体取决于Sleep设置。 • Continuous:在评估的每个步骤中,脉冲值都会连续应用于对象。 |
Impulse X/Y/Z |
物体醒来时施加的方向力。 当将关键帧对象传递给动力学时,这很有用,从而为对象赋予方向和速度。不带Impulse速度会下降,因为动力学在醒来之前没有意识到物体的速度。 |
Impulse Position X/Y/Z |
的位置Impulse从中应用,影响对象的轨迹。 |
Torque Impulse X/Y/Z |
物体醒来时所施加的旋转力。 当将关键帧对象切换为动态对象,从而使对象旋转时,这很有用。 不带Torque Impulse物体不会旋转,因为动力学在醒来之前没有意识到物体的运动。 |
力
力 |
|
---|---|
Linear Damping |
这是一种作用于对象运动的力,可随着时间的推移而降低它们的速度。 此处的一个小值可以使对象稳定,因为它有助于使对象静止。 |
Angular Damping |
如同Linear Damping,但适用于对象的旋转。 注意: Angular Damping不适用于Soft Body对象。 |
Follow Linear |
在动力学系统的影响下,动画的动态项目会忽略其用户分配的运动(关键帧)运动。相反,它们在施加于它们的力以及遇到的任何碰撞下起作用。 Follow Linear向物品施加一定的力以寻找其运动位置。该设置允许您通过向项目添加关键帧并增加项目的数量来影响动态解决方案。 Follow Linear力值。 |
Affected by Gravity |
打开或关闭对象的重力。 |
停用
注意: Deactivation不适用于Soft Body项目。
停用 |
|
---|---|
Never Deactivates |
启用后,该项目就不会因为没有运动而被停用。 禁用时,如果该项目满足在求解器项目中定义的定义的线性和角度阈值(或在此处覆盖),则该项目将被禁用。 |
Override Linear Threshold |
启用此功能后,一旦动态对象达到定义的上阈值,它们便会进入睡眠状态,从而覆盖动态对象中的全局值。 动力学求解器。 这与Wake On设置;一旦某个对象在所定义的时间长度内低于阈值,它就会进入睡眠状态。 |
Linear Threshold |
动作阈值时Override Linear Threshold已启用。 |
Override Angular Threshold |
启用此功能后,一旦动态对象达到定义的上阈值,它们便会进入睡眠状态,从而覆盖动态对象中的全局值。 动力学求解器。 这与Wake On设置;一旦某个对象在所定义的时间长度内低于阈值,它就会进入睡眠状态。 |
Angular Threshold |
旋转阈值时Override Angular Threshold已启用。 |
粒子
粒子 |
|
---|---|
Particle Collision Roughness |
这将随机因素添加到粒子从项目反弹的方向。 达到100%时,它可以从碰撞法线反射最多90度。 |
Particle Collision Stickiness |
粒子试图粘附到物品表面的距离。 |
柔软的身体
柔软的身体 |
|
---|---|
刚度弯曲 |
软体的形状由虚拟弹簧确定,在网格的顶点之间进行评估。这些弹簧通过施加旋转力以保持表面的连续性来帮助物体保持其形状。 刚度可以一直降低到0,从而创建非常柔软且下垂的织物类型。 |
结构 |
这些弹簧沿着网格线(沿着多边形边缘)移动。该值确定弹簧在变形时由于重力或湍流之类的力而对施加的力的抵抗力。 |
纯粹的 |
生成这些弹簧是为了向多边形面(形成x形状的四边形)的内部添加额外的连接。它们有助于防止多边形自身塌陷。 |
自我碰撞 |
启用此选项可解决曲面相交的问题。 |
Pressure |
这会在物品的整体体积上施加力,类似于压力在现实世界中对物体的反应方式。 增加值会增加整体体积,使物品膨胀。 减小(负)值会减小其体积,使物品收缩。 注意: 此选项要求目标网格完全不漏水(无接缝)。 |
Volume Conservation |
此选项适用于Pressure选项。您可以使用它来保留软体的音量。例如,如果您压碎气球的一部分,则气球的其余部分会膨胀,从而仍包含相同体积的空气。 |
Drag |
确定运动的表面上的能量损失(例如,对于抖动类型的效果)。 |
Normal Modulation |
此选项乘以表面法线施加的力。 |
Front Only |
启用后,将不施加来自单面对象背面的力。 |
Goal Matching |
如果指定了目标地图,则此选项将作为地图值的乘数。 |
Goal Map |
应用于柔软物体并控制它们保留其原始形状的数量的“顶点贴图”。也可以将其视为刚度控件。在这种情况下,将使用权重图。权重图的值1保留原始位置,而值小于1的值将施加适当的弹力以尝试保留初始形状。 |
注意: 如果“求解器”和“软体”属性中的设置导致模拟变得不稳定,则将从模拟中删除负责的软体。发生这种情况时,会将事件报告到事件日志中(System > Advanced > Event Log)。有关规划求解项目的更多信息,请参见动力学求解器。
曲线
您可以将模拟应用于各种曲线类型Modo,使用Splines要么Polylines (皮草指南)。
曲线的模拟与刚体计算非常相似,它模拟在每个顶点之间绘制的刚性胶囊形状的连接字符串。每个形状的大小基于“网格项”属性中的曲线半径值。最终的胶囊碰撞形状具有三种可能的动力学状态: Static, Dynamic , 要么Kinematic。
曲线 |
|
---|---|
Use Render Radius |
启用后,即使使用曲线宽度梯度进行调制,使用动力学生成的最终胶囊也将与定义的大小匹配。 |
Curves as Compounds |
控制模拟中曲线的刚度,以及如何处理单个项目层中的多个曲线。 • Off:将所有曲线分别视为柔软的变形元素。 • Per Curve:将所有曲线分别视为刚性的非变形元素。 • Item:所有曲线均被视为一个组合的(单个)刚性非变形元素。 |
Curve Radius |
当。。。的时候Use Render Radius禁用此选项,此选项确定生成的胶囊碰撞元素的碰撞大小。 |
Pin Curve Start |
启用后,它将自动固定曲线的第一个顶点。固定顶点保持固定在网格图层中的位置,仅当该图层处于动画状态或其几何形状变形时才移动。 此选项主要用于模拟头发指南,以使它们与角色保持联系。 |
Disable Segment Collision Start |
在每个顶点之间生成为模拟生成的碰撞胶囊,从而创建了一系列碰撞对象。第一段从曲线的基本位置开始。对于固定曲线,第一段始终禁止碰撞。 的Disable Segment Collision Start值可让您禁用其他线段上的碰撞。例如,如果一条曲线具有固定到角色的8个线段,并且此值设置为3,则仅考虑曲线的最后5个线段进行碰撞。 |
Pin Map |
允许您沿曲线固定顶点,这意味着它们将不会移动或不受动态影响。 这是通过添加一个选择地图。 添加后, Pick Map出现在Pin Map下拉列表。如果选择Pick Map,目标顶点不受曲线动力学的影响。 |
Joint Angle Limit |
限制曲线段之间允许的弯曲量,这对于毛发引导仿真非常有用,这样在快速运动期间毛发不会发疯。 |
Pinned Joint Angle Limit |
与效果相同Joint Angle Limit,但用作控制毛发导向器根部旋转的单独值。 |
创建曲线顶点的拾取图
拾取贴图是一种顶点贴图,它指定顶点为选中状态还是未选中状态。您可以创建一个“拾取贴图”以标识曲线中的顶点,这些顶点在动态仿真期间应保持固定。选择地图使用顶点贴图列表视口或Vertex Map菜单。
注意: 创建完成后,“选择地图”将显示在Pin Map选项,在Curves动态项目属性部分。
1. | 选择Vertex Map > Create...。 |
这将打开Vertex Map对话。
2. | 设置Vertex Map Type至Pick。 |
3. | 在中输入地图名称Vertex Map Name。请点击OK。 |
4. | 要确保选择了新地图,请打开Vertex Map List面板。 |
请点击+面板标签旁边。
选择Data Lists >Vertex Map List。
5. | 确保在Vertex Map List面板下Other Maps。 |
6. | 启用Vertices选择模式,然后在曲线中选择应保持固定的目标顶点。 |
7. | 将顶点添加到选取贴图: |
选择Vertex Map > Set Value...
这将打开Set Vertex Map Value对话。
组Vertex Map Type至Pick。
组Value到1.0。请点击OK。
注意: 的Value确定顶点是否受动力学影响。值为0表示未选择顶点,并且不受动力学影响。值1表示已选择它,并且受动态影响。
以后可以在选取图中添加或删除其他顶点。突出显示“选择贴图”,选择顶点并打开Vertex Map > Set Value...。将值设置为0以删除顶点,或将值设置为1以添加顶点。