アクションゲームメーカーで「LightOccluder2D」「PointLight2D」を使用して影を自動生成する方法

2025年9月25日木曜日

AGMaker アクションゲームメーカー アクツク ゲーム開発

t f B! P L

 こんにちはAM0500です。

キャラクターのオブジェクトを作成する際に「影用のコリジョン(LightOccluder2D)を自動生成する」と書かれているけど、どうやって使うの?なんて思ったことありませんか?
私も全然使い方がわからず、色々調べてみましたので、使い方をまとめたものを紹介します。

概要

「LightOccluder2D」は2D シーン内で「光を遮る(occlude)」ことで影を作るノードです。単体では動作せず、ライト(例:PointLight2D など) がシーンに存在して初めて影が見えるようになります。この記事では公式チュートリアルの「プレイヤーのサンプルと燭台のサンプルを例に説明していきます。

設定が行われるとこのように影が表示されます。


実践手順

公式チュートリアルに用意されている燭台をゲームシーンに配置します。


燭台にある「PointLight2D」ノードの詳細は以下のようになっています。





プレイヤー側には「LightOccluder2D」があらかじめ設定されています。


キャラクターの所にある赤い線の枠が影を作る形状になっています。頂点を増やしたりして変形することができます。

プレイしてみて影が表示されることを確認してみてください。


以下は各プロパティの解説です。

LightOccluder2D

オクルーダー

OccluderPolygon2D リソースで、どの形で光を遮るか(影のシルエット)を定義します。2Dビュー上で頂点を打って形を作ります。

  • 使い方:キャラクタや壁の輪郭に沿ってポリゴンを作る。静的なら 4 点で四角、複雑なら少なめの頂点で近似。

Closed(Closed/閉じる)

オンにするとポリゴンが閉じた形になり、あらゆる方向の光をその形で遮ります。オフだと「輪郭方向のみ遮る」挙動になります。

カリングモード (Culling Mode)

ポリゴンの向き(Clockwise / CounterClockwise)により、影の向き計算で有利なモードを選べます。通常はデフォルトで問題ありませんが、描画順やメッシュ作成で問題が出たら切り替えてみます。

リソース

Local to Scene(ローカル化)

OccluderPolygon2D をシーン固有のローカルリソースにするかのチェック。動的に形を変更する場合は ON にする(共有を避ける)。

SDF Collision(SDF 衝突)

SDF(signed distance field)ベースの衝突/影処理を使うオプション。滑らかなエッジの影を生成できますが、バージョン依存・パフォーマンストレードオフがあります。

Occluder Light Mask(オクルーダーライトマスク)

このオクルーダーがどのライト(レイヤー)に対して影を落とすかをビットマスクで指定します。複数種類のライトを使っているときはここで対象を絞ります。


PointLight2D(※Light2D 系の代表例)

テクスチャ(Texture)

ライトの見た目(形)を決めるグレースケール画像を指定します。グラデーションの入った丸いテクスチャを使うことが多いです。燭台の例のような丸いテクスチャが典型。

オフセット(Offset)

ライトの描画位置を微調整するためのオフセット(x / y)。見た目上の光源位置を微調整するときに使います。

Texture Scale(テクスチャスケール)

テクスチャを拡大縮小します。ライトの見た目の広がりに影響します。

Height(高さ)

ライトの高さを指定することで、影の落ち方(鋭さ)に違いを出せる場合があります。


Light2D

有効(Enabled)

ライト自体をON/OFFします。デバッグや演出切替に使います。

エディターのみ(Editor Only)

エディタ上でのみ光を表示し、実行時は消す設定(主にデバッグの見た目調整用)。

色(Color / 色)

ライトの色。暖色の炎っぽい色(オレンジ)にすると燭台の雰囲気が出ます。

エネルギー(Energy)

ライトの強さ。数値を上げると明るく、下げると暗くなります。

ブレンドモード(Blend Mode)

Add / Mix などの合成方式。加算(Add)にすると光が強く重なった部分がより明るくなります。

範囲(Range)

光源の範囲の指定を行います。

シャドウ(Shadows)

  • Shadows(シャドウ 有効):チェックを入れると occluder による影が描画されます(必須)。

  • Shadow Color(色)/Filter(フィルター):影の色やフィルタ(ぼかし)を指定できます。より柔らかい影にしたい場合はフィルター・ぼかし設定を調整。

Item Cull Mask(アイテムカリングマスク)

ライトが影響するオブジェクトのカテゴリ(レイヤー)をビットで指定します。Occluder のマスクと合わせて管理します。


以上が「LightOccluder2D」「PointLight2D」を使用して影を自動生成する方法を紹介しました。勝手に足元の影が生成できるものだと思っていたので、こういう影なんだと思ってしまいましたが、設定方法でいろいろな事ができそうです。

良い使い方が見つかりましたら、追加記事で紹介したいと思います。


【演出テクニック】「光」を使いこなして没入感を高める

単に光を置くだけでなく、ほんの少し設定を工夫するだけで、ゲームの世界観をより深く伝えることができます。

① 「ゆらぎ」で生命感を出す(松明やランタン)

光源を置いたままにするのではなく、Visual Script(VS)を使って「エネルギー(Energy)」の数値をわずかにランダムに増減させてみてください。

  • 効果: 炎のような「ゆらぎ」が表現でき、静止した画面に生命感が生まれます。ホラーゲームや洞窟ステージの演出には欠かせません。

② 「色」で感情を揺さぶる

光の色は白以外も積極的に試してみましょう。

  • 夕暮れ: オレンジ〜赤系の光を大きく広げる。

  • 不気味な研究所: 蛍光色の緑や青。

  • セーブポイント: 暖かみのある黄色や白。 これだけで、プレイヤーは言葉の説明がなくても「ここがどういう場所か」を直感的に理解できるようになります。


前回記事:【初心者向け】アクションゲームメーカーのキャラクター設定5(AttackArea2D、AttackCollisionで登場するパラメータと当たり判定について)

このブログを検索

アクションゲームメーカーでタイトル画面からゲーム本編へ切り替える基本手順(画面遷移のやり方)

 こんにちは、AM0500です。 今回は、アクションゲームメーカー(AGM)で タイトル画面から実際のゲームシーンへ移動させる手順 をまとめます。 AGMでは、シーンの移動を個別のプログラムで書くのではなく、 「SceneTransition」という専用の画面 で一括管理します。...

最近の投稿

記事まとめ

自己紹介

自分の写真
飼い猫のモイちゃんに朝5時に起こされる生活が続いたのでAM0500と名付けました。モイちゃんへの愛でゲーム制作にも挑戦しはじめて、素人ながらも、モイちゃんを主役にしたゲームを作り上げた時の喜びは忘れられません。そこから趣味でゲーム開発を始めました。勉強中の身ですがよろしくお願いします。

QooQ