LoginSignup
3
2

【Unity】Editor拡張でSpriteRendererに影を落とすかの設定項目を付け足す

Last updated at Posted at 2023-10-16

拡張結果

image.png
赤い丸のところが増えます。

ソースコード

作ったわけ

2DのSpriteに影を落とすShaderを書いてもUnityのインスペクターのモードをNormalからDebugに変更してCastShadowsを変更しないとSpriteは影を落としてくれません。
image.png
Debugモードに切り替えて…
image.png
CastShadowsを変更する。
image.png
そしてどうせNormalに戻します。

何回も設定するのめんどくさいのでSpriteRendererから設定できるようにした方が楽だと思いました。

参考

コードの8割はここにあります。

using (new EditorGUILayout.HorizontalScope())
{
    EditorGUILayout.LabelField("Sprite Cast Shadow");
    shadowCastingMode = (ShadowCastingMode)EditorGUILayout.EnumPopup(spriteRenderer?.shadowCastingMode);
    spriteRenderer.shadowCastingMode = shadowCastingMode;
}

見た目をいい感じにするためにusing (new EditorGUILayout.HorizontalScope())で要素を横にそろえてLabelFieldで文字、EnumPopupでEnumを作って終わりです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2