Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。2018.10.03今回はUnityのライトプローブについて見ていきたいと思います。ゲームでは様々なライトを設置してゲーム内のゲームオブジェクトを照らしています。ライトでゲームオブジェクトに当たる光、またその反射光等をゲーム中に計算処理を行っているわけです。そんな計算をしているのがグローバルイルミネーションシステムです。ライトプローブについて見ていく前にこのグローバルイルミネーションについて少し見ていきます。スポンサーリンクグローバルイルミネーションUnityではグローバルイルミネーションシステムを使って光の反射をシミュレートします。RealtimeGIがあります。静的なゲームオブジェクト(動かない建物等のゲームオブジェクト)は、事前にライトマップを生成しておくと光の計算をゲーム中にする必要がないので、ゲームの動作が軽くなります。動的なゲームオブジェクト(キャラクター等の動くゲームオブジェクト)には反射光の影響を及ぼすことが出来ません。複雑なゲームの舞台を事前にライトマップにベイクすると何時間もかかる可能性もあります。Realtim...learn.unity.comを見ると最適化の方法がわかります(英語ですが・・・(^_^;))。ライトマップに事前に光の反射を考慮したUVMapを保存し利用すればゲームの動作が軽くなりますが、静的なゲームオブジェクトから動的なゲームオブジェクトに反射光の効果を与えることが出来ません。Staticでなければいけませんので、これらの静的なゲームオブジェクトからの反射光を取得出来ません。グローバルイルミネーションについて詳細かつ正確に知りたい方は、記事の最後に記載する参考サイトのUnityマニュアルを参照してください。ライトプローブ静的なゲームオブジェクトの反射光を動的なゲームオブジェクトに適用する事が出来ないのはグローバルイルミネーションの項目でやりましたが、それを可能にするのがライトプローブで、シーンのライティングに関する空間のベイクしたライト情報を保持し、静的なゲームオブジェクトから動的なゲームオブジェクト、動的なゲームオブジェクトから静的なゲームオブジェクトにも光の効果を加えることが出来ます。Groupを選択します。上のように黄色い丸いポイントとそれを繋ぐ線がシーンビュー上に表示されます。この黄色い丸いポイントが光の情報を持っているポイントでゲームオブジェクトを囲むようにこのポイントを増やしたり移動させたりして光の情報を保持出来るようにします。Probesボタンを押すと下の編集ボタンが有効になります。Selectedは選択しているポイントを複製します。ポイントはシーンビュー上でマウスで選択可能で、オブジェクトハンドルを操作する事で移動、Ctrl+Dで複製、Deleteキーで削除等も出来ます。ライトプローブのポイントの数は出来るだけ少なくし、光の変化が激しい所や狭い所に多く配置した方が良いようです。ゲームオブジェクトがライトプローブのどのポイントの四面体に入っているかを調べ、そのポイントのライトの情報を取得します。説明だけ見ても分かり辛いと思いますので、実際にライトプローブを使ってみましょう。サンプルの舞台の作成まずはサンプルの舞台を作成します。Staticを選択します。Staticにチェックを入れます。ヒエラルキー上で右クリック→Light→Spotlightを選択し、Cubeに光が当たりように角度や位置を調整します。SpotlightのModeをBakeにしライトをベイクに使用します。Cubeを照らすスポットライトは上のような感じにしました。Settings)で自動と手動を切り替えることが出来ます。Lightingボタンを押さないとライトマップをベイクしません。Dataでベイクしたライトマップを削除できます。Cacheでキャッシュをクリア出来ます。Dataを選択した場合はベイクしたライトマップは消えますがキャッシュは残るようです。Lightingボタンを押してライトマップをベイクしてください。ベイクしたライトマップデータはシーンフォルダの中にシーンと同じ名前のフォルダが作成されその中に作成されます。スタンダードアセットのThirdPersonControllerをヒエラルキーにドラッグ&ドロップしてキャラクターを配置し、動かしてみます。ここまででライトマップをベイクしましたが、ライトプローブは配置していません。上のようにキャラクターがライトに当たっているにもかかわらず、暗いままです。これはスポットライトがベイク用のライトでライトマップに焼きこんでいますが、リアルタイムに光を当てない為です。Groupを選択しライトプローブをCubeを囲むようにポイントを作成していきます。今回は上のような感じでポイントを作成しました。Lightingボタンを押してベイクします。ベイクが終わったらキャラクターを動かして確認してみます。上のようにライトプローブによってスポットライトの光の情報をキャラクターに与えることが出来るようになりました。Probes等のライトプローブを使う設定をしておく必要があります。ProbesをOffにするとライトプローブの効果が得られません。発光するゲームオブジェクトゲームオブジェクト自体が発光し、動くゲームオブジェクトにその光の効果を与えたい時にもライトプローブが使えます。Lightingを押します。Staticにチェックを入れます。Assetsエリア内で右クリック→Create→Materialを選択し、名前をMyMaterialとして、先ほど作成したCapsuleに設定します。IlluminationをBakedにします。Lightingボタンを押してベイクします。実際に試してみると以下のようになります。上がライトプローブなしの場合で、下がライトプローブありの場合です。ライトプローブありの場合はキャラクターに赤みがかかった光が当たっているのがわかります。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事ライトUnityのLightコンポーネントの設定についてUnityのLightコンポーネントの細かい設定について見ていきます。ライトUnityで懐中電灯を作り、キャラクターに持たせてみるUnityのライトを使って懐中電灯を作り、キャラクターに持たせてアニメーションの動きに合わせて懐中電灯が動くようにしていきます。ライトUnityで太陽を動かして1日を表現するUnityで太陽を動かして1日を表現していきます。ライトUnityのLightingウインドウについてUnityのLightingウインドウのグローバルイルミネーション(GI)、や環境光、霧の設定等を見ていきます。Unityで巨大な敵の作成をするUnityのLODを使ってレンダリング性能を向上させるホームライトスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。