Help us understand the problem. What is going on with this article?

Unity3Dで影生成するときだけローポリのモデルを使用する

More than 5 years have passed since last update.

Unityの影生成は便利ですが、デフォルトでは描画用と影生成用に同じモデルを使用するため、単純に考えて2倍の描画コストがかかってしまいます。
そこで、影生成専用のローポリモデルを使用することを考えます。

スクリーンショット 2013-10-02 20.19.50.png

Mayaの削減機能を利用して、頂点数をおよそ1/3にしたモデルを用意しました。
このモデルにオリジナルと同じ骨を入れて、Unityにインポートします。

スクリーンショット 2013-10-02 20.27.21.png

描画用のモデルの階層の中から、MeshRendererを探し、Cast Shadowsのチェックを外しておきます。
このMeshRenderがアタッチされたGameObjectを複製します。

スクリーンショット 2013-10-02 20.28.49.png

複製されたSkinnedMeshRendererに、先ほどインポートしたモデルを設定します。
Cast Shadowsにチェックを入れ、Receive Shadowsのチェックを外します。
これで、描画用と影生成用、二つのオブジェクトが重なった状態になりました。

このままでは通常のレンダリングパスにおいても、影生成用モデルが描画されてしまいます。
そこで、通常時にレンダリングしないようにシェーダを定義します。

ShadowCaster.shader
Shader "Custom/ShadowCaster" {
    SubShader {
        UsePass "VertexLit/SHADOWCASTER"
    } 
    FallBack off
}

このシェーダを元にマテリアルを作成し、影生成用モデルに設定します。
これで作業は終わりです。

スクリーンショット 2013-10-02 20.10.46.png

スクリーンショット 2013-10-02 20.10.31.png

Statsを見ると、頂点数が減っていることが確認できますね。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした