3DグラフィックスでXNAゲームを作りたいと思っています。私のシーンに10 Model
があるとしましょう。私は指向性のライトのように、すべて同じ光源でそれらを描きたいと思います。今私はModel
がEffect
を持っていて、Effect
はとりわけ照明情報を持っていることを理解しています。私の質問は、自分の光源を持つ各モデルではなく、私のシーンのすべてのモデルにどのように同じ光源を適用するのでしょうか?誰かが、私が拠点を離れているかどうか教えてくれます。XNA - 3Dゲーム - すべてのモデルに光を当てよう
1
A
答えて
1
XNA 4.0を使用してゲームを作成する場合は、エフェクトを使用する必要があります。幸いにも、XNAチームには、BasicEffectという強力で簡単なエフェクトが含まれていました。特に指定しない限り、BasicEffectはモデルのレンダリング時に使用されるデフォルトのエフェクトです。 BasicEffectは最大3つの指向性ライトをサポートしています。下のサンプルコードでは、BasicEffectインスタンスを操作して指向性ライトを使用してレンダリングする方法について説明します。
public void DrawModel(Model myModel, float modelRotation, Vector3 modelPosition,
Vector3 cameraPosition
) {
// Copy any parent transforms.
Matrix[] transforms = new Matrix[myModel.Bones.Count];
myModel.CopyAbsoluteBoneTransformsTo(transforms);
// Draw the model. A model can have multiple meshes, so loop.
foreach (ModelMesh mesh in myModel.Meshes)
{
// This is where the mesh orientation is set, as well
// as our camera and projection.
foreach (BasicEffect effect in mesh.Effects)
{
effect.EnableDefaultLighting();
effect.World = transforms[mesh.ParentBone.Index] *
Matrix.CreateRotationY(modelRotation) *
Matrix.CreateTranslation(modelPosition);
effect.View = Matrix.CreateLookAt(cameraPosition,
Vector3.Zero, Vector3.Up);
effect.Projection = Matrix.CreatePerspectiveFieldOfView(
MathHelper.ToRadians(45.0f), 1.333f,
1.0f, 10000.0f);
effect.LightingEnabled = true; // turn on the lighting subsystem.
effect.DirectionalLight0.DiffuseColor = new Vector3(0.5f, 0, 0); // a red light
effect.DirectionalLight0.Direction = new Vector3(1, 0, 0); // coming along the x-axis
effect.DirectionalLight0.SpecularColor = new Vector3(0, 1, 0); // with green highlights
}
// Draw the mesh, using the effects set above.
mesh.Draw();
}
}
+0
でより良い応答を得ることができます。基本的にモデルの効果を変更して、モデルのライティングをオーバーライドしますか?私はそれで大丈夫です。 –
関連する問題
- 1. C#とXNA - lerpを使って3Dモデルを別の3Dモデルに従う方法
- 2. XNAで3Dモデルを回転
- 3. Android 3Dゲーム、モデル、モデルアニメーション
- 4. XNAの3Dモデルに3Dテキストを書き込む方法C#
- 5. C++ 3Dゲーム開発
- 6. XNAで3Dモデルを移動するには?
- 7. XNAゲームのパフォーマンス
- 8. グラフィックスでブレンダーとブルーム効果を使ってゲームの3Dモデルを作成する
- 9. 3dボーダーボーダーボーダーxna
- 10. XNA 3D点群
- 11. XNA for WP7のゲーム:DrawUserIndexedPrimitives
- 12. (XNA 3.1 "Effect.CompileFromFIle")は、(XNA 4.0)に相当しますか?
- 13. 3Dアニメーション - WPFやXNA
- 14. 2D XNAゲームのマウスクリック
- 15. アンドロイドの3Dゲーム
- 16. すべてのdjangoモデルをバルクで割り当てる
- 17. 遠方の3Dオブジェクトレンダリング[ゲーム]
- 18. JavaScriptと3Dゲーム
- 19. XNAモデルのインポート - すべてのメッシュが上に表示されます
- 20. Djangoモデル - オブジェクトの代わりにidを割り当てよう
- 21. 割り当て無料ゲーム
- 22. コードを使用して3Dモデルを変更する
- 23. ゲーム(XNA)の推奨スプライトサイズ?
- 24. ゲーム(忘却など)はどのようにモデル化されていますか?
- 25. XNAチュートリアルの3D学習を初めて開始する
- 26. iPhone用3DゲームWYSIWYG
- 27. XNAを使用してXNA
- 28. XNAゲームの状態管理
- 29. Java 3Dゲーム開発
- 30. XNAゲームがウェブサイトに埋め込まれています
したがって、http://gamedev.stackexchange.com –