[UE4] コピー&ペースト

05.07

[UE4] コピー&ペースト はコメントを受け付けていません。

copy_paste

普段のPCを使った作業のなかで、コピー&ペースト(以下、コピペ)は欠かせない機能です。

UE4でも、もちろんコピペ機能は実装されていますが、意外と便利な使い方が知られていないこともあるようです。

そこで今回は、UE4のコピペ機能についてご紹介したいと思います。

 

Actor の Copy(コピー)とDuplicate(複製)

UE4上でなんらかのActorを選択し、メインメニューの「Edit」を選択してみます。

このように、コピペ関連の機能が並んでいます。

ただ、ほとんどの場合は、このメニューではなく、キーボードのショートカットを使われるのではないでしょうか。

 

ココで、「Copy」(コピー)と「Duplicate」(複製)が別で存在しています。

これは何が違うのかというと、「Duplicate」は単に、その場で「Copy」と「Paste」を連続して実行しているだけです。

つまり、その場に複製を作成します。Altキーを押しながらActorを移動させる際にも、「Duplicate」が行われています。

 

では、「Copy」のメリットはなんでしょうか。

「Copy」を行うと、そのActorを配置するための情報が、Windowsのクリップボード上に保存されます。

つまり、その場じゃなくても貼り付けが出来ます。レベルを跨いでも、プロジェクトを跨いでもOKです。

あるプロジェクト上で「Copy」した配置情報は、全く別のプロジェクト上でも「Paste」出来ます。

 

プロパティのコピペ

UE4上でコピペが出来るのは、Actorの配置情報だけではありません。

あらゆる型のプロパティがコピペ可能です。

例えば、「Location」や「Rotation」の値は、XYZまとめて一度にコピペが可能です。

 

「Details」ウィンドウなどで、対象のプロパティを右クリックすると、「Copy」「Paste」のメニューが出てきます。

単純な数値型だけでなく、列挙型や、アセット参照型もコピペが可能です。

UE4.7から「Details」ウィンドウにコンポーネントが表示されるようになりましたが、コンポーネントを丸ごとコピーして、別のActorに貼り付けることも可能です。

 

Unreal Text (t3d) 形式のデータ

では、コピペの際にクリップボードに貼り付けられるデータは、どのようなものでしょうか。

実際に、1つのActorを選択してコピーした状態で、テキストエディタ上にペーストしてみると、下記のようなテキストデータが貼り付けられます。

Begin Map
   Begin Level
      Begin Actor Name=Actor_1 Archetype=Actor’/Script/Engine.Default__Actor’
         Begin Object Name=”DefaultSceneRoot”
         End Object
         Begin Object Name=”DefaultSceneRoot”
            bVisualizeComponent=True
            RelativeLocation=(X=200.000000,Y=80.000000,Z=100.000000)
            CreationMethod=Instance
         End Object
         RootComponent=SceneComponent’DefaultSceneRoot’
         ActorLabel=”Actor”
         InstanceComponents(0)=SceneComponent’DefaultSceneRoot’
      End Actor
   End Level
Begin Surface
End Surface
End Map

これは、t3d形式という、UE独自形式のテキストデータです。

実は、UE4のコピペは、このt3dデータを介して実装されています。

 

つまり、逆に言うと、t3d形式のデータを作成することさえ出来れば、配置情報を外部ツールで作成/編集することも可能ということです。

「Paste」によってクリップボードから貼り付けるほか、ファイルとして保存されたt3dデータは、メインメニューの「File」->「Import…」からインポートすることも可能です。

 

注意点

ほとんどのケースは、上記のようにt3d形式のテキストデータを介してコピペが可能ですが、完全に万能ではありません。

 

例えば、MatineeActorのように、他のActorを参照する場合です。

t3d上では、下記のようにActorへの参照が「ID Name」によって保存されているようですが、同じ「ID Name」のActorが存在するレベル上に「Paste」しても、Actorへの参照は切れてしまうみたいです。

GroupActorInfos(0)=(ObjectName=”InterpGroup_0″,Actors=(StaticMeshActor’/Game/StarterContent/Maps/Minimal_Default.Minimal_Default:PersistentLevel.Chair’))
GroupActorInfos(1)=(ObjectName=”InterpGroup_1″,Actors=(StaticMeshActor’/Game/StarterContent/Maps/Minimal_Default.Minimal_Default:PersistentLevel.Chair_15′))

このケースでは、トラックとキーフレームの情報は保持されているようなので、Actorをグループに再登録する手間だけが必要になるようです。

 

 

このような機能を把握しておけば、ちょっとした作業を簡略化出来たり、コンテンツ開発のワークフローに組み込んで外部ツールとの連携を強化したり出来ます。

せっかくなので、便利に使っていきましょう。

 

  • このエントリーをはてなブックマークに追加

関連記事

コメントは利用できません。

カテゴリー

ページ上部へ戻る