mac/ios
- updated: 5.7.1
- https://developer.apple.com/jp/xcode/resources/
macでbuildするために推奨されているスペックはm3+です。naniteを使用できます。
- m1-3
- metal v2.4
- nanite
# https://github.com/Homebrew/brew
$ brew install zsh git tmux vim
容量を圧迫するdir
~/Library/Developer/Xcode/Archives
~/Library/Containers/com.apple.CoreDevice.CoreDeviceService/Data/Library/Caches
platform別に設定を分ける
mapなどを分けると良いです。os固有の問題が多発するからです。また、buildではdebugが表示されないようにしておきましょう。
以下の設定はbuild時のみ有効です。
Config/Windows/WindowsEngine.ini
[/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/Syui/Airse/World/LVL_Earth_Win
[/Script/Engine.Engine]
bDisableAllScreenMessages=true
bDisableAILogging=True
[ConsoleVariables]
DisableAllScreenMessages=1
Config/Mac/MacEngine.ini
[/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/Syui/Airse/World/LVL_Earth_Mac
[/Script/Engine.Engine]
bDisableAllScreenMessages=true
bDisableAILogging=True
[ConsoleVariables]
DisableAllScreenMessages=1
Config/IOS/IOSEngine.ini
[/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/Levels/DefaultLevel
[/Script/Engine.Engine]
bDisableAllScreenMessages=true
bDisableAILogging=True
[ConsoleVariables]
DisableAllScreenMessages=1
Config/IOS/IOSGame.ini
[/Script/UnrealEd.ProjectPackagingSettings]
+MapsToCook=(FilePath="/Game/Levels/DefaultLevel")
iosでテストする方法
基本的に、devでbuildして、xcarchiveの中にある.appを取り出す。そして、xcodeを開いて、デバイスをつなぎ、device simulatorから.appをinstallする。.ipaではエラーが出る。
$ xcrun devicectl device install app --device "$IOS_DEVICE_ID" "$app_path"
ipadを横にする
Config/DefaultEngine.ini
bSupportsLandscapeLeftOrientation=True
bSupportsLandscapeRightOrientation=True
mac固有の問題
buildに失敗する
これは、環境によりますが、SM6をfalseに変更します。metal v2.4を選択します。
Config/DefaultEngine.ini
[/Script/MacTargetPlatform.MacTargetSettings]
-TargetedRHIs=SF_METAL_SM6
+TargetedRHIs=SF_METAL_SM5
MetalLanguageVersion=7
また、cpuも指定しておいたほうがいいかもしれません。
[/Script/MacTargetPlatform.MacTargetSettings]
EditorTargetArchitecture=MacTargetArchitectureAppleSilicon
TargetArchitecture=MacTargetArchitectureAppleSilicon
EditorDefaultArchitecture=MacTargetArchitectureHost
DefaultArchitecture=MacTargetArchitectureHost
WorldScape Pluginは動かない、画面が黒くなる原因
WorldScapeはmacでは動きません。pluginをfalseにします。また、r.VelocityOutputPass=1の設定で画面やモデルが黒くなる問題が発生。
Airse.uproject
{
"Name": "WorldScape",
"Enabled": true,
"PlatformAllowList": [
"Win64"
],
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/1325c95bf60546738a5bb21e2262914d"
}
Config/DefaultDeviceProfiles.ini
[Windows DeviceProfile]
DeviceType=Windows
+CVars=r.VelocityOutputPass=1
[Mac DeviceProfile]
DeviceType=Mac
SoStylizedのmapが原因でcrash
/Game/SoStylized/Maps/CompleteVol1/Demonstration_Vol1にあるInstancedFoliageActorが原因です。
フォリッジインスタンス化スタティックメッシュコンポーネントをすべて選択して、World Position Offset Writes Velocityをfalseに変更すると解決。
ios固有の問題
.vrmのモーフターゲットを削除
buildに失敗するのは、.vrmのモーフターゲットが原因です。削除したものを用意し、buildするときに切り替えるとよいでしょう。自動化しているならcp -rfで良いです。
クラッシュ箇所: UMorphTarget::Serialize() - モーフターゲット(ブレンドシェイプ)のシリアライズ時
| 項目 | 内容 |
|---|---|
| クラッシュ場所 | UMorphTarget::Serialize() |
| エラー | SIGSEGV (不正メモリアクセス @ 0x17c) |
| タイミング | SK_ai ビルド成功後、保存時 |
| 原因 | モーフターゲット(表情等のブレンドシェイプ)のシリアライズ失敗 |
- Mac: デスクトップ向けシェーダー/アセット形式(こちらは成功する)
- iOS: モバイル向け形式(METAL_ES3_1_IOS)に変換時にモーフターゲットデータが破損
起動後にiOS Metal ES3.1でシェーダーコンパイルに失敗してcrash
これは、BP_Aiのskill, burstにあるmaterialが原因だった。
Space_Creator_Pro由来のもの。
- /Game/Space_Creator_Pro/BlackHole/Materials/BlackHole/M_BlackHole_OpaqueStatic
- /Game/Space_Creator_Pro/PlanetCreator_1_V2/Blueprints/BP_Planet_Terran
フルスクリーンの解除
- Alt + Enter
これを押すことで解除できましたが、ウィンドウのコントロールは正常にはできないようで、おそらくバグだと思われます。解決方法はわかりません。
project
func
page
[ja]
project
asset
- Game Animation Sample Project
- Control Rig Sample
- Nice Interaction System
- SoStylized
- Controller Support
plugin
platform
ref
© syui