僕はものすご〜〜〜く、ハメられました。1週間ぐらい、ずっと謎の現象に悩んでおりまして、一時はもうダメかと思ったぐらい。
謎の現象とは、以下の様な感じで、左がUE4.9までの正常な結果で、右がUE4.10にプロジェクトを移行して実行した結果です。どちらもiPhoneでテストしたスクリーンショットです。
おかしな所は、プレイヤーであるUmbby君(傘)が真っ黒に塗りつぶされて、ライトの影響を受けていないように見えるところです。それ以外には、明らかに全体のレンダリング結果がのっぺりとして、雲や花や葉っぱなどのアクターに陰影がありません。この問題、UE4.10上のPIE(Play In Editor)では起こらないので、質が悪いのです。
シーンにはDirectional Lightを配置。MobilityはStationary(固定ライト)に設定しています。
ゲーム中のアクターは全てMovableタイプなので、Stationaryライトの影響を受けさせるため、Lightmass Importance Volumeを配置しています。Movableタイプのアクターがこのボリュームの内側に無いと、真っ黒にレンダリングされてしまいます。
例外としては、BSPのBOXなどで床とかを作って、その上にMovableアクターを配置してやると、Lightmass Importance Volumeが無くても、Stationaryライトの影響を考慮してレンダリングしてくれます。
でも、はっきり言って、これはハマリポイントなんじゃないかと…。どちらにしてもPIE上では、Lightmass Importance VolumeやBSPが無くても、大丈夫な訳なんですが…。
Lightmass Importance Volumeはでっかくしとけ
問題を特定するために、いろんな条件でプロジェクトを作って試したりしていたのですが、どうも原因が分かりません。スターターコンテンツに含まれているMinimal_DefaultマップをiPhoneに転送してみても、問題なくレンダリングされます。途方に暮れました。いろいろ試してみて、プレイヤーの傘が真っ黒にレンダリングされてしまうのは、やはりLightmass Importance Volumeが原因のような気がしてきたので、ボリュームのサイズをそれまで設定していた値より大きくしてみました。これが功を奏しました。
それまでは、ゲームでキャラクターたちが出現し、動きまわる範囲にボリュームサイズを絞っていました。UE4.9までは、これでちゃんとレンダリングしてくれていたのですが…。
これを、以下のようにボリュームを拡大しました。たった…、たった、これだけの事で元に戻りました。orz
これがUE4.10のバグなのかどうか、まだ分かりません。
不思議というか助かったのは、のっぺりとレンダリングされていた他のアクターたちの陰影も、これで元に戻ったことです。
こんなにも解明に時間がかかったのは、やはり自分の作ったモデルなりシーンなりが悪いのではないかと推測していたのが大きかったです。
なんにせよ、これでやっと先に進める〜(ハート)
0 件のコメント:
コメントを投稿