4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VRプロジェクトのUE4バージョンを上げた時にハマったこと、他

Last updated at Posted at 2018-12-10

この記事はUnreal Engine 4 (UE4) Advent Calendar 2018 11日目の記事です。

別にやりたいことがあったんですが、準備が間に合わなかったので、同じことにハマる人がごくごく少数でもいるかもと思い記録します。


Configuration Files

VRのプロジェクトといえば、パフォーマンスが大事です。FPSのために泣く泣く絵の質を落として、普通のプロジェクトの絵作りスクショに嫉妬する日々を送ります。

約1年半ほど前のプロジェクトで、VRプロジェクト制作時になるべく絵を落とさずに、パフォーマンスを出すために、名作「Robo Recall」のMod KitでのRendering設定を参考にプロジェクトを作っていました。

Robo Recall Mod Kit - Rendering Config

Robo Recall Mod Kit の Unreal Engine バージョンは4.16、DefaultEngine.ini のサイズは驚きの139KB(VRテンプレートから作った新規プロジェクトは5KB)。この中のRendering周りの設定は以下の項目です。

[/Script/Engine.RendererSettings]
r.MobileHDR=True
r.MobileNumDynamicPointLights=4
r.MobileDynamicPointLightsUseStaticBranch=True
r.AllowOcclusionQueries=True
r.MinScreenRadiusForLights=0.030000
r.MinScreenRadiusForDepthPrepass=0.030000
r.PrecomputedVisibilityWarning=False
r.TextureStreaming=True
Compat.UseDXT5NormalMaps=False
r.AllowStaticLighting=True
r.NormalMapsForStaticLighting=False
r.GenerateMeshDistanceFields=False
r.GenerateLandscapeGIData=True
r.TessellationAdaptivePixelsPerTriangle=48.000000
r.SeparateTranslucency=False
r.TranslucentSortPolicy=0
TranslucentSortAxis=(X=0.000000,Y=-1.000000,Z=0.000000)
r.CustomDepth=3
r.DefaultFeature.Bloom=True
r.DefaultFeature.AmbientOcclusion=False
r.DefaultFeature.AmbientOcclusionStaticFraction=False
r.DefaultFeature.AutoExposure=False
r.DefaultFeature.MotionBlur=False
r.DefaultFeature.LensFlare=False
r.DefaultFeature.AntiAliasing=3
r.EarlyZPass=1
r.EarlyZPassMovable=True
r.DBuffer=False
r.ClearSceneMethod=1
r.BasePassOutputsVelocity=False
r.WireframeCullThreshold=5.000000
UIScaleRule=ShortestSide
UIScaleCurve=(EditorCurveData=(PreInfinityExtrap=RCCE_Constant,PostInfinityExtrap=RCCE_Constant,Keys=),ExternalCurve=None)
vr.InstancedStereo=True
r.DefaultFeature.AutoExposure.Method=1
r.ReflectionCaptureResolution=256
r.GBufferFormat=1
r.ForwardShading=True
r.SupportStationarySkylight=False
r.SupportLowQualityLightmaps=False
r.SupportPointLightWholeSceneShadows=False
r.SupportAtmosphericFog=False
r.VertexFoggingForOpaque=True
r.AllowGlobalClipPlane=True
r.CapsuleShadows=2

それぞれの項目についての説明は Console Commandから help と入力することでみることができる、html のから検索するのが便利です。

この設定を基本として、設定をさらに加えて使用していました。当時4.18まで上げていた、このプロジェクトを 4.20、4.21に上げた時に起こった問題について共有します。

At 4.20

4.20更新時には、エディタを開いただけでは問題なく使えるのですが、画面にマテリアルを表示しようとすると落ちる。という問題が発生しました。

再現条件は以下の二つが揃った時に起きます。

r.ForwardShading=True 
r.SupportStationarySkylight=False 

r.SupportStationarySkylight を True に変更するか削除すると、正常に使えます。こちらの問題は4.21にて修正済みです。

At 4.21

4.21では下記の設定が有効な時に、PointLightを追加やLevel場で動かすとエディタが落ちます。

r.SupportPointLightWholeSceneShadows=False

回避方法は消すか設定値を True にする。Issueにトラッキング済みです。
https://issues.unrealengine.com/issue/UE-62132

その他

以上はRendering周りの設定でハマったところです。他には 3DWidget 周りでいくつか踏みました。

  • UE4.20でEditableTextにキーボードから入力が出来ない (Packaging またはStandalone時、answerhub)
  • UE4.21でEditableTextにキーボード入力出来るようになったけど、日本語が入力できない(同上)
  • UE4.20から、ButtonのClickが押せない(Pressedを使うことで回避できる、answerhub)

いいわけ おまけ

Myon.gif

以前に購入したUE4マーケットプレイスの「VR Integrator Radial and Dockable Menus」というアセットに、Smooth Laser Pointer が含まれていました。

このみょんみょん感が気に入ったので、解析して解説したいと思っていました。移植はできたのですが、簡易化や理屈部分の説明がしきれずタイムオーバーになりました。

UE4マーケットプレイスはクリエイターの取り分88%ですし、興味を持った方は応援の意味も込めて覗いてみてください。

Epic Games Storeもデベロッパー88%ですし、UE4もこれからが楽しみですね!いつかVRゲーを Epic Games Store に公開したいです。あと、Oculus Quest向けのEpic新作待ってます!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?