「Creating a ModelAnimator」の編集履歴(バックアップ)一覧はこちら

Creating a ModelAnimator」(2009/06/21 (日) 18:36:26) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

---- ドワーフのアニメーション再生を行うためにモデルアニメータを作成します。 ○最初に2つのメンバ変数を作成します。 #highlight(linenumber,c#){{ // Add these as member variables ModelAnimator dwarfAnimator; Matrix view; }} ○LoadGraphicsContent メソッドでドワーフのモデルをロードし、アニメータの新しいインスタンスを作成して下さい。 ○ModelAnimator クラスはデフォルトで自動的にモデルをレンダリングします。しかしモデルに関連付けされているエフェクトにビュー行列とプロジェクション行列を設定する必要があります。 ○LoadGraphicsContent メソッドでエフェクトを設定した後に注目してほしいことがあります。それはドワーフがスキニングモデルで BasicPaletteEffect クラスをロードしていることです。 #highlight(linenumber,c#){{ protected override void LoadGraphicsContent(bool loadAllContent) { if (loadAllContent) { Model model = content.Load<Model>("dwarfmodel"); dwarfAnimator = new ModelAnimator(this, model); Viewport port = graphics.GraphicsDevice.Viewport; view = Matrix.CreateLookAt( new Vector3(0, 15, -20), Vector3.Zero, Vector3.Up); Matrix projection = Matrix.CreatePerspectiveFieldOfView( MathHelper.PiOver4, (float)port.Width / port.Height, .1f, 100000f); foreach (ModelMesh mesh in model.Meshes) { foreach (BasicPaletteEffect effect in mesh.Effects) { effect.View = view; effect.Projection = projection; } } } } }} ----
---- ドワーフのアニメーション再生を行うためにモデルアニメータを作成します。 ○最初に2つのメンバ変数を作成します。 #highlight(linenumber,c#){{ // Add these as member variables ModelAnimator dwarfAnimator; Matrix view; }} ○LoadGraphicsContent メソッドでドワーフのモデルをロードし、アニメータの新しいインスタンスを作成して下さい。 ○ModelAnimator クラスはデフォルトで自動的にモデルをレンダリングします。しかしモデルに関連付けされているエフェクトにビュー行列とプロジェクション行列を設定する必要があります。 ○LoadGraphicsContent メソッドでエフェクトを設定した後に注目してほしいことがあります。ドワーフがスキニングモデルで BasicPaletteEffect クラスをロードしていることに注意して下さい。 #highlight(linenumber,c#){{ protected override void LoadGraphicsContent(bool loadAllContent) { if (loadAllContent) { Model model = content.Load<Model>("dwarfmodel"); dwarfAnimator = new ModelAnimator(this, model); Viewport port = graphics.GraphicsDevice.Viewport; view = Matrix.CreateLookAt( new Vector3(0, 15, -20), Vector3.Zero, Vector3.Up); Matrix projection = Matrix.CreatePerspectiveFieldOfView( MathHelper.PiOver4, (float)port.Width / port.Height, .1f, 100000f); foreach (ModelMesh mesh in model.Meshes) { foreach (BasicPaletteEffect effect in mesh.Effects) { effect.View = view; effect.Projection = projection; } } } } }} ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: