User Tools

Site Tools


gamedev:deigde:editors:rig

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
gamedev:deigde:editors:rig [2020/04/03 21:14] – [Rig] dragonlordgamedev:deigde:editors:rig [2020/04/05 00:29] – [Preview Video] dragonlord
Line 75: Line 75:
 <WRAP clear/> <WRAP clear/>
  
-===== Preview Video ===== +====== Shape ====== 
-https://youtu.be/Bg-nYHpHPVU+ 
 +{{ :gamedev:deigde:editors:editor_rig_shape.png?nolink|}} 
 + 
 +Each bone can have one or more [[gamedev:shapes|shapes]] assigned. This panel show parameters of the selected bone shape. To select bone shapes switch to the //Shape// selection mode in the //Edit// menuYou can only select visible shapes. Rig shapes are always visible. Bone shapes are only visible if a bone is selected or if //Bone -> Show All Bone Shapes// menu is checked. 
 + 
 +The content of the panel depends on the [[gamedev:shapes|type]] of the selected shape. These parameters are though present on all shape types. 
 + 
 +The **Parent** is read-only and shows the parent bone of the shape. If this value is empty the shape belongs to the rig itself. 
 + 
 +The **Property** parameter allows to assign a game specific custom property value to the bone shape. This can be used to add per-shape information which can be used during collisions. 
 +<WRAP center round tip 60%> 
 +Although this field can contain any kind of value it is recommended to store here a game specific //Identifier//. This way you can use in game scripts a mapping table to store additional information. The //Blender Export Script// supports assigning shape properties too so you can incorporate them into your modelling workflow. 
 +</WRAP> 
 +<WRAP clear/> 
 + 
 +====== Constraints ====== 
 + 
 +{{ :gamedev:deigde:editors:editor_rig_constraint.png?nolink|Constraint panel}} 
 + 
 +Each bone can have one or more //Constraints// assigned. This panel show parameters of the selected bone constraint. To select bone constraints switch to the //Constraint// selection mode in the //Edit// menu. You can only select visible constraints. Bone constraints are only visible if a bone is selected or if //Bone -> Show All Bone Constraints// menu is checked. 
 + 
 +<WRAP center round tip 60%> 
 +You can also add constraints to rig. These are only for testing purpose for example to simulate a game script adding a run-time constraint to a rig. This can be used for example to test hinging a door to the game world. 
 +</WRAP> 
 + 
 + 
 +//**Geometry**// 
 + 
 +The **Parent** is read-only and shows the parent bone of the constraint. If this value is empty the constraint belongs to the rig itself. 
 + 
 +The **Target** parameter set the target bone of the constraint. If this value is empty the constraint is attached to the game world. 
 + 
 +The **Position** and **Rotation** parameter define the position and orientation of the //Constraint Coordinate System//. This is the //Hinge// point so to speak. The values are relative to the //Parent Bone Coordinate system//. Hence you define the constraint coordinate system relative to the bone you want to attach not the bone it is attached to. 
 + 
 +The **Offset** parameter defines an optional offset applied to the //Constraint Coordinate System// but from inside the constraint coordinate system. 
 + 
 + 
 +//**DOF Linear/Angular X/Y/Z** // 
 + 
 +Defines the linear and angular //Degrees of freedom// for each axis. 
 + 
 +The **Range** parameter defines the //Minimum// and //Maximum// value allowed for the degree of freedom. If the maximum value is equal or less than the minimum value the degree of freedom is locked. 
 + 
 +The **Friction** parameter defines the //Friction Forces// in //Nm//. The first value is the **Static Friction Force**. This is the threshold force before the constraint starts moving. Once moving this force is not more applied. The second value is the **Kinematic Friction Force**. This force is applied only if the constraint is moving. 
 + 
 +The **Stiffness** parameter defines the //Spring Stiffness// in //Nm//. A value of 0 disabled spring behavior. Values larger 0 apply a retraction force towards the original position depending on the displacement of the constraint from the center position. 
 + 
 + 
 +//**Damping**// 
 + 
 +Applies **Linear**, **Angular** or **Sprint** damping to the forces acting on the constraint. Damping is a percentage value indicating how much force is destroyed by the damping. A value of 0 applies no damping while a value of 1 destroys all energy literally preventing constraint from moving at all. 
 + 
 + 
 +//**Rope**// 
 + 
 +If **Use Rope Physics** is enabled the physics module treats the constraint as a //Rope Constraint//. Physics modules tend to use a different simulation algorithm for ropes to improve the stability. 
 + 
 + 
 +//**Breaking**// 
 + 
 +The **Breaking** parameter defines the amount of impulse (Ns) that has to apply on a constraint before it breaks. A broken constraint is disabled and can be enabled again. If the value is zero the constraint never breaks. 
 +<WRAP clear/> 
 + 
 +====== Push ====== 
 + 
 +{{ :gamedev:deigde:editors:editor_rig_push.png?nolink|Push panel}} 
 + 
 +You can add //Pushes// to simulate impulses applied to a rig at the beginning of //Simulation Mode//. This allows to examine how a rig (typically a rag-doll type rig) behaves to an impact event during the game. Useful in this situation is using //Slowmotion// from the //View Panel//. Pushes are visible in the view as an arrow pointing at the position to applied the push to (arrow head) with the arrow direction indicating the direction of the push. 
 + 
 +The **Type** parameter indicates what kind of push to apply. Supported are **Simple Push** and **Explosion**. Simple push applies a single impulse to the rig at the start of a simulation run. Explosion push applies a bunch of impulse at the same time spread along a cone. 
 + 
 +The **Position** and **Orientation** define the position where the push is applied and the direction of the push. 
 + 
 +The **Impulse** defines the amount of impulse in Ns to apply. If explosion type is used the impulse is evenly distributed across all applied impulses. 
 + 
 +The **Ray Count** defines the count of rays to use for explosion type push. 
 + 
 +The **Cone Angle** defines the angle in degrees of the cone to use for explosion type push. Rays are evenly distributed across the cone. 
 +<WRAP clear/> 
 + 
 +====== View ====== 
 + 
 +{{ :gamedev:deigde:editors:editor_rig_view.png?nolink|}} 
 + 
 +The **Resources** panel defines the **Model**, **Skin** and **Animation** resource to use to preview the rig. Without a model no //Simulation Mode// is possible. 
 + 
 +The **Animation Move** panel defines the animation move to play. Requires an //Animation// resource to be assigned to work. The rest pose is shown if the **Use rest pose** parameter is ticked. If **Playback** is ticked the animation move is played in a loop otherwise the desired animation frame (in seconds) is shown. 
 + 
 +The **Physics** panel defines the **World Gravity** and **Local Gravity** to use. World gravity applies to the bones in the rig while local gravity applies to the preview component itself. The **Slowmotion** parameters defines the update speed of the simulation and allows to examine physical behavior in closer detail to spot problems. 
 + 
 +The **Sky** panel defines the **Sky** resource to use in the preview view. 
 + 
 +The **Environment Object** panel defines the **Object Class** to use as environment the rig is previewed in. 
 + 
 +The **Camera** panel shows the parameters of the camera in the preview view. The values can be manually edited. 
 + 
 +The **Camera Attaching** panel allows to attach the preview view camera to bones in the rig. 
 +<WRAP clear/> 
 + 
gamedev/deigde/editors/rig.txt · Last modified: 2020/04/05 00:30 by dragonlord