「MonoGame/クラスライブラリ/DirectionalLightクラス」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | + | DirectionalLightクラスは、[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]で使われている[[ディレクショナル光源]]([[平行光源]])を表すクラスである。 | |
+ | |||
+ | ディレクショナル光源はオブジェクトの位置に関係なく特定の角度から照らすライトである。 | ||
+ | 見た目は太陽光に照らされた様になる。 | ||
+ | |||
+ | 光の当たらない面が真っ黒になってしまうため[[アンビエント光源]]と一緒に使うことが多い。なお、[[MonoGame]]の[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]には3個のディレクショナル光源が標準搭載されており、3方向から照らして真っ黒になる部分をなくすこともできる。 | ||
+ | まあ、余程の事がない限り[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]の[[MonoGame/クラスライブラリ/BasicEffectクラス/EnableDefaultLightingメソッド|EnableDefaultLightingメソッド]]で自動設定される値しか使わないであろう。 | ||
== 継承 == | == 継承 == | ||
36行目: | 42行目: | ||
| public | | public | ||
! style="white-space:nowrap;text-align:left" | Direction | ! style="white-space:nowrap;text-align:left" | Direction | ||
− | | | + | | 光源の方向。この方向と向き合う面に光が当たる。 |
|- | |- | ||
| public | | public | ||
46行目: | 52行目: | ||
| 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。 | | 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。 | ||
|} | |} | ||
+ | |||
+ | == 使用例 == | ||
+ | このクラスのDiffuseColorで指定された光源色と頂点やテクスチャの色が合成され、さらにポリゴンの面とライトとの角度に応じて強弱が付けられる感じになる。 | ||
+ | * [[MonoGame/クラスライブラリ/VertexPositionColor構造体|VertexPositionColor構造体]] | ||
+ | * [[MonoGame/クラスライブラリ/VertexPositionColorTexture構造体|VertexPositionColorTexture構造体]] | ||
+ | |||
+ | <source lang="csharp"> | ||
+ | // ライトを有効にする | ||
+ | _effect.LightingEnabled = true; | ||
+ | |||
+ | // 平行光源0番 | ||
+ | _effect.DirectionalLight0.Enabled = true; | ||
+ | _effect.DirectionalLight0.Direction = new Vector3(-1, -0.9f, -0.8f); | ||
+ | _effect.DirectionalLight0.DiffuseColor = new Vector3(1f, 0f, 0f); | ||
+ | </source> | ||
== 関連項目 == | == 関連項目 == | ||
* [[MonoGame/クラスライブラリ/BasicEffectクラス]] | * [[MonoGame/クラスライブラリ/BasicEffectクラス]] | ||
− | * [[ | + | * [[アンビエント光源]] |
− | * [[ | + | * [[ディレクショナル光源]] ([[平行光源]]) |
− | * [[ | + | * [[ディフューズライト]] |
− | * [[ | + | * [[スペキュラライト]] |
+ | * [[エミッションライト]] | ||
[[category: MonoGame]] | [[category: MonoGame]] |