質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

3774閲覧

Vertex関数シェーダーで変形させたモデルに、変形後の影をつけたい

Kuru_teo

総合スコア11

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/09/08 09:08

前提・実現したいこと

シェーダー初心者です。

サーフェスシェーダーにて、頂点シェーダーを用いてモデルの形を変形しました。
その際、影は変形する前のままとなっています。
変形後の形の影を描写するにはどうすればよいでしょうか?

自分でもいろいろと調べてみたのですが、やはり頂点・フラグメントシェーダーで
手入れイヤーな部分を描くか、shadowcollector 等のカスタムパスの作成が必須なのでしょうか?

該当のソースコード

SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM // Physically based Standard lighting model, and enable shadows on all light types #pragma surface surf Standard vertex:disp // Use shader model 3.0 target, to get nicer looking lighting #pragma target 3.0 sampler2D _MainTex; fixed4 _Color; float _Amount; struct Input { float2 uv_MainTex; }; void disp(inout appdata_full v, out Input o) { UNITY_INITIALIZE_OUTPUT(Input, o); v.vertex.xyz += v.normal * _Amount; } void surf (Input IN, inout SurfaceOutputStandard o) { // Albedo comes from a texture tinted by color fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color; o.Albedo = c.rgb; o.Alpha = c.a; } ENDCG } FallBack "Diffuse" }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

addshadowディレクティブを追加すると、影用のパスを用意してくれるようです。

ShaderLab

1#pragma surface surf Standard addshadow vertex:disp

としてやれば、おそらく影も変形するのではないでしょうか?

参考:サーフェスシェーダーの記述 - Unity マニュアル

投稿2018/10/06 21:41

Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問