FBX SDK Intro - 3ds Max Axis System

来源:互联网 发布:linux查询应用占用端口 编辑:程序博客网 时间:2024/06/14 23:27


1.   3DS Max Axis System


   /** \enum EUpVector Specifies which canonical axis represents up in the system (typically Y or Z). 
      */
    enum EUpVector
{
        eXAxis = 1,
        eYAxis = 2,
        eZAxis = 3
    };
    
    /** \enum EFrontVector  Vector with origin at the screen pointing toward the camera.
      *                     This is a subset of enum EUpVector because axis cannot be repeated.
 *                     We use the system of "parity" to define this vector because its value (X,Y or Z axis)
 * really depends on the up-vector. The EPreDefinedAxisSystem list the up-vector, parity and
 *                     coordinate system values for the predefined systems.
 * \see Detailed description of FbxAxisSystem.
      */
    enum EFrontVector
{
        eParityEven = 1,
        eParityOdd = 2
    };


    /** \enum ECoordSystem Specifies the third vector of the system.
 *                   The FbxAxisSystem deduces the correct vector and direction based on this flag
 *                   and the relationship with the up and front vectors. The EPreDefinedAxisSystem list the up-vector, parity and
 *                   coordinate system values for the predefined systems.
      */
    enum ECoordSystem
{
        eRightHanded,
        eLeftHanded
    };


    /** \enum EPreDefinedAxisSystem  Enumeration that can be used to initialize a new instance of this class with
 *                              predefined configurations (see the "Predefined axis systems" section).
      */
    enum EPreDefinedAxisSystem
{
        eMayaZUp, /*!< UpVector = ZAxis, FrontVector = -ParityOdd, CoordSystem = RightHanded */
        eMayaYUp, /*!< UpVector = YAxis, FrontVector =  ParityOdd, CoordSystem = RightHanded */
        eMax, /*!< UpVector = ZAxis, FrontVector = -ParityOdd, CoordSystem = RightHanded */
        eMotionBuilder, /*!< UpVector = YAxis, FrontVector =  ParityOdd, CoordSystem = RightHanded */
        eOpenGL, /*!< UpVector = YAxis, FrontVector =  ParityOdd, CoordSystem = RightHanded */
        eDirectX, /*!< UpVector = YAxis, FrontVector =  ParityOdd, CoordSystem = LeftHanded */
        eLightwave /*!< UpVector = YAxis, FrontVector =  ParityOdd, CoordSystem = LeftHanded */
    };


   Z ->up,     X->Left,      -Y ->Front   (Y 指向屏幕内)

Right Handed Axis System


2.  3DS MAX to JS by ThreeJSAnimationExporter

也采用了 3ds max AXIS system.

0 0
原创粉丝点击