/// <summary> /// コンストラクタ /// </summary> /// <param name="vertex">頂点データ</param> /// <param name="modelParts">モデルパーツ</param> /// <param name="boneManager">ボーンマネージャ</param> /// <param name="faceManager">表情マネージャ</param> /// <param name="attachedMotion">付随モーション</param> /// <param name="rigids">剛体情報</param> /// <param name="joints">関節情報</param> public SlimMMDModel(MMDVertexNmTx[] vertex, List<IMMDModelPart> modelParts, MMDBoneManager boneManager, MMDFaceManager faceManager, Dictionary<string, MMDMotion> attachedMotion, MMDRigid[] rigids, MMDJoint[] joints) : base(modelParts, boneManager, faceManager, attachedMotion, rigids, joints) { m_vertex = vertex; //データのコピー verticesSource = new VertexPNmTx[m_vertex.LongLength]; for (long i = 0; i < m_vertex.LongLength; ++i) { verticesSource[i].Position = m_vertex[i].Position; verticesSource[i].Normal = m_vertex[i].Normal; verticesSource[i].Texture = m_vertex[i].TextureCoordinate; } InitGraphicsResource(); SlimMMDXCore.Instance.LostDevice += OnLostDevice; SlimMMDXCore.Instance.ResetDevice += OnResetDevice; }
/// <summary> /// 表情の設定 /// </summary> /// <param name="faceManager"></param> public override void SetFace(MMDFaceManager faceManager) { faceManager.ApplyToVertex(vertices, VertMap); }