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
gamedev:deigde:editors:rig [2020/04/03 21:14] – [Rig] dragonlordgamedev:deigde:editors:rig [2020/04/05 00:30] (current) – [IGDE Rig Editor] dragonlord
Line 8: Line 8:
 The rig editor allows to create rig resources for your game (*.derig or else depending on used modules). Rigs are used for [[gamedev:colliders|Physics with Colliders]] using [[gamedev:shapes|Shapes]]. They are also used for [[gamedev:animators|Animators and Animations]] together with the [[gamedev:deigde:editors:animator|Animator Editor (*.deanimator)]]. The rig editor allows to create rig resources for your game (*.derig or else depending on used modules). Rigs are used for [[gamedev:colliders|Physics with Colliders]] using [[gamedev:shapes|Shapes]]. They are also used for [[gamedev:animators|Animators and Animations]] together with the [[gamedev:deigde:editors:animator|Animator Editor (*.deanimator)]].
  
-{{ :gamedev:deigde:editors:editor_rig.jpg?direct&400 |Rig editor preview}}+<WRAP group> 
 +<WRAP column> 
 +{{:gamedev:deigde:editors:editor_rig.jpg?direct&400|Rig editor preview}} 
 +</WRAP> 
 +<WRAP column> 
 +{{youtube>Bg-nYHpHPVU?medium}} 
 +</WRAP> 
 +</WRAP>
  
 Rigs can contain these elements: Rigs can contain these elements:
Line 75: Line 82:
 <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.1585948481.txt.gz · Last modified: 2020/04/03 21:14 by dragonlord