アプリつくってみっか!趣味でiPhone/Androidアプリを開発し、日々勉強した事を書いています。オープンワールド系レースゲームをUnityで開発中です。この広告は、90日以上更新していないブログに表示しています。Cityアセットを使わせてもらっています。Leavesシェーダーを使って木の影が綺麗に出るようにする方法を以前ご紹介しました。tf.hateblo.jp当時は完璧に思えたこの方法ですが、実は大きな問題がありました。名前から察するにおそらく葉っぱを描くためのシェーダーなので、光の当たり方によってやたらと眩しく反射して色がおかしくなってしまうのです。光の当たる向きによってはこんな風に白っぽく光ってしまいます。明らかに不自然な色なのですが、Unityに入っている様々なシェーダーを試したのですが、これ以上のシェーダーは見つからなかったのでこれまで我慢して使っていました。ModeをCutoutにすると一見良さそうに見えるのですが、木の裏側に回ると木が見えなくなってしまうという大きな欠点があります。Cullingという高速化手法によるもので、通常は見えないポリゴンの裏面は描画しないようにしているためです。CullingをOFFにして、ポリゴンの両面が描画されるようにしてやる必要があります。Cullingのせいで消えてしまいました。Cullingを切ってみました。今回紹介する方法は私の環境では動いていますが、正しいやり方なのかどうかはわかりません。何かおかしな点にお気づきの方は是非お知らせいただけると嬉しいです。シェーダーに手を入れるにはまずシェーダーのソースを手にいれる必要があります。shadersがありますのでダウンロードします。ダウンロードしたファイルのDefaultResourcesExtraフォルダーの中にStandard.shaderというスタンダードシェーダーのソースファイルが見つかるはずです。これを例えばStandardCullOff.shaderなど適当にリネームしてプロジェクトのAssetsフォルダーにコピーします。あとはこれを適当なエディターで開いて編集します。先頭の行で定義しているシェーダーの名前をこんな感じに適当に変更します。"StandardCullOff"なお、Macのテキストエディットで編集するのはお勧めしません。ダブルクオーテーションの閉じる方が違う文字に変換されたりしますので。Offという行を追加します。Offが書かれていますので、そこはそのままで結構です。注:先ほども書きましたが、この方法が正しいという保証はどこにもありません。"UnityStandardCore.cginc"ENDCG}追記が完了したらファイルを保存します。すると、マテリアルのシェーダーの選択肢に先ほどカスタマイズしたシェーダーが現れます。ModeをCutoutにします。Cutoffの値で透明部分の閾値を設定します。Smoothnessは両方とも0にします。0でないとポリゴンの裏面が白っぽくなったりしますのでご注意ください。最近の他の動画と比べると木の色が自然になっているのがわかりますでしょうか?特に、裏のストレートの高速道路下の道路の脇の木の色の違いがわかりやすいとおもいます。今回はミニマップを表示してみました。アプリこの商品を含むブログを見るプロフィールid:takujidev個人でiPhone/Androidゲームを開発しています。ミツバチ軍団vs昆虫軍団の縦スクロールシューティング。