update book

This commit is contained in:
syui 2025-02-09 07:24:32 +09:00
parent 751efc9fc4
commit 5578955842
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56
29 changed files with 1033 additions and 61 deletions

View File

@ -1,5 +1,5 @@
![](cover.jpg) ![](cover.jpg)
# Unreal Engine 5 Guide Book # Unreal Engine Guide Book
<a href="/book.pdf" target=”_blank”>download</a> | <a href="https://ue-book.syui.ai" target="_blank">web</a> <a href="/book.pdf" target=”_blank”>download</a> | <a href="https://ue-book.syui.ai" target="_blank">web</a>

View File

@ -1,21 +1,23 @@
# Summary # Summary
* [Unreal Engine 5 Guild Book](README.md) * [Unreal Engine Guild Book](README.md)
* [default](default/README.md) * [default](default/README.md)
* [asset/plugin](default/00_asset.md) * [asset/plugin](default/00_asset.md)
* [start](default/01_start.md) * [start](default/01_start.md)
* [install](default/02_install.md) * [install](default/02_install.md)
* [tips](default/03_tips.md) * [tips](default/03_tips.md)
* [game animation sample](gas/README.md) * [issue](default/00_issue.md)
* [キャラクターを追加する](gas/01_character.md) * [game animation sample](gasp/README.md)
* [飛びつける高さを増やす](gas/02_jump.md) * [キャラクターを追加する](gasp/01_character.md)
* [キャラクターの見た目を変える](gas/03_vrm.md) * [飛びつける高さを増やす](gasp/02_jump.md)
* [モーションキャプチャで動かす](gas/04_vmc.md) * [キャラクターの見た目を変える](gasp/03_vrm.md)
* [揺れものを設定する](gas/05_kawaii.md) * [モーションキャプチャで動かす](gasp/04_vmc.md)
* [カメラワークの設定する](gas/06_camera.md) * [揺れものを設定する](gasp/05_kawaii.md)
* [アニメーションを作成する](gas/07_anim.md) * [カメラワークの設定する](gasp/06_camera.md)
* [niagaraでダメージを出す](gas/08_niagara.md) * [アニメーションを作成する](gasp/07_anim.md)
* [椅子に座る](gas/09_chair.md) * [niagaraでダメージを出す](gasp/08_niagara.md)
* [椅子に座る](gasp/09_chair.md)
* [issue](gasp/00_issue.md)
* [control rig sample](crs/README.md) * [control rig sample](crs/README.md)
* [CRでキャラクターを動かす](crs/01_character.md) * [CRでキャラクターを動かす](crs/01_character.md)
* [ボスを作る](crs/02_boss.md) * [ボスを作る](crs/02_boss.md)
@ -23,6 +25,7 @@
* [惑星形式のmapを作る](city/01_remove.md) * [惑星形式のmapを作る](city/01_remove.md)
* [橋を作る](city/02_bridge.md) * [橋を作る](city/02_bridge.md)
* [建造物を作る](city/03_house.md) * [建造物を作る](city/03_house.md)
* [issue](city/00_issue.md)
* [json blueprint utilities](json/README.md) * [json blueprint utilities](json/README.md)
* [apiから情報を取得する](json/01_varest.md) * [apiから情報を取得する](json/01_varest.md)
* [pixel streaming](pixel/README.md) * [pixel streaming](pixel/README.md)
@ -32,4 +35,7 @@
* [ultra dynamic sky](plan/02_uds.md) * [ultra dynamic sky](plan/02_uds.md)
* [ocean waves](plan/03_ocean.md) * [ocean waves](plan/03_ocean.md)
* [nice interaction system](plan/04_item.md) * [nice interaction system](plan/04_item.md)
* [unity](unity/README.md)
* [blender](blender/README.md)
* [モデルをカスタマイズする](blender/01_model.md)
* [end](end/README.md) * [end](end/README.md)

19
book/blender/01_model.md Normal file
View File

@ -0,0 +1,19 @@
# モデルをカスタマイズする
素体を作ります。色々と探したのですが、なかなか納得するものが見つかりません。できる限り現実に近いものを目指します。
今回は、Aモデル(vrm)とBモデル(部位)の統合をblenderで行います。統合したものをvrmにexportして、ueでimportします。Bモデルにはシェイプキーを設定しているので、ueではモーフターゲットとして動かせるようにします。
blenderのexportやueのimportは注意が必要です。`VRM MToon`, `ペアレントで[Body]頂点`, `UVMap`, `シェイプキーをSKkeeperで上書き`が必要でした。
使用する[addon](/blender/)を確認してください。
1. まずBモデルをblenderで読み込み、いらないものを削除します。vrmを読み込むaddonが必要です。
2. materialに`VRM MToon`を設定します。ueでimportする際にcrashします。
3. dataのUVマップに`UVMap_xxx`となっているときは名前を`UVMap`にします。色がおかしくなります。
4. 編集モードでBモデルを膨らませます。これは頂点を選択して[G]を押します。
5. addonの`SKkeeper`を使い、オブジェクトメニューからapply modifyを選択します。追加モデルのmirrorやkeyをまとめます。これをしないとvrmにexportできません。
6. 次にAモデルの編集です。いくつかの面を削除してBモデルをくっつけても違和感ないようにします。
7. トランスフォームのペアレントで[Body]頂点を選択します。G, [y, z, r]などを駆使して位置調整してください。
ペアレントは正しく設定されるときもあればズレることもあります。モーフターゲットが正しく反映されないこともあります。`[Armatrue]ボーン(hip)`につけることで設定しています。しかし、ueで読み込んだとき少し下に表示されるので、これ自体をずらした場所で調整するしかありませんでした。

9
book/blender/README.md Normal file
View File

