こんにちは、株式会社Leon Gameworksの遠藤です。

今回は、UE5内にインポート済みのスタティックメッシュアセットのトランスフォームを変更するツールを作成していきます。

記事の目次

    0:動作環境

    本記事はUE5.5.1を基に執筆しており、エディタの言語は「英語」でスクリーンショットを撮影しております。

    本記事で作成するツールのプロジェクト一式のデータは、以下からダウンロードできます。

    今回のプロジェクトデータ

    1:準備

    まずは、適当なスタティックメッシュを用意します。今回は、UEプロジェクトのテンプレートで使われているキューブを用意しました。

    ▲キューブメッシュ

    次に「Geometry Script」プラグインを有効にします。今回はこのプラグインの機能でメッシュを編集します。

    ▲「Geometry Script」プラグイン

    2:ツールの作成

    準備が整ったら早速ツールを作成します。

    [Asset Action Utility]を基に、Editor Utility Blueprintを新規で作成します。

    ▲ EUBの新規作成

    アセット名は「EUB_TransformStaticMesh」とします。

    ▲ EUB_TransformStaticMesh

    作成した「EUB_TransformStaticMesh」を開き、「Transform」という関数を作成します。

    ▲ 「Transform」関数の作成

    「Transform」関数を開き、まずはコンテンツブラウザで選択中のスタティックメッシュを取得します。

    ▲ 選択中のスタティックメッシュを取得

    次に「Dynamic Mesh」というオブジェクトを生成します。

    ▲「Dynamic Mesh」の生成

    「Dynamic Mesh」を一時的なオブジェクトとして扱います。

    スタティックメッシュを「Dynamic Mesh」にコピーし、トランスフォームの編集を行なった後に元のスタティックメッシュを上書きするような処理を作成します。

    ▲ トランスフォームを編集する処理の作成

    関数にTransform型の引数を追加します。

    ▲ Transform型の引数を追加

    追加した引数を「Transform Mesh」ノードに繋げます。

    ▲ 追加した引数を繋げる

    最後に、[Class Defaults]から[Supported Classes]に「Static Mesh」を指定して、スタティックメッシュアセットでのみ実行されるようにします。

    ▲ [Supported Classes]の指定

    これでツールの完成です。早速実行してみましょう。

    スタティックメッシュアセットを右クリックして、「Transform」を実行します。

    ▲ 「Transform」を実行

    「Asset Action Utility」や「Actor Action Utility」では関数の引数を追加すると、実行時にパラメータを設定するポップアップウィンドウが表示されます。

    ▲ ポップアップウィンドウでトランスフォーム値の設定

    ツールを実行し、アセットを開くとトランスフォームが変更されていることが確認できます。

    ▲ 「X: 150, Yaw: 45」加算

    3:機能の補足

    今回はトランスフォームを変更するノードを使用しましたが、トランスフォームの要素ごとにノードも用意されています。

    ▲ トランスフォームの要素別変更ノード

    4:まとめ

    今回は「Geometry Script」プラグインを用いたツール作成について解説しました。

    「Geometry Script」プラグインではマテリアルやUVの編集など、メッシュを変更する機能が多岐に渡って用意されております。本連載でも今後のツール作成の中で活用していきたいと思います。

    本記事で作成したツールのプロジェクト一式のデータは、以下からダウンロードできます。

    今回のプロジェクトデータ

    株式会社Leon Gameworks

    ●公式サイト
    www.leon-game.co.jp

    ●X(Twitter)
    @Leon_Gameworks

    トンコツ(遠藤俊太)

    ●トンコツ開発ブログ
    shuntaendo.hatenablog.com

    ●X(Twitter)
    @tonkotsu3656

    TEXT_トンコツ(Leon Gameworks)
    EDIT_小村仁美 / Hitomi Komura(CGWORLD)、オムライス駆