2026年5月28日木曜日

Geometry Scriptで書き出したStaticMeshにコリジョン(当たり判定)を設定する方法

 [UnrealEngine5.7.4][Windows11]で確認 

書き出したStaticMeshにコリジョン(当たり判定)を設定する方法

Geometry Scriptの Create New Static Mesh Asset From Mesh ノードは、デフォルトのままだと「見た目のメッシュ(形状)」だけを書き出し、「コリジョン(当たり判定のデータ)」を自動生成してくれない仕様になっています。

そのため、そのままレベルに配置するとスタンドアローンゲーム等でプレイヤーがすり抜けてしまいます。この問題を解決する2つのアプローチ(自動化・手動設定)をまとめました。

🛠️ 解決法1:ブループリント(生成時)にコリジョン自動生成ノードを追加する

StaticMeshをアセットとして保存する直後、または直前に「コリジョンを計算してアセットに焼き付ける」ノードを挟むことで、自動的に当たり判定付きのStaticMeshを作ることができます。

■ 使用するノード

  • Set Static Mesh Collision From Component

■ ブループリントの組み方

アセットを生成するノードの後ろ(直後)に、以下のようにノードを繋ぎ足します。

[Create New Static Mesh Asset From Mesh] 
       ↓ (生成成功の実行ピンから)
[Set Static Mesh Collision From Component]
       ├─ Static Mesh: (生成されたアセットのReturn Valueを繋ぐ)
       └─ Component: (元のDynamic Mesh Componentを繋ぐ)

💡 解説: この Set Static Mesh Collision From Component ノードを使うと、Dynamic Mesh Componentが持っていたコリジョンの設定や形状を、そのまま新しく作ったStaticMeshアセットにコピー・焼き付け(ベイク)してくれます。

📦 解決法2:生成されたアセットをエディタ上で手動設定する

すでにいくつかStaticMeshを書き出し終えている場合は、アセット自体の設定を変更するだけで直ります。

  1. コンテンツブラウザで、生成された StaticMeshアセットをダブルクリック してエディタを開きます。

  2. 画面上部のメニューにある 「Collision(コリジョン)」 をクリックします。

  3. 「Simple Collision(単純コリジョン)」 にチェックを入れて、現在当たり判定が本当にあるか確認します(何も緑色の線が表示されなければ、コリジョンが無い状態です)。

■ コリジョンを生成する設定

そのままStaticMeshエディタの右側にある Details(詳細)パネル をスクロールし、「Collision」 セクションを探します。

  • 簡単な形状(箱や球など)の場合: 上部メニューの CollisionAdd Box Simplified Collision などを選んで、簡易的な当たり判定をつけます。

  • 複雑な形状(凹凸のある地形やくり抜いた壁など)の場合: 詳細パネルにある Collision Complexity(コリジョンの複雑度) という設定項目を、Project Default から Use Complex Collision As Simple(単純コリジョンとして複雑なコリジョンを使用) に変更します。

これで、メッシュの見た目通りの正確な当たり判定が生成されます。

DynamicMeshをStaticMeshに変換・保存してアセット化する方法

 [UnrealEngine5.7.4][Windows11]で確認

DynamicMeshをStaticMeshに変換・保存してアセット化する方法

UE5.7のGeometry Scripting機能(DynamicMesh)を使ってブループリント上で作成した形状は、そのままではスタンドアローンゲームやパッケージ版で表示されなくなってしまいます。

これを回避するためには、作成した形状をコンテンツブラウザに「StaticMesh(スタティックメッシュ)」として書き出して保存(アセット化)する必要があります。その具体的なノードの組み方と、エディタ上からボタン一発で実行できる便利ツールの作り方を解説します。

💡 メッシュを変換・保存する核心ノード

Geometry Scriptには、DynamicMeshの形状をStaticMeshアセットとしてコンテンツブラウザに書き出すための専用ノードが用意されています。一番よく使うのが Create New Static Mesh Asset From Mesh というノードです。

