Class FbxNode

java.lang.Object
com.jme3.scene.plugins.fbx.obj.FbxObject<Spatial>
com.jme3.scene.plugins.fbx.node.FbxNode
Direct Known Subclasses:
FbxLimbNode, FbxRootNode

public class FbxNode extends FbxObject<Spatial>
  • Field Details

    • parent

      protected FbxNode parent
    • children

      protected List<FbxNode> children
    • materials

      protected List<FbxMaterial> materials
    • userData

      protected Map<String,Object> userData
    • propertyToAnimCurveMap

      protected Map<String,List<FbxAnimCurveNode>> propertyToAnimCurveMap
    • nodeAttribute

      protected FbxNodeAttribute nodeAttribute
    • visibility

      protected double visibility
    • skeleton

      protected Skeleton skeleton
      For FBX nodes that contain a skeleton (i.e. FBX limbs).
    • jmeWorldNodeTransform

      protected final Transform jmeWorldNodeTransform
    • jmeLocalNodeTransform

      protected final Transform jmeLocalNodeTransform
    • jmeWorldBindPose

      protected Transform jmeWorldBindPose
    • jmeLocalBindPose

      protected Transform jmeLocalBindPose
    • cachedWorldBindPose

      protected Matrix4f cachedWorldBindPose
  • Constructor Details

  • Method Details

    • computeFbxLocalTransform

      public Transform computeFbxLocalTransform()
    • setWorldBindPose

      public void setWorldBindPose(Matrix4f worldBindPose)
    • updateWorldTransforms

      public void updateWorldTransforms(Transform jmeParentNodeTransform, Transform parentBindPose)
    • fromElement

      public void fromElement(FbxElement element)
      Overrides:
      fromElement in class FbxObject<Spatial>
    • getPreferredParent

      public FbxNode getPreferredParent()
      If this geometry node is deformed by a skeleton, this returns the node containing the skeleton. In jME3, a mesh can be deformed by a skeleton only if it is a child of the node containing the skeleton. However, this is not a requirement in FBX, so we have to modify the scene graph of the loaded model to adjust for this. This happens automatically in createScene(com.jme3.scene.plugins.fbx.node.FbxNode).
      Returns:
      The model this node would like to be a child of, or null if no preferred parent.
    • toJmeObject

      public Spatial toJmeObject()
      Specified by:
      toJmeObject in class FbxObject<Spatial>
    • createSkeletons

      public static void createSkeletons(FbxNode fbxNode)
      Create jME3 Skeleton objects on the scene. Goes through the scene graph and finds limbs that are attached to FBX nodes, then creates a Skeleton on the node based on the child limbs. Must be called prior to calling createScene(com.jme3.scene.plugins.fbx.node.FbxNode).
      Parameters:
      fbxNode - The root FBX node.
    • createScene

      public static Spatial createScene(FbxNode fbxNode)
    • getJmeSkeleton

      public Skeleton getJmeSkeleton()
    • getChildren

      public List<FbxNode> getChildren()
    • connectObject

      public void connectObject(FbxObject object)
      Specified by:
      connectObject in class FbxObject<Spatial>
    • connectObjectProperty

      public void connectObjectProperty(FbxObject object, String property)
      Specified by:
      connectObjectProperty in class FbxObject<Spatial>