0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unity-Cast Shadowsとは?

Last updated at Posted at 2025-03-20

image.png

UnityのCast Shadowsとは?影の描画設定を徹底解説

Unity の Cast Shadows は、オブジェクトが影を落とすかどうかを設定するプロパティ です。Mesh RendererSkinned Mesh Renderer に含まれており、ライトの影響を受けて影を生成するかどうかを制御します。


Cast Shadows の設定オプション

Cast Shadows には、以下の 4 つのオプションがあります。

設定値 説明
On (デフォルト) 常に影を落とす(リアルな環境向け)
Off 影を落とさない(パフォーマンス向上、UIや一部オブジェクト向け)
Two Sided 両面に影を落とす(ポリゴンの裏側からも影を作る)
Shadows Only オブジェクト自体は表示せず、影だけを表示

Cast Shadows の使い分け

通常のオブジェクト(プレイヤー・建物・アイテム)
On(デフォルト)でOK。自然な影を作れる。

ガラスやエフェクトなど、影が不要なオブジェクト
Off にすると影が消え、パフォーマンス向上。影がちらついたりしている場合に、消したりする(画像の場合、銃の影が銃の表面でちらついていたのでOffにすることでちらつきをなくした。また、一人称視点のPlayerであるCapsuleの影が銃を暗くしていたのでそれをなくした。)

葉っぱや薄いオブジェクト(裏面からも影が必要な場合)
Two Sided を選ぶと、薄いオブジェクトも正しく影を落とせる。

透明なオブジェクトの影だけを描画
Shadows Only にすると、影だけを残してオブジェクトを非表示にできる


Cast Shadows の設定方法

① Unity エディタで設定

  1. オブジェクトを選択Mesh Renderer または Skinned Mesh Renderer がある)
  2. Inspector で「Cast Shadows」オプションを変更

② スクリプトで設定

using UnityEngine;

public class ShadowControl : MonoBehaviour
{
    void Start()
    {
        // Mesh Renderer を取得
        MeshRenderer meshRenderer = GetComponent<MeshRenderer>();

        // 影を落とす(デフォルト)
        meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On;

        // 影を落とさない
        // meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;

        // 両面に影を落とす
        // meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.TwoSided;

        // 影だけを表示
        // meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly;
    }
}

Cast Shadows を使う際の注意点

⚠️ 影を増やしすぎるとパフォーマンスに影響!
特にモバイルやVR環境では、影の描画は負荷が高いので、不要な影は Off にするのが推奨

⚠️ リアルタイムシャドウは負荷が高い
影をリアルタイムで描画すると処理が重くなるため、静的な影は「ベイクド(Baked Shadows)」を使うと軽量化できる。


まとめ

Cast Shadows はオブジェクトが影を落とすかどうかを制御する設定
デフォルトは On(影を落とす)だが、用途に応じて変更するとパフォーマンス向上
スクリプトでも制御可能
影の計算は重いので、適切に設定することでゲームの最適化が可能!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?