@ -0,0 +1,9 @@
# blender
[blender](https://blender.org/)でモデルを編集して、ueで読み込みます。
|addon|body|
|---|---|
|https://github.com/saturday06/VRM-Addon-for-Blender|vrmを読み込む|
|https://github.com/smokejohn/SKkeeper|modifireをobjectに反映|

76
book/city/00_issue.md Normal file
View File

@ -0,0 +1,76 @@
# issue
[issue](/default/00_issue.html)
## buildが遅い場合
もしcity sampleのmapを使わない場合は、buildが遅くなってしまいます。
ueのpackage化が遅い場合、使用するmap以外をbuildしないようにすることで、処理時間を短縮できます。以下の手順で設定を行います。
1. `プロジェクト設定`を開きます。
2. 「パッケージ化」セクションに移動します。
3. 「マップのみをクック」オプションにチェックを入れます。
4. 「パッケージ化されたビルドに含めるマップのリスト」に、必要なマップ(.umapファイルを指定します。
この設定により、指定したmapのみがpackage化され、データサイズが小さくなり、処理時間も短縮されます。
## ue5.5ではbuildが通らない
`2024-11-18`時点ではcity sampleはue5.5でbuildが通りません。ue5.4では通ります。
`Engine/Plugins/Performance/AutomatedPerfTestingにAutomatedPerfTestConfig.cs`, `AutomatedPerfTestNode.cs`が含まれていないため`${project}/Build/Script/CitySample.Automation.csproj`に記述されているcompileが通らないのです。`AutomatedPerfTesting`は5.5で追加されたpluginです。
```html
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="CitySample.Automation.csproj.props" Condition="Exists('CitySample.Automation.csproj.props')"/>
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(EngineDir)\Plugins\Performance\AutomatedPerfTesting\Build\Scripts\AutomatedPerfTestConfig.cs" />
<Compile Include="$(EngineDir)\Plugins\Performance\AutomatedPerfTesting\Build\Scripts\AutomatedPerfTestNode.cs" />
</ItemGroup>
</Project>
```
> Experimental release of Automated Perf Testing Plugin v0.1, providing Gauntlet Test Controllers, UAT Test Nodes, and BuildGraph macros for adding common automated performance tests to a projects automated build and test.
- https://dev.epicgames.com/documentation/ja-jp/unreal-engine/unreal-engine-5.5-release-notes
- https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Plugins/AutomatedPerfTesting
これはgithubにあるsrcから持ってくるしかありません。アクセスするにはorgに参加します。
https://github.com/EpicGames/UnrealEngine/tree/release/Engine/Plugins/Performance/AutomatedPerfTesting/Build/Scripts
1. `$(EngineDir)\Plugins\Performance\AutomatedPerfTesting\Build\Scripts`フォルダを作ります。`$(EngineDir)`はueがインストールされているディレクトリです。
2. githubの[src](https://github.com/EpicGames/UnrealEngine/tree/release/Engine/Plugins/Performance/AutomatedPerfTesting/Build/Scripts)から持ってきた`$(EngineDir)\Plugins\Performance\AutomatedPerfTesting\Build\Scripts\AutomatedPerfTestConfig.cs`, `$(EngineDir)\Plugins\Performance\AutomatedPerfTesting\Build\Scripts\AutomatedPerfTestNode.cs`を同ディレクトリに置きます。
## 問題が起こったときにresetする
`/Content/Map/Small_City_LVL.umap``/Content/__ExternalActors__/Map/Small_City_LVL`を上書きします。copy元は`VaultCache`からでもいいですし、新しく作った`CitySample`のprojectからでもいいです。
基本的に新しいprojectを作成するときは`VaultCache`からcopyされます。これがないとdownloadから`VaultCache`が生成されます。
## characterのcollisionが機能せず地面に埋まってしまう
GASPと統合するとcity sampleに置かれた物体に触れられません。
原因は`Gameplay Camera`というpluginです。`$project/Config/DefaultEngine.ini``DDCVar.NewGameplayCameraSystem.Enable`を追加し、関数である`Setup Camera`を実行している場合、characterのcollisionが機能せず地面に埋まってしまう問題があります。
- Gameplay Camera
- Setup Camera
- `DDCVar.NewGameplayCameraSystem.Enable`
```sh
[/Script/Engine.DataDrivenConsoleVariableSettings]
+CVarsArray=(Type=CVarBool,Name="DDCVar.NewGameplayCameraSystem.Enable",ToolTip="",DefaultValueFloat=0.000000,DefaultValueInt=0,DefaultValueBool=True)
```
`Setup Camera`を実行しないようにするか、`DDCVar.NewGameplayCameraSystem.Enable`をfalseにします。

View File

@ -10,21 +10,7 @@ game engineのmapは基本的に平面で作られています。どこまで行
海には境界があってそれが惑星システム(planet system)を構築する際に邪魔になるので消します。 海には境界があってそれが惑星システム(planet system)を構築する際に邪魔になるので消します。
## ocean wavesで惑星の海を作る `/Map/Small_City_LVL`を使います。`GroundCollisionCube`,`DroneBlockingVolume`を探して削除します。これは海面にplane(平面)を設置しています。
[ocean waves](https://www.unrealengine.com/marketplace/ja/product/ocean-waves)
必要なものを`/Content/OceanWaves/Levels/EarthSizedOceanPlanet`からcopyして持ってきましょう。
- `BP_EarthSizedSphericalMesh`
- `BP_EarthSizedOcean`
- `WaterVolume`
`BP_EarthSizedSphericalMesh``transform-location-z:-63600000`にします。`Sphere Radius:63600000`にします。`SphereEdge Length:16000000`になるはずです。
次に海上の影問題を修正するため`Material Overrides`, `Material Outer/Inner`をすべて変更します。私は`/Vefects/Water/VFX/WaterMaterials`を使用しました。
次に`BP_EarthSizedOcean``Volume Maaterials``WaterVolume`をセットします。`Above/Underwater``/Vefects/Water/VFX/UnderWater`に変更します。`height:0`にします。これは海に入って出たときに海中を適用する高さを設定します。
## ultra dynamic skyで天候と惑星を作る ## ultra dynamic skyで天候と惑星を作る
@ -41,3 +27,7 @@ game engineのmapは基本的に平面で作られています。どこまで行
- `BP_Earth`: `transform-location-z:-636000000`, `transform-scale:6360000` - `BP_Earth`: `transform-location-z:-636000000`, `transform-scale:6360000`
- `Sky_Sphere_Mesh`: `transform-scale:50000` - `Sky_Sphere_Mesh`: `transform-scale:50000`
## ocean wavesで惑星の海を作る
[こちら](/plan/03_ocean.html)

View File

@ -0,0 +1,325 @@
{
"FileVersion": 3,
"EngineAssociation": "5.5",
"Category": "Samples",
"Description": "",
"Modules": [
{
"Name": "CitySample",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine",
"AIModule",
"ChaosVehicles",
"UMG",
"MovieScene"
]
},
{
"Name": "CitySampleEditor",
"Type": "Editor",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine"
]
},
{
"Name": "CitySampleAnimGraphRuntime",
"Type": "UncookedOnly",
"LoadingPhase": "Default"
}
],
"Plugins": [
{
"Name": "AlembicHairImporter",
"Enabled": true
},
{
"Name": "HairStrands",
"Enabled": true
},
{
"Name": "PythonScriptPlugin",
"Enabled": true
},
{
"Name": "ControlRig",
"Enabled": true
},
{
"Name": "Takes",
"Enabled": true
},
{
"Name": "D3DExternalGPUStatistics",
"Enabled": true,
"Optional": true,
"SupportedTargetPlatforms": [
"Win64"
]
},
{
"Name": "LiveLinkCurveDebugUI",
"Enabled": true
},
{
"Name": "ChaosVehiclesPlugin",
"Enabled": true
},
{
"Name": "RigLogic",
"Enabled": true
},
{
"Name": "RawInput",
"Enabled": true
},
{
"Name": "GameplayInsights",
"Enabled": true
},
{
"Name": "TraceSourceFilters",
"Enabled": true
},
{
"Name": "TraceDataFilters",
"Enabled": true
},
{
"Name": "ModelingToolsEditorMode",
"Enabled": true
},
{
"Name": "Traffic",
"Enabled": true
},
{
"Name": "CitySampleMassCrowd",
"Enabled": true
},
{
"Name": "StateTree",
"Enabled": true
},
{
"Name": "OnlineSubsystem",
"Enabled": true
},
{
"Name": "OnlineSubsystemUtils",
"Enabled": true
},
{
"Name": "MassAI",
"Enabled": true
},
{
"Name": "MassCrowd",
"Enabled": true
},
{
"Name": "MassEntity",
"Enabled": true
},
{
"Name": "MassGameplay",
"Enabled": true
},
{
"Name": "HoverDrone",
"Enabled": true
},
{
"Name": "EnhancedInput",
"Enabled": true
},
{
"Name": "Volumetrics",
"Enabled": true
},
{
"Name": "ContextualAnimation",
"Enabled": true
},
{
"Name": "ChaosCaching",
"Enabled": true
},
{
"Name": "FieldSystemPlugin",
"Enabled": true
},
{
"Name": "Paper2D",
"Enabled": true
},
{
"Name": "WinDualShock",
"Enabled": true,
"SupportedTargetPlatforms": [
"Win64"
]
},
{
"Name": "ZoneGraph",
"Enabled": true
},
{
"Name": "AnimationWarping",
"Enabled": true
},
{
"Name": "ElectraPlayer",
"Enabled": true
},
{
"Name": "LiveLinkCamera",
"Enabled": true
},
{
"Name": "AudioModulation",
"Enabled": true
},
{
"Name": "Metasound",
"Enabled": true
},
{
"Name": "MovieRenderPipeline",
"Enabled": true
},
{
"Name": "Soundscape",
"Enabled": true
},
{
"Name": "FullBodyIK",
"Enabled": true
},
{
"Name": "RemoteControl",
"Enabled": true
},
{
"Name": "ImagePlate",
"Enabled": true
},
{
"Name": "LightWeightInstancesEditor",
"Enabled": true
},
{
"Name": "GameFeatures",
"Enabled": true
},
{
"Name": "ModularGameplay",
"Enabled": true
},
{
"Name": "CitySampleSensorGrid",
"Enabled": true
},
{
"Name": "IKRig",
"Enabled": true
},
{
"Name": "ColorCorrectRegions",
"Enabled": true
},
{
"Name": "Gauntlet",
"Enabled": true
},
{
"Name": "CustomizableSequencerTracks",
"Enabled": true
},
{
"Name": "NetworkPrediction",
"Enabled": true
},
{
"Name": "NiagaraFluids",
"Enabled": true
},
{
"Name": "Text3D",
"Enabled": true
},
{
"Name": "MotoSynth",
"Enabled": true
},
{
"Name": "EditorDataStorage",
"Enabled": true
},
{
"Name": "EditorDataStorageFeatures",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "AnimToTexture",
"Enabled": true
},
{
"Name": "SequencerScripting",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "GeometryCollectionPlugin",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "AutomatedPerfTesting",
"Enabled": true
},
{
"Name": "LiveLink",
"Enabled": true
},
{
"Name": "LiveLinkControlRig",
"Enabled": true
},
{
"Name": "PoseSearch",
"Enabled": true
},
{
"Name": "AnimationLocomotionLibrary",
"Enabled": true
},
{
"Name": "MotionWarping",
"Enabled": true
},
{
"Name": "Chooser",
"Enabled": true
},
{
"Name": "Mover",
"Enabled": true
}
],
"TargetPlatforms": [
"PS5",
"XSX",
"Windows"
],
"EpicSampleNameHash": "111"
}

View File

@ -4,34 +4,407 @@
ニューヨーク(NY)をモデルに都市が作られています。人と自動車が動いています。自動車は乗ることや破壊することができます。 ニューヨーク(NY)をモデルに都市が作られています。人と自動車が動いています。自動車は乗ることや破壊することができます。
## AutomatedPerfTesting ## game animation sampleとの統合
`AutomatedPerfTesting`は5.5で追加されたpluginです。 他のassetとの統合を考えるとき、city sampleをベースにします。なぜなら、city sampleは複雑すぎるためです。ここではcity sampleをinstallした上で、game animation sampleをそこにcopyします。
> Experimental release of Automated Perf Testing Plugin v0.1, providing Gauntlet Test Controllers, UAT Test Nodes, and BuildGraph macros for adding common automated performance tests to a projects automated build and test. なお、`GameAnimationSample/Binaries/Win64/UnrealEditor.modules`だけはcopyしません。
- https://dev.epicgames.com/documentation/ja-jp/unreal-engine/unreal-engine-5.5-release-notes ```sh
- https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Plugins/AutomatedPerfTesting # 以下のfileをcopy
GameAnimationSample
そのうち解消されると思いますが、現在(2024-11-18)、city sampleはbuildできません。`Engine/Plugins/Performance/AutomatedPerfTestingにAutomatedPerfTestConfig.cs`, `AutomatedPerfTestNode.cs`が含まれていないため`${project}/Build/Script/CitySample.Automation.csproj`に記述されているcompileが通らないのです。 Binaries
Win64/UnrealEditor.modules #このfileだけはcopy(rewrite)しない
```html Build
<Project Sdk="Microsoft.NET.Sdk"> Content
<Import Project="CitySample.Automation.csproj.props" Condition="Exists('CitySample.Automation.csproj.props')"/>
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(EngineDir)\Plugins\Performance\AutomatedPerfTesting\Build\Scripts\AutomatedPerfTestConfig.cs" />
<Compile Include="$(EngineDir)\Plugins\Performance\AutomatedPerfTesting\Build\Scripts\AutomatedPerfTestNode.cs" />
</ItemGroup>
</Project>
``` ```
これはgithubにあるsrcから持ってくるしかありません。アクセスするにはorgに参加します。 次に`CitySample/Binaries/Win64/UnrealEditor.modules`を編集します。
https://github.com/EpicGames/UnrealEngine/tree/release/Engine/Plugins/Performance/AutomatedPerfTesting/Build/Scripts ```json
{
"BuildId": "xxx",
"Modules":
{
"CitySample": "UnrealEditor-CitySample.dll",
"CitySampleAnimGraphRuntime": "UnrealEditor-CitySampleAnimGraphRuntime.dll",
"CitySampleEditor": "UnrealEditor-CitySampleEditor.dll"
},
{
"GameAnimationSample": "UnrealEditor-GameAnimationSample.dll"
}
}
```
これでGASPが機能すればokです。
他には`$project/Config``$project/xxx.uproject`を見比べてみましょう。必要そうなものを追記します。
```json
{
"FileVersion": 3,
"EngineAssociation": "5.5",
"Category": "Samples",
"Description": "",
"Modules": [
{
"Name": "CitySample",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine",
"AIModule",
"ChaosVehicles",
"UMG",
"MovieScene"
]
},
{
"Name": "CitySampleEditor",
"Type": "Editor",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine"
]
},
{
"Name": "CitySampleAnimGraphRuntime",
"Type": "UncookedOnly",
"LoadingPhase": "Default"
}
],
"Plugins": [
{
"Name": "AlembicHairImporter",
"Enabled": true
},
{
"Name": "HairStrands",
"Enabled": true
},
{
"Name": "PythonScriptPlugin",
"Enabled": true
},
{
"Name": "ControlRig",
"Enabled": true
},
{
"Name": "Takes",
"Enabled": true
},
{
"Name": "D3DExternalGPUStatistics",
"Enabled": true,
"Optional": true,
"SupportedTargetPlatforms": [
"Win64"
]
},
{
"Name": "LiveLinkCurveDebugUI",
"Enabled": true
},
{
"Name": "ChaosVehiclesPlugin",
"Enabled": true
},
{
"Name": "RigLogic",
"Enabled": true
},
{
"Name": "RawInput",
"Enabled": true
},
{
"Name": "GameplayInsights",
"Enabled": true
},
{
"Name": "TraceSourceFilters",
"Enabled": true
},
{
"Name": "TraceDataFilters",
"Enabled": true
},
{
"Name": "ModelingToolsEditorMode",
"Enabled": true
},
{
"Name": "Traffic",
"Enabled": true
},
{
"Name": "CitySampleMassCrowd",
"Enabled": true
},
{
"Name": "StateTree",
"Enabled": true
},
{
"Name": "OnlineSubsystem",
"Enabled": true
},
{
"Name": "OnlineSubsystemUtils",
"Enabled": true
},
{
"Name": "MassAI",
"Enabled": true
},
{
"Name": "MassCrowd",
"Enabled": true
},
{
"Name": "MassEntity",
"Enabled": true
},
{
"Name": "MassGameplay",
"Enabled": true
},
{
"Name": "HoverDrone",
"Enabled": true
},
{
"Name": "EnhancedInput",
"Enabled": true
},
{
"Name": "Volumetrics",
"Enabled": true
},
{
"Name": "ContextualAnimation",
"Enabled": true
},
{
"Name": "ChaosCaching",
"Enabled": true
},
{
"Name": "FieldSystemPlugin",
"Enabled": true
},
{
"Name": "Paper2D",
"Enabled": true
},
{
"Name": "WinDualShock",
"Enabled": true,
"SupportedTargetPlatforms": [
"Win64"
]
},
{
"Name": "ZoneGraph",
"Enabled": true
},
{
"Name": "AnimationWarping",
"Enabled": true
},
{
"Name": "ElectraPlayer",
"Enabled": true
},
{
"Name": "LiveLinkCamera",
"Enabled": true
},
{
"Name": "AudioModulation",
"Enabled": true
},
{
"Name": "Metasound",
"Enabled": true
},
{
"Name": "MovieRenderPipeline",
"Enabled": true
},
{
"Name": "Soundscape",
"Enabled": true
},
{
"Name": "FullBodyIK",
"Enabled": true
},
{
"Name": "RemoteControl",
"Enabled": true
},
{
"Name": "ImagePlate",
"Enabled": true
},
{
"Name": "LightWeightInstancesEditor",
"Enabled": true
},
{
"Name": "GameFeatures",
"Enabled": true
},
{
"Name": "ModularGameplay",
"Enabled": true
},
{
"Name": "CitySampleSensorGrid",
"Enabled": true
},
{
"Name": "IKRig",
"Enabled": true
},
{
"Name": "ColorCorrectRegions",
"Enabled": true
},
{
"Name": "Gauntlet",
"Enabled": true
},
{
"Name": "CustomizableSequencerTracks",
"Enabled": true
},
{
"Name": "NetworkPrediction",
"Enabled": true
},
{
"Name": "NiagaraFluids",
"Enabled": true
},
{
"Name": "Text3D",
"Enabled": true
},
{
"Name": "MotoSynth",
"Enabled": true
},
{
"Name": "EditorDataStorage",
"Enabled": true
},
{
"Name": "EditorDataStorageFeatures",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "AnimToTexture",
"Enabled": true
},
{
"Name": "SequencerScripting",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "GeometryCollectionPlugin",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{
"Name": "AutomatedPerfTesting",
"Enabled": true
},
{
"Name": "LiveLink",
"Enabled": true
},
{
"Name": "LiveLinkControlRig",
"Enabled": true
},
{
"Name": "PoseSearch",
"Enabled": true
},
{
"Name": "AnimationLocomotionLibrary",
"Enabled": true
},
{
"Name": "MotionWarping",
"Enabled": true
},
{
"Name": "Chooser",
"Enabled": true
},
{
"Name": "Mover",
"Enabled": true
}
],
"TargetPlatforms": [
"PS5",
"XSX",
"Windows"
],
"EpicSampleNameHash": "111"
}
```
また、`/Config/DefaultEngine.ini`に注意してください。
```sh
[/Script/Engine.CollisionProfile]
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel11,DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False,Name="Traversable")
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel12,DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False,Name="EnemyProjectile")
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel13,DefaultResponse=ECR_Block,bTraceType=True,bStaticObject=False,Name="BulletHell")
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel14,DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False,Name="LookAtTrace")
```
`Collision Trace Channel`は作り直さなければ機能しないことがあります。
### Gameplay Camera
例えば、camera(Gameplay)を有効にするには`$project/Config/DefaultEngine.ini``DDCVar.NewGameplayCameraSystem.Enable`の行を追加します。`CBP_SandboxCharacter`にある関数の`SetupCamera`を確認してください。
```sh
[/Script/Engine.DataDrivenConsoleVariableSettings]
+CVarsArray=(Type=CVarBool,Name="DDCVar.NewGameplayCameraSystem.Enable",ToolTip="",DefaultValueFloat=0.000000,DefaultValueInt=0,DefaultValueBool=True)
```
現在、[characterのcollisionが機能しない問題](/city/00_err.html)が発生します。
### Collision Trace Channel
`Collision Trace Channel`を設定するには、`Config/DefaultEngine.ini`を編集する必要があります。以下の手順で行います。GASPは`traversable`を追加します。これが追加されていないと動きません。
`ECC_GameTraceChannel${n}`に注意してください。
```sh
[/Script/Engine.CollisionProfile]
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel11,DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False,Name="Traversable")
```
## 他のmapとの統合
mapにはactorがまとめられているものがあり、それはmapにくっついていません。移動できない場合があります。
基本的にはA-mapとB-mapはある程度位置を完成させてからcopyしましょう。

View File

@ -24,8 +24,20 @@
|[kawaiiphysics](https://github.com/pafuhana1213/KawaiiPhysics)|20241201|揺れものを設定| |[kawaiiphysics](https://github.com/pafuhana1213/KawaiiPhysics)|20241201|揺れものを設定|
|[varest](https://github.com/ufna/VaRest)|20240828|curlのようなもの。supportが終了しているのでbuildが必要| |[varest](https://github.com/ufna/VaRest)|20240828|curlのようなもの。supportが終了しているのでbuildが必要|
|[tatools](https://www.fab.com/ja/listings/a5d3b60d-b886-4564-bf6d-15d46a8d27fe)|20241206|animを作る| |[tatools](https://www.fab.com/ja/listings/a5d3b60d-b886-4564-bf6d-15d46a8d27fe)|20241206|animを作る|
|[ui navigation 3.0](https://www.fab.com/ja/listings/a91f6e67-5c2d-46ef-926d-00a35525579c)|20250126|スタート画面を作る|
## 有料 ## その他のasset
ここからは無料のassetでおすすめのものを紹介します。使っていないものもあります。
|name|body|
|---|---|
|[GASP-ALS](https://github.com/PolygonHive/GASP-ALS)|GASPの改造版|
|[animal variety pack](https://www.fab.com/ja/listings/2dd7964c-a601-4264-a53d-465dcae1644c)|有名な動物モデル|
|[quadruped fantasy creatures](https://www.fab.com/ja/listings/52d686b6-1180-4f26-901f-ce3c69a14767)|有名な幻獣モデル|
|[ueplugin-accessvariablebyname](https://github.com/colory-games/UEPlugin-AccessVariableByName)|名前を取得するplugin|
## 有料のasset
[こちら](/plan/README.md) [こちら](/plan/README.md)

40
book/default/00_issue.md Normal file
View File

@ -0,0 +1,40 @@
# issue
問題の解決を目指します。
ゲーム開発をしていると、issue(問題)がたくさん発生します。特にueはbug(バグ)が多く、機能は実験的(pre releases)であることが多いです。
## list
- [game animation sample](/gasp/00_issue.html)
- [city sample](/city/00_issue.html)
## error II-E1001
`Epic Games Launcher`に非常によく出るerrorです。
エラーコード「II-E1001」は、主にEpic Games LauncherまたはUnreal Engineでのプロジェクト作成やコンテンツダウンロード時に発生する問題です。このエラーの原因と解決策を以下にまとめます。`Epic Games Launcher`を再インストールすることでしか治らないこともあります。
1. キャッシュの破損
> Epic Games LauncherのVault Cacheに破損したデータが残っている場合、エラーが発生することがあります7。
2. ダウンロード中のクラッシュ
> コンテンツのダウンロード中にPCがクラッシュした場合、未完了のデータが原因でエラーが発生することがあります7。
3. 外部ストレージの使用
> ライブラリが外部ハードドライブ上にある場合、ランチャーが正しく認識できないことがあります7。
### 解決策
1. Vault Cacheフォルダを確認・削除
> Epic Games Launcherの「設定」からVault Cacheの場所を確認します。
> 対象コンテンツのフォルダを削除します(フォルダが空の場合も削除可能)。
> 他のフォルダを選択して、元のフォルダに戻すと解消されることがあります。
2. Vault Cacheフォルダの属性変更
> Vault Cacheフォルダを右クリックし、「読み取り専用」のチェックを外して適用します。
3. Epic Games Launcherの再起動
> ランチャーを再起動し、問題が解消されるか確認します。
> 必要であればPC自体も再起動してください。
4. 外部ストレージの確認
> ライブラリが外部ストレージ上にある場合、ランチャー設定で適切なキャッシュフォルダが指定されているか確認します7。
5. Epic Games Launcherの再インストール
> キャッシュをクリアした後、Epic Games Launcherを再インストールします。
> これらの手順で解決しない場合は、Epic Gamesサポート公式ヘルプページに問い合わせることをお勧めします。

View File

@ -27,6 +27,14 @@ ueを長く使っているとわかることですが、ゲーム制作にはあ
「ueはバグが多く基本的に壊れている」このことを最初に理解しておかないと「おかしいなあ」と時間を無駄にしてしまいます。また、保存せず長時間コードを書き続けるのは危険です。クラッシュ(crash)すると消えてしまいます。プロジェクト(project)そのものが壊れることもよくあります。注意しましょう。 「ueはバグが多く基本的に壊れている」このことを最初に理解しておかないと「おかしいなあ」と時間を無駄にしてしまいます。また、保存せず長時間コードを書き続けるのは危険です。クラッシュ(crash)すると消えてしまいます。プロジェクト(project)そのものが壊れることもよくあります。注意しましょう。
## unityやblenderも使っている
vrmでの開発は主に[unity](/unity/)が中心です。`.vrm`の仕様を作っているpixivがunityで読み込むためのpluginを開発しているからです。vrmに対応する様々なツールはunityで作られています。
もし`.vrm`を扱う場合は、どちらにせよ`unity`を使うことになると思います。私もモデルのカスタマイズなどでunityを使っています。
モデルのカスタマイズには[blender](/blender)というものもあって、`blender`も使用しています。
## 用語の解説 ## 用語の解説
|title|short|body| |title|short|body|

View File

@ -10,16 +10,30 @@ ue5でゲームを作成するまでの過程をまとめます。
|---|---|---| |---|---|---|
|[unreal engine](https://dev.epicgames.com/documentation/ja-jp/unreal-engine/unreal-engine-5.5-release-notes)|5.5.3|ゲームエンジン| |[unreal engine](https://dev.epicgames.com/documentation/ja-jp/unreal-engine/unreal-engine-5.5-release-notes)|5.5.3|ゲームエンジン|
## パソコンのスペック
開発するゲームによりますが、GPUはnvidiaの`RTX 4060Ti`を使っています。特に不満はありません。
作りたいゲームによってはGPUは不要です。オープンワールドを作るならGPUはあったほうがいいと思います。
多くの場合、ue5のバグのほうが問題で、GPUの性能をほとんど引き出せていないことのほうが問題です。スペックはあまり関係なかったりします。
ただし、ストレージの読み書き速度は重要です。ueやprojectを入れるストレージには注意してください。
## 使用するタグ ## 使用するタグ
### youtube
`https://www.youtube.com/embed/${id}?start=0&end=10&mute=1&rel=0&showinfo=0&controls=0`
```html ```html
# youtube
## https://www.youtube.com/embed/${id}?start=0&end=10&mute=1&rel=0&showinfo=0&controls=0
<iframe width="100%" height="415" src="https://www.youtube.com/embed/?start=0&end=10&mute=1&rel=0&showinfo=0&controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> <iframe width="100%" height="415" src="https://www.youtube.com/embed/?start=0&end=10&mute=1&rel=0&showinfo=0&controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
``` ```
### blueprint
`https://blueprintue.com/render/${id}/${n}`
```html ```html
# blueprint
## https://blueprintue.com/render/${id}/${n}
<iframe src="https://blueprintue.com/render/" scrolling="no" allowfullscreen style="width:100%;height:400px"></iframe> <iframe src="https://blueprintue.com/render/" scrolling="no" allowfullscreen style="width:100%;height:400px"></iframe>
``` ```

