面が二重のオブジェクトをTransparentモードにすると手前の面が透ける

投稿者: | 2019-11-24


面が二重のオブジェクトは、中と外でオブジェクトを分けると解決すると思っていたのですが、もう一度やってみると別の結果になりました。


どちらの画像も左は面が二重の1つのオブジェクトですが正しく表示されていて、右側は内側の赤いCubeと外の青いCubeとでオブジェクトを分けたものですが、外側の面が透けてしまいます。

内側のオブジェクトが外側の面に近すぎるのが問題と思っていたのですが、それも関係ないようで、シーンに配置した後内側のオブジェクトを少し動かすと表示が正しくなりました。

もともと作りたかったのは、不透明なキャップとラベルが付いた透明な容器に、不透明な液体が入っているようなオブジェクトです。

それが、容器を透明にしようとすると、ラベルが液体の後ろに隠れて見えなくなり、キャップも透けて表示がおかしくなります。

また上から見ると、キャップが液体の下に潜り込むようになります。

キャップまで透けるのはおかしいので、キャップと液体は別のオブジェクトに分割して、Rendering ModeをTransparentでなくOpaqueにしてみることにしました。

すると、正しく表示されました。一番右がオブジェクトを分割したボトルです。

一番左はオブジェクトを分割していません。

キャップも透けていません。

オブジェクトを分割しても、不透明な部分にもTransparentモードのマテリアルを付けると透けます。

内側をOpaqueモードにすると、ちゃんと外側のオブジェクトが影を落とすようになります。

手前の列がオブジェクトを分割した方で、奥の列は二重の面を持つ1つのオブジェクトが5つ並んでいます。

コメントを残す

メールアドレスが公開されることはありません。