4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【UE5】キャラクターだけをくりぬいた画像の作成方法

4
Last updated at Posted at 2025-12-23

この記事はUnreal Engine (UE) Advent Calendar 2025の24日目の記事になります。

はじめに

私はエンジニアではなくデザイナー(仮)ですので、ちょっとだけデザインよりの話になります。

ゲームの宣伝素材を用意するときに、ゲームプレイ中のキャプチャ画像ではなく、
キャラクター単体をくりぬいた 使い勝手の良い宣伝用素材が欲しい時ありませんか?
こんな感じの
image0.png

UE上で画像を二枚撮影して、写真加工ソフトに持っていって、ちょろっと作業すれば出来上がります。
写真加工ソフトはAffinity Photoを使いますが、(最近無料になりましたよ)
どのソフトでも対応できる内容かと思います。

※UE5.7.1で試しています。

目次

ポーズを用意

切り抜きたいポーズを用意します。
一番楽なのは、そのキャラクターが使用しているアニメーションの1ポーズを切り取ることですので、
アニメーションシーケンスがあればOKです。
image1_anim.jpg

撮影用のマップ作成

新規レベルを作成して保存しておきます。
中身は「基本」でOKです。
image2_map.jpg

続いてレベルシーケンスを作成して保存しておきます。
image3_ls.jpg

ポーズを付けたいキャラクターのスケルタルメッシュをレベルシーケンスへドロップします。
image4_skeltal.jpg

読み込んだスケルタルメッシュのアニメーションの欄の+ボタンをクリックし、
ポーズを切り出したいアニメーションシーケンスを選択します。
image4.1_animation.jpg

これで一旦OKです。レベルシーケンスの変更を保存しておいてください。

マスクの準備

UE上でマスク用の画像を撮影したいので、
そのためにポストプロセスマテリアルを使用します。

マテリアルを新規作成してください。
image5_material.jpg

中身を開いてください。
詳細パネルからMaterial Domainを「Post Process」に変更します。
image6_materialdomain.jpg

SceneTextureノードを作成してください。
ノードを選択した状態で、詳細パネルを確認してください。
Scene Texture IdCustomStencil に変更してください。
image7_scenetexture.jpg

続いてConponentMaskノードを作成して、
SceneTextureノードのColorから繋ぎます。
ConponentMaskの詳細パネルから、チェックボックスをRだけに付けてください。
image8_mask.jpg

Ifノードを作成します。
・Aには、先ほどのConponentMaskを繋げます。
・Bには、1.0と入力します。
・A > Bには、Constantを作成してValueを0にしたものを繋ぎます。
・A==Bには、Constantを作成してValueを1.0にしたものを繋ぎます。
・A < Bには、A>Bで作成したものと同じものを繋ぎます。

出力をエミッシブカラーに繋げます。
image9_materiallast.jpg

これでマテリアルの準備は完了です。

続いてレベル上にポストプロセスボリュームを用意します。
既にレベル上に存在している場合はそちらを利用して問題ありません。
ない場合は上部メニューから新規作成してください。
image10_postvolume.jpg

ポストプロセスボリュームの詳細パネルを確認し、
Infinite Extent にチェックを入れます。
これでポストプロセスの効果がレベル全体に有効になります。
image11_post2.jpg

更に詳細パネルからポストプロセスマテリアルを確認し、
+ボタンを押して要素を追加します。
image12_post3.jpg

出てきた「選択」をクリックし、アセットリファレンスを選択します。
そこに先ほど作成したマテリアルを設定します。
image13_post4.jpg

今はレベル全体が真っ黒になってしまいますので、
1.0となっている値を0にしておきます。

このマテリアルはCustom Depth Stencil Valueの値が1のものだけ白く表示し、
それ以外の値の場合は黒く表示する、といった感じのものです。
デフォルトではすべて0になっていますので、すべて真っ黒になっています。

ですので次にCustom Depth Stencil Valueを設定していきます。
プロジェクト設定を開いて,「custom depth」と検索をかけます。
カスタム深度ステンシルパスをEnabled with Stencilに設定します。
image14_pjset.jpg

先ほど作成しておいたレベルシーケンスを開いて、
読み込んだスケルタルメッシュを選択します。
詳細パネルから先ほどと同様に「custom depth」と検索をかけます。
Render CustomDepth Passにチェックを入れて、
CustomDepth Stencil Value を1に設定します。
image15_charadepth.jpg