■ ノードの設定手順

  1. Target Mesh を用意する 変形や生成を終えた、完成形の Dynamic Mesh(または Target Mesh 変数)を用意します。

  2. Create New Static Mesh Asset From Mesh ノードを配置 このノードが、DynamicMeshのデータをもとに新しいStaticMeshアセットをハードディスク(コンテンツブラウザ)に書き出します。

  3. ピンの設定(重要)

    • From Dynamic Mesh: 変換したいDynamicMeshを繋ぎます。

    • Asset Path Game Relative: 保存先のパスを文字列(String)で指定します。 (※例: /Game/GeneratedMeshes/MyNewMesh と書くと、コンテンツフォルダ内の「GeneratedMeshes」フォルダに「MyNewMesh」という名前で保存されます)

    • Options: ここでUVの割り当てや、Nanite(ナナイト)を有効にするかどうかの設定(Enable Nanite)ができます。

📋 エディタ用ボタンを作るブループリント実装パターン

エディタ上でボタン一発でStaticMesh化したい場合、「Actor」のブループリントに以下のように実装するのが一番簡単です。

1. イベントグラフにカスタムイベントを作る

イベントグラフ(Event Graph)を開き、右クリックから Custom Event を作成します。名前は ExportToStaticMesh などにしておきます。

2. 「エディタで呼べるボタン」にする

作成した Custom Event ノードを選択し、画面右側の Details(詳細)パネル を見ます。

  • 「Call in Editor(エディタで呼び出し)」 というチェックボックスがあるので、そこにチェックを入れます

  • これにより、レベル上にこのActorを配置した際、詳細パネルに「ExportToStaticMesh」というボタンが出現するようになります。

3. ノードを繋ぐ

以下のような流れでノードを繋ぎます。

[Custom Event (Call in Editor)]

       ↓

[Get Dynamic Mesh Component] ── (Target)

       ↓

[Get Dynamic Mesh] (ComponentからMeshデータを取得)

       ↓

[Create New Static Mesh Asset From Mesh] 

       ├─ From Dynamic Mesh (上のMeshデータを繋ぐ)

       └─ Asset Path Game Relative: "/Game/Procedural/MyMesh_01"



4. エディタ上で実行する

  1. このActorをレベルに配置します。

  2. 配置したActorを選択し、画面右側の「詳細(Details)」パネルを見ます。

  3. 先ほど作ったイベント名のボタンが表示されているので、それをクリックします。

  4. コンテンツブラウザの指定したパスに、新しく StaticMeshアセット が自動生成されます!

⚠️ 注意点:既存のアセットを上書きしたい場合 もし、何度も形状を微調整して「同じアセット名で上書き保存」したい場合は、Create New~ ではなく Recompute Static Mesh Asset From Mesh というノードを使用します。 (Create New~ のまま同じ名前で実行すると、別名で新規作成されてしまうか、上書きされずエラーになることがあります)

2026年5月8日金曜日

GIMP:画像リサイズ時の「補間方式」使い分けメモ

 GIMP 2.10.38(Windows版)で画像を拡大・縮小する際、画質を左右する「補間」の設定についての備忘録。

1. キュービック (Cubic)

  • 特徴: 周囲の画素から滑らかに色を補完する、最も標準的な方式。

  • メリット: 処理が非常に高速で、極端なサイズ変更でなければ十分な品質が得られる。

  • デメリット: 拡大時にエッジが少しぼやけたり、コントラストの強い境界に「ハロー(白い縁取りのようなノイズ)」が出ることがある。

  • 用途: 速度優先の作業や、標準的なリサイズ。

2. NoHalo (ノーハロー)

  • 特徴: エッジ周辺に発生する不自然な光彩(ハロー)を徹底的に抑える計算を行う。

  • メリット: 画像を縮小する場合に非常に優れている。色が混ざりすぎず、シャープさを維持したまま小さくできる。

  • 用途: 写真やイラストを高品質に縮小したい時。

3. LoHalo (ローハロー)

  • 特徴: ハローを抑えつつ、色のグラデーションや質感をできるだけ維持する。

  • メリット: 画像を拡大する場合や、劇的なサイズ変更を伴わない場合に適している。細かいディテールの損失が少ない。

  • 用途: 写真を大きく引き伸ばす時や、微妙な色合いの変化を保ちたい時。


クイックリファレンス

目的推奨する補間
綺麗に小さくしたいNoHalo
綺麗に大きくしたいLoHalo
速度重視 / プレビュー用キュービック

注意点:ドット絵の場合

ドット絵のように「1ピクセルもぼかしたくない」という場合は、これらではなく**「補間しない (None / Nearest Neighbor)」**を選択すること。