お世話になっております。SS6Player for Unity開発担当です。
前述のご返信を間違った内容で返信してしまい・一旦内容を削除してあります関係から、今回の返信を別に分けました。
何卒ご了承いただけますようお願いいたします。
SS6Player for Unity 2.0.0ベースだと、Ver.1.1系と異なり・マテリアルがランタイムで動的に生成される仕様になっているためZ-Writeの設定をどう変更したのか……にもよりますが、
現状で
それでしたいことは実現できたのですが、同アニメ内パーツ間で描画順が崩れました。
とのお話ですので、その点の対処法に絞って返信させていただきます。
本件は、ヘルプセンターの記述がSS5Player for Unityでの内容を引きずってしまっているために色々とご面倒をおかけしてしまい、申し訳ありません。
描画オーダーを「Geometry」にしてしまっていることが原因だと思われますので、「Transparent」もしくは「from Shader」の設定のままにしていただけることで、描画順序は狂わなくなるかと思われます。
※Geometryにしてしまうと、不透明の3Dモデルと同じ扱いになってしまいますため、Unityの描画マネージャでのメッシュバッチングでマテリアル毎の描画順序が、3Dオブジェクトに特化して並び替えられてしまうために、描画順序が崩れていると思われます。
その上で、「アニメーションの描画の後に3Dエフェクトを描画する」ことを保証するために、
- 3Dのエフェクト側のマテリアルのRender-Queueをアニメーション側よりも確実に後にくるように設定する
- もしくは、3Dエフェクトの描画するCameraを分けて、3Dエフェクトを描画するCameraのDepthをアニメーションを描画しているCamera(通常はこれはDepthが0になっていると思います)よりも後に描画するようにする
というような方法を講じることで、ご希望の実装状態が得られるのではないかと思われます。
※もし問題がないのであれば、上記の内「Cameraを分ける」方の手段を個人的には推奨いたします。
もし上記で解決しない場合などについては、よりプロジェクトの実行の構造に依存した対象が必要になる可能性がありますので、その場合については別途ユーザーサポートにご連絡いただければ(公開状態ではなく)プロジェクトの内容を守秘した上でのサポートを行うことができるかと思いますので、その際には何卒ご検討いただきたくお願いいたします。
ご面倒をおかけして申し訳ございませんが、何卒、今後ともよろしくお願いいたします。