これで先ほどのポストプロセスボリュームの、
ポストプロセスマテリアルを0以上にすると、キャラは白く、それ以外は黒くなっていれば成功です。
image16_sirokuro.jpg

撮影

シーケンサーにカメラを追加します。
image17_camera.jpg

CameraComponentの下の欄にある、
Current ApertureとCurrent Focal Lengthの効果は簡単に押さえておきましょう。
image18_camerasetting.jpg

Current Aperture
値が高いとボケている個所が減ります。
値が低いとボケている個所が増えます。

Current Aperture 2.0
image20_current aperture2.jpg

Current Aperture 22.0
image19_current aperture1.jpg

Current Focal Length
値が低いと平面っぽく映ります。
値が高いと広角っぽく映ります。

Current Focal Length 10
image21_FOV1.jpg

Current Focal Length 80
image22_FOV2.jpg

今回はキャラクターがはっきりと映ればよいので、
Current Aperture 22.0
特にこだわりがなければ、
Current Focal Length 35
で問題ないかと思います。

カメラやキャラクターをぐりぐり動かして、良いアングルを探してください。
ライトはこだわりだすとキリがないので、ここでは割愛します。
キャラクターの場合、三点照明が無難かと思います。

この時、キャラクターの 揺れもの を調整したい場合は、
レベルシーケンスに追加したスケルタルメッシュの上で右クリックを押し、
「コントロールリグにベイク」→「FKコントロールリグ」を追加します。
FKコントロールリグを使うことで、キャラクターの骨を弄ることが出来ますので、
それを利用して 揺れもの を調整しましょう。

image23_FKctlrRig.jpg

では撮影していきます。
ビューポートのカメラ設定が、レベルシーケンスのカメラになっていることを確認してください。
image24_viewportcamera1.jpg

ビューポート上でGキーを押すとゲームモードの表示になりますので、
いらないアイコンなどが消えてくれます。

ウィンドウ下のコンソールコマンドに下記の様に記入します。
HighResShot 3840x2160
その後エンターを押して実行してください。
image25_consolcommand1.jpg

これで4Kサイズの画像が保存できました。
デフォルトの保存先は下記になります。

\プロジェクト名\Saved\Screenshots\WindowsEditor

では続いてマスク用の画像を撮影します。
カメラの角度は変えずに、レベルのポストプロセスマテリアルの値を0以上にしてください。
キャラクターだけが白く、そのほかが黒くなったことを確認して、
再度コンソールコマンドにHighResShot 3840x2160を入力してエンターを押してください。

これで2枚の画像が用意できました。

写真加工ソフトへ

撮影した2枚の画像を写真加工ソフトに読み込みます。
ここではAffinity Photoを使って説明します。
通常の撮影画像を下のレイヤー
白黒の撮影画像を上のレイヤーにくるようにしておきます。

まず白黒画像の方を、完全な白と黒だけの画像に変換させます。

UEで撮影した白黒の画像は、微妙にキャラが発光していたりしますので、
それだとうまくマスクにならない場合があるのです。

調整レイヤーからポスタライズを選択します。
ポスタライズレベルを2にします。
image26_postaraise.jpg
これで完全に真っ白と真っ黒だけになりました。

ポスタライズ調整レイヤーと白黒画像のレイヤーを選択して右クリックを押します。
「選択範囲の結合」を実行して一つのレイヤーにまとめておきます。
結合されたレイヤーを右クリックして、「マスクにラスタライズ」を選択します。
するとキャラクターだけキレイにくりぬかれた画像が出てきます。
image27_kurinuki.jpg

後は好きに加工して、pngなどの透過が有効な拡張子で書き出せば完了です。

完成

image.png

一見手順は多く見えますが、
撮影用のレベルやマテリアルは一度用意しておけばOKなので、
簡単な素材であれば5分くらいで完了します。

おわりに

私が個人で作成中のゲームでも、このやり方で宣伝素材はもちろん、
ゲーム内のカードイラストにシルエットとして使っていたりします。
興味がございましたら覗いてみてください:bow:
Steamページ

最後まで読んでいただきありがとうございました!
以上になります。

4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?