Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@7ukey

SkeletalMeshのLODバイアスを強制する

More than 1 year has passed since last update.

この検証のゴール

以下のようなことをしたいので、実装可能なのかを検証します

  • ゲーム内の特定の場面では設定に関わらず、常にLOD1を使う
  • デバッグ機能として、LODモデルをプレビューできるようにする

環境

  • UE4.22
  • Windows 10

LODを作る際に以下のアセットを利用しています
https://www.unrealengine.com/marketplace/ja/slug/ue4-mannequin-mobile
(マネキン欲しさにスターターパックを入れるのは何となくいやだったので)

LODの設定

基本的な設定手順についてはUE4のドキュメントを参考にしています
https://api.unrealengine.com/JPN/Engine/Content/Types/StaticMeshes/HowTo/LODs/index.html
https://api.unrealengine.com/JPN/Engine/Content/Types/SkeletalMeshes/PerPlatformLOD/index.html

今回は一定のサイズ以下になると、マテリアルを変えて色が変わるようにしています
lod-screensize-preview.gif

SkeletalMeshを開き、「アセット詳細」の「Material Slots」で色変え用のマテリアルをセットして
image.png

LOD1で使用するマテリアルを指定することで動画のような動作をさせることが可能です。
image.png

変化する距離については、LODSettings側でScreenSizeを設定すれば準備完了です。
image.png

切り替え処理実装

とりあえず、レベル内にLODの設定を済ませたSkeletalMeshを雑に配置します
image.png

続いてレベルブループリントで以下のノードを作成します
SkinnedMeshごとに、どのLODを適用させるかを設定します
keybordの'1'でLOD1を、keybordの'2'でLOD2を設定します
image.png
SetForcedLODについては以下を参照
https://api.unrealengine.com/INT/BlueprintAPI/Components/SkinnedMesh/SetForcedLOD/index.html

結果

あとはゲームを開始してキーボードを押せば切り替えを確認できます
lod-manual-near-preview.gif

ちなみに一度SetForcedLODを行ったMeshについては、そのレベル内では常に設定したLODが適用されます。
LOD1を設定した後、どれだけカメラが離れて小さく映ろうがLOD1のままです。
lod-manual-far-preview.gif

SetForcedLevelのInNewForcedLODに0を渡すか、
レベルを読み込みなおすと状態がリセットされます。

LODがいくつ存在するかを返してくれるノードもあるので、
BPを少し修正すれば3Dモデルのビューワーなどを作成するときに利用できそうですね
https://docs.unrealengine.com/en-US/BlueprintAPI/Components/SkinnedMesh/GetNumLODs/index.html

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7ukey

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?