51
book/gasp/00_issue.md Normal file
View File

@ -0,0 +1,51 @@
# issue
[issue](/default/00_issue.html)
## GameplayCameraをdisableにする
GASPで使用されるGameplayCamera(plugin)が壊れているため、これを削除する人が多いです。
削除方法は簡単で`/Content/Blueprints/CBP_SandboxCharacter``GameplayCamera`というcomponentを削除し、err箇所のnodeを修正すると完了です。
仕組みを解説すると、このcomponentでCameraに`/Blueprints/Cameras/CameraAsset_SandboxCharacter`を指定しています。そして、`SetupCamera`という関数でenable(有効)にします。関数では`$project/Config/DefaultEngine.ini`にある`DDCVar.NewGameplayCameraSystem.Enable`の値がtrueなら使用されます。
```sh
[/Script/Engine.DataDrivenConsoleVariableSettings]
+CVarsArray=(Type=CVarBool,Name="DDCVar.NewGameplayCameraSystem.Enable",ToolTip="",DefaultValueFloat=0.000000,DefaultValueInt=0,DefaultValueBool=True)
```
`DDCVar.NewGameplayCameraSystem.Enable`をfalseにするか、あるいは`branch`の処理を削除し、false後の処理(Set View Target with Blend)につなげるかで機能をdisable(無効)にすることができます。
私はなるべく最新機能を使用したいと思っています。ですが、先に述べたように色々と壊れているため、問題がたくさん発生します。原因が`GameplayCamera`にあることを突き止めるのも苦労しますから、disableにしておくのが正解かもしれません。
## cameraが急接近する
よじ登ったり、柵を超えたりするとき、camera(カメラ)が急接近することがあります。
これは`GameplayCamera``CameraRig_CollisionOffset`が原因です。`/Content/Blueprints/CBP_SandboxCharacter``SetupCamera`という関数で使われていますので、その部分だけ外しておきましょう。
ただし、床が透けて映ってしまうようになります。
## characterのcomponentが初期化される
ある時点で`/Content/Blueprints/RetargetedCharacters/CBP_SandboxCharacter_${name}`にあるcompoentが初期化されていることに気づくかもしれません。
原因はわかりませんが、これが起こるとcameraがおかしくなったり、`IA_Sprint`でダッシュできなくなったりすることがあります。
これを解決する方法は、`/Content/Blueprints/CBP_SandboxCharacter``Event BeginPlay`でcomponentの初期設定をすることです。
<iframe src="https://blueprintue.com/render/0lt9y0_u/1" scrolling="no" allowfullscreen style="width:100%;height:400px"></iframe>
## IA_Sprintのダッシュができなくなる
ダッシュは`/Content/Blueprints/RetargetedCharacters/CBP_SandboxCharacter_${name}``Event BeginPlay`を削除することで解消しました(nodeがつながっていなくてもevent自体を削除)。
## traversableが機能しなくなる
突然、traversable(トラバーサブル)、つまり、よじ登ったりする機能が使えなくなることがあります。
いくつか原因が考えられますが、project設定の`collision > trace channel : Traversable`に問題があるのかもしれません。
collision trace channelに問題が発生するときはけっこう大変です。色々とbugがあり、一度削除して同じ名前で作り直せば動作することもありますが、余計に壊れることもあります。例えば、削除したときにBPのnodeに他のtrace channelが自動で入ってしまうことも要因になります。

View File

@ -13,7 +13,9 @@ ueで読み込むには`vrm4u`というpluginを使用します。
2. editorのファイルエクスプローラーでモデルファイルの`.vrm`をD&Dします。色々と聞かれますが適当にokや選択します。配色タイプが聞かれます。例えば、`$project/Content/Characters``model`フォルダを作り`model.vrm`をimport(インポート)した場合で解説します。 2. editorのファイルエクスプローラーでモデルファイルの`.vrm`をD&Dします。色々と聞かれますが適当にokや選択します。配色タイプが聞かれます。例えば、`$project/Content/Characters``model`フォルダを作り`model.vrm`をimport(インポート)した場合で解説します。
> $project/Content/Characters/$model > $project/Content/Characters/$model
重要なファイルは`$project/Content/Characters/$model/SK_$model`, `ABP_Post_$model`, `RTG_UEFN_$model`になります。なお、`vrm 1.0`を使用します。 モデル(model)は[こちら](https://hub.vroid.com/users/36144806)からdownloadすることができます。私は、`vrm 1.0`を使用ていますが、`vrm 0.0`のほうが安定しています。
重要なファイルは`$project/Content/Characters/$model/SK_$model`, `ABP_Post_$model`, `RTG_UEFN_$model`になります。
https://vrm.dev/vrm1/ https://vrm.dev/vrm1/
@ -22,7 +24,6 @@ https://vrm.dev/vrm1/
これは`RTG_UEFN_$model`で調整します。各指にある線を選択して値を変更します。 これは`RTG_UEFN_$model`で調整します。各指にある線を選択して値を変更します。
- `回転アルファ:0.5` - `回転アルファ:0.5`
- `ボールベクターオフセットを維持:false`
## 前髪の角度を調整する ## 前髪の角度を調整する
@ -94,7 +95,7 @@ https://vrm.dev/vrm1/
アウトライン(outline) アウトライン(outline)
1. `/Content/Blueprints/RetargetedCharacters/CBP_SandboxCharacter_$model`を作成します。前と同じ要領で新しいキャラクターを追加し、GASで使えるようにします。 1. `/Content/Blueprints/RetargetedCharacters/CBP_SandboxCharacter_$model`を作成します。前と同じ要領で新しいキャラクターを追加し、GASPで使えるようにします。
2. componentで`BP_VrmOutlineComponent`を追加します。 2. componentで`BP_VrmOutlineComponent`を追加します。
## 見た目をきれいにする ## 見た目をきれいにする
@ -103,3 +104,7 @@ https://vrm.dev/vrm1/
私はcomponentの`VrmPoseableMesh`を追加して、そこに配色タイプの`custom`を当てることで調整しています。ベースは配色タイプの`unlit`を使用します。もし`unlit``.vrm`をimportしていない場合は再度importしてください。 私はcomponentの`VrmPoseableMesh`を追加して、そこに配色タイプの`custom`を当てることで調整しています。ベースは配色タイプの`unlit`を使用します。もし`unlit``.vrm`をimportしていない場合は再度importしてください。
1. アセットブラウザで`All/Plugins/`を見えるようにします(プラグインコンテンツを表示)。
2. `/All/Plugins/VRM4U/Util/Actor/PostShadow/BP_PoseCopyToon``/All/Content/Blueprints/Characters/${name}/SK_${name}`をmapに配置します。そして、`BP_PoseCopyToon``SK_${name}`を選択します。
3. `/All/Plugins/VRM4U/Util/Actor/PostShadow/MI_PostToon`が更新されているので`/All/Plugins/VRM4U/ImportData/DS_VRMCustom`を開いて、全部をMI_PostToonにする
4. `.vrm``custom`で読み込む。そして、`/All/Content/Blueprints/CBP_SandboxCharater`のcomponentで`Vrm Poseable Mesh`を追加して、`custom/SK_${name}`を選択します。

View File

@ -2,9 +2,9 @@
[game aimation sample](https://www.fab.com/ja/listings/880e319a-a59e-4ed2-b268-b32dac7fa016)は`epic games`が提供しているassetです。 [game aimation sample](https://www.fab.com/ja/listings/880e319a-a59e-4ed2-b268-b32dac7fa016)は`epic games`が提供しているassetです。
[G]ame [A]nimation [S]ampleでGASと略すことがあります。 [G]ame [A]nimation [S]ample [P]rojectでGASPと略すことがあります。
なお、[G]ame [A]bility [S]ystemもGASなので紛らわしいです。 [G]ame [A]bility [S]ystemもGASなので紛らわしいです
まずはこれを使ってキャラクター(character)を動かしてみましょう。 まずはこれを使ってキャラクター(character)を動かしてみましょう。

View File

@ -1,3 +1,19 @@
# superhero flight animations # superhero flight animations
[superhero flight animations](https://www.fab.com/ja/listings/41185c19-5191-4153-8293-8cc9901efa95) [superhero flight animations](https://www.fab.com/ja/listings/41185c19-5191-4153-8293-8cc9901efa95)
GASと連携するには飛行モードを有効にするときだけABPを切り替えます。いくつかの調整が必要になります。
<iframe src="https://blueprintue.com/render/thxeju-z" scrolling="no" allowfullscreen style="width:100%;height:400px"></iframe>
## スピードとカメラ設定
|component|name|body|
|---|---|---|
|Character Movement|Max Fly Speed|基本スピード。これを上げてスピードを調整する|
|SFA|Sprint Fly Speed|基本スピード。現時点では機能しないみたい|
|SFA|Sprint Acceleration|徐々にスピードを上げていく値。大きいほどすぐに上昇する|
|SFA|Flight Breaking Deceleration|小さいと飛行後のダウンタイムが発生|
|SprintArm|Target Arm Length|最大でどれだけカメラを離すか|
|SprintArm|Camera Lag Speed|ターゲットに到達する速度。大きいほど遅くなる|
|SprintArm|Camera Lag Max Distance|遅れを取る最大距離|

View File

@ -7,3 +7,8 @@ blueprintなどでも`uds`と略されます。
1. `/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky`, `Ultra_Dynamic_Weather`をlevelに置きます。 1. `/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky`, `Ultra_Dynamic_Weather`をlevelに置きます。
2. `Ultra_Dynamic_Weather(Self)`の詳細から`Random Weather Variation:Hourly`にします。これで天候がすぐに変わります。 2. `Ultra_Dynamic_Weather(Self)`の詳細から`Random Weather Variation:Hourly`にします。これで天候がすぐに変わります。
## 雪を積もらせる
1. landscapeにあるmaterialを編集します。
2. ultra dynamic weatherと検索して追加します。
3. base color, normalなどのpinがあればつなげます。

View File

@ -1,3 +1,15 @@
# ocean waves # ocean waves
[ocean waves](https://www.unrealengine.com/marketplace/ja/product/ocean-waves) [ocean waves](https://www.unrealengine.com/marketplace/ja/product/ocean-waves)
必要なものを`/Content/OceanWaves/Levels/EarthSizedOceanPlanet`からcopyして持ってきましょう。
- `BP_EarthSizedSphericalMesh`
- `BP_EarthSizedOcean`
- `WaterVolume`
`BP_EarthSizedSphericalMesh``transform-location-z:-63600000`にします。`Sphere Radius:63600000`にします。`SphereEdge Length:16000000`になるはずです。
次に海上の影問題を修正するため`Material Overrides`, `Material Outer/Inner`をすべて変更します。私は`/Vefects/Water/VFX/WaterMaterials`を使用しました。
次に`BP_EarthSizedOcean``Volume Maaterials``WaterVolume`をセットします。`Above/Underwater``/Vefects/Water/VFX/UnderWater`に変更します。`height:0`にします。これは海に入って出たときに海中を適用する高さを設定します。

View File

@ -7,3 +7,4 @@
> The only thing you need to do now is open your Player Controller and add the AC_PC_Interaction component: > The only thing you need to do now is open your Player Controller and add the AC_PC_Interaction component:
3. Game State: `AC_GS_Interaction` 3. Game State: `AC_GS_Interaction`
> Now just add the AC_GS_Interaction component to your game state: > Now just add the AC_GS_Interaction component to your game state:
4. project設定にてcollisionのtrace channelに`LookAtTrace``ignore`で追加します。

View File

@ -8,5 +8,8 @@
|[nice interaction system](https://www.fab.com/ja/listings/63b61e4a-dc11-4ee0-a6b1-f4860bd29198)|3|20250206|アイテムを取得する|[docs](https://niceshadow.gitbook.io/nice-interaction-system)| |[nice interaction system](https://www.fab.com/ja/listings/63b61e4a-dc11-4ee0-a6b1-f4860bd29198)|3|20250206|アイテムを取得する|[docs](https://niceshadow.gitbook.io/nice-interaction-system)|
|[magicalanimset](https://www.fab.com/ja/listings/a63386b8-7cad-42cd-8b81-a9de147e1f08)|3|20241222|少女の戦闘アニメーション|| |[magicalanimset](https://www.fab.com/ja/listings/a63386b8-7cad-42cd-8b81-a9de147e1f08)|3|20241222|少女の戦闘アニメーション||
|[space frontier stations & ships](https://www.fab.com/listings/79323b40-dc56-43bf-8aea-b13800266329)|1|20241114|宇宙船のシステム|[docs](https://docs.google.com/document/d/1p5MY13cpTlVtqP7sCQpAoE_k5VHklmndZ4cHeBy105Y/)| |[space frontier stations & ships](https://www.fab.com/listings/79323b40-dc56-43bf-8aea-b13800266329)|1|20241114|宇宙船のシステム|[docs](https://docs.google.com/document/d/1p5MY13cpTlVtqP7sCQpAoE_k5VHklmndZ4cHeBy105Y/)|
|[logicdriver](https://www.fab.com/ja/listings/a3e2fc1f-2aaa-49a1-bc26-4d5d38f7d82f)|3|20241212|ロジックのシステム|[docs](https://logicdriver.com/docs/pages/prochangelog/)|
|[dragon ik plugin](https://www.fab.com/ja/listings/d3f8d256-d8d9-4d27-91c1-c61e55e984a6)|3|20250122|animをターゲットに追従|[docs](https://dragonik.eternalmonke.com/)|
|[replicated interaction kit vol 3](https://www.fab.com/ja/listings/3ce13688-fd10-462f-b90d-964c85a090ad)|1|20241115|椅子に座る||
`rank`は更新頻度(追加)や価格から判断されます。`3`のassetがオススメです。 `rank`は更新頻度(追加)や価格から判断されます。`3`のassetがオススメです。

7
book/unity/README.md Normal file
View File

@ -0,0 +1,7 @@
# unity
[unity](https://unity.com/ja)
|plugin|body|
|---|---|
|https://github.com/vrm-c/UniVRM|vrmを読み込む|