From 55789558420fe8771d2b1cdb58426a73f99322ad Mon Sep 17 00:00:00 2001 From: syui Date: Sun, 9 Feb 2025 07:24:32 +0900 Subject: [PATCH] update book --- book/README.md | 2 +- book/SUMMARY.md | 28 +- book/blender/01_model.md | 19 ++ book/blender/README.md | 9 + book/city/00_issue.md | 76 ++++++ book/city/01_remove.md | 20 +- book/city/CitySample.uproject | 325 ++++++++++++++++++++++ book/city/README.md | 421 +++++++++++++++++++++++++++-- book/default/00_asset.md | 14 +- book/default/00_issue.md | 40 +++ book/default/01_start.md | 8 + book/default/README.md | 22 +- book/gasp/00_issue.md | 51 ++++ book/{gas => gasp}/01_character.md | 0 book/{gas => gasp}/02_jump.md | 0 book/{gas => gasp}/03_vrm.md | 11 +- book/{gas => gasp}/04_vmc.md | 0 book/{gas => gasp}/05_kawaii.md | 0 book/{gas => gasp}/06_camera.md | 0 book/{gas => gasp}/07_anim.md | 0 book/{gas => gasp}/08_niagara.md | 0 book/{gas => gasp}/09_chair.md | 0 book/{gas => gasp}/README.md | 4 +- book/plan/01_flying.md | 16 ++ book/plan/02_uds.md | 5 + book/plan/03_ocean.md | 12 + book/plan/04_item.md | 1 + book/plan/README.md | 3 + book/unity/README.md | 7 + 29 files changed, 1033 insertions(+), 61 deletions(-) create mode 100644 book/blender/01_model.md create mode 100644 book/blender/README.md create mode 100644 book/city/00_issue.md create mode 100644 book/city/CitySample.uproject create mode 100644 book/default/00_issue.md create mode 100644 book/gasp/00_issue.md rename book/{gas => gasp}/01_character.md (100%) rename book/{gas => gasp}/02_jump.md (100%) rename book/{gas => gasp}/03_vrm.md (75%) rename book/{gas => gasp}/04_vmc.md (100%) rename book/{gas => gasp}/05_kawaii.md (100%) rename book/{gas => gasp}/06_camera.md (100%) rename book/{gas => gasp}/07_anim.md (100%) rename book/{gas => gasp}/08_niagara.md (100%) rename book/{gas => gasp}/09_chair.md (100%) rename book/{gas => gasp}/README.md (94%) create mode 100644 book/unity/README.md diff --git a/book/README.md b/book/README.md index e269297..3574f4c 100644 --- a/book/README.md +++ b/book/README.md @@ -1,5 +1,5 @@ ![](cover.jpg) -# Unreal Engine 5 Guide Book +# Unreal Engine Guide Book download | web diff --git a/book/SUMMARY.md b/book/SUMMARY.md index e4ab18d..8e01a36 100644 --- a/book/SUMMARY.md +++ b/book/SUMMARY.md @@ -1,21 +1,23 @@ # Summary -* [Unreal Engine 5 Guild Book](README.md) +* [Unreal Engine Guild Book](README.md) * [default](default/README.md) * [asset/plugin](default/00_asset.md) * [start](default/01_start.md) * [install](default/02_install.md) * [tips](default/03_tips.md) -* [game animation sample](gas/README.md) - * [キャラクターを追加する](gas/01_character.md) - * [飛びつける高さを増やす](gas/02_jump.md) - * [キャラクターの見た目を変える](gas/03_vrm.md) - * [モーションキャプチャで動かす](gas/04_vmc.md) - * [揺れものを設定する](gas/05_kawaii.md) - * [カメラワークの設定する](gas/06_camera.md) - * [アニメーションを作成する](gas/07_anim.md) - * [niagaraでダメージを出す](gas/08_niagara.md) - * [椅子に座る](gas/09_chair.md) + * [issue](default/00_issue.md) +* [game animation sample](gasp/README.md) + * [キャラクターを追加する](gasp/01_character.md) + * [飛びつける高さを増やす](gasp/02_jump.md) + * [キャラクターの見た目を変える](gasp/03_vrm.md) + * [モーションキャプチャで動かす](gasp/04_vmc.md) + * [揺れものを設定する](gasp/05_kawaii.md) + * [カメラワークの設定する](gasp/06_camera.md) + * [アニメーションを作成する](gasp/07_anim.md) + * [niagaraでダメージを出す](gasp/08_niagara.md) + * [椅子に座る](gasp/09_chair.md) + * [issue](gasp/00_issue.md) * [control rig sample](crs/README.md) * [CRでキャラクターを動かす](crs/01_character.md) * [ボスを作る](crs/02_boss.md) @@ -23,6 +25,7 @@ * [惑星形式のmapを作る](city/01_remove.md) * [橋を作る](city/02_bridge.md) * [建造物を作る](city/03_house.md) + * [issue](city/00_issue.md) * [json blueprint utilities](json/README.md) * [apiから情報を取得する](json/01_varest.md) * [pixel streaming](pixel/README.md) @@ -32,4 +35,7 @@ * [ultra dynamic sky](plan/02_uds.md) * [ocean waves](plan/03_ocean.md) * [nice interaction system](plan/04_item.md) +* [unity](unity/README.md) +* [blender](blender/README.md) + * [モデルをカスタマイズする](blender/01_model.md) * [end](end/README.md) diff --git a/book/blender/01_model.md b/book/blender/01_model.md new file mode 100644 index 0000000..be9917e --- /dev/null +++ b/book/blender/01_model.md @@ -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で読み込んだとき少し下に表示されるので、これ自体をずらした場所で調整するしかありませんでした。 diff --git a/book/blender/README.md b/book/blender/README.md new file mode 100644 index 0000000..59d5d72 --- /dev/null +++ b/book/blender/README.md @@ -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に反映| + diff --git a/book/city/00_issue.md b/book/city/00_issue.md new file mode 100644 index 0000000..e1d626c --- /dev/null +++ b/book/city/00_issue.md @@ -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 + + + + + net8.0 + + + + + + + + +``` + +> 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 project’s 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にします。 + diff --git a/book/city/01_remove.md b/book/city/01_remove.md index 88264b1..7005947 100644 --- a/book/city/01_remove.md +++ b/book/city/01_remove.md @@ -10,21 +10,7 @@ game engineのmapは基本的に平面で作られています。どこまで行 海には境界があってそれが惑星システム(planet system)を構築する際に邪魔になるので消します。 -## 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`にします。これは海に入って出たときに海中を適用する高さを設定します。 +`/Map/Small_City_LVL`を使います。`GroundCollisionCube`,`DroneBlockingVolume`を探して削除します。これは海面にplane(平面)を設置しています。 ## ultra dynamic skyで天候と惑星を作る @@ -41,3 +27,7 @@ game engineのmapは基本的に平面で作られています。どこまで行 - `BP_Earth`: `transform-location-z:-636000000`, `transform-scale:6360000` - `Sky_Sphere_Mesh`: `transform-scale:50000` + +## ocean wavesで惑星の海を作る + +[こちら](/plan/03_ocean.html) diff --git a/book/city/CitySample.uproject b/book/city/CitySample.uproject new file mode 100644 index 0000000..d8d52b6 --- /dev/null +++ b/book/city/CitySample.uproject @@ -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" +} diff --git a/book/city/README.md b/book/city/README.md index 5c6a932..841bd7d 100644 --- a/book/city/README.md +++ b/book/city/README.md @@ -4,34 +4,407 @@ ニューヨーク(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 project’s 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 -- https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Plugins/AutomatedPerfTesting - -そのうち解消されると思いますが、現在(2024-11-18)、city sampleはbuildできません。`Engine/Plugins/Performance/AutomatedPerfTestingにAutomatedPerfTestConfig.cs`, `AutomatedPerfTestNode.cs`が含まれていないため`${project}/Build/Script/CitySample.Automation.csproj`に記述されているcompileが通らないのです。 - -```html - - - - - net8.0 - - - - - - - - +```sh +# 以下のfileをcopy +GameAnimationSample + Binaries + Win64/UnrealEditor.modules #このfileだけはcopy(rewrite)しない + Build + Content ``` -これは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しましょう。 diff --git a/book/default/00_asset.md b/book/default/00_asset.md index 8326d2d..31689e7 100644 --- a/book/default/00_asset.md +++ b/book/default/00_asset.md @@ -24,8 +24,20 @@ |[kawaiiphysics](https://github.com/pafuhana1213/KawaiiPhysics)|20241201|揺れものを設定| |[varest](https://github.com/ufna/VaRest)|20240828|curlのようなもの。supportが終了しているのでbuildが必要| |[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) diff --git a/book/default/00_issue.md b/book/default/00_issue.md new file mode 100644 index 0000000..72e9ba5 --- /dev/null +++ b/book/default/00_issue.md @@ -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サポート(公式ヘルプページ)に問い合わせることをお勧めします。 diff --git a/book/default/01_start.md b/book/default/01_start.md index 835a448..685ddcd 100644 --- a/book/default/01_start.md +++ b/book/default/01_start.md @@ -27,6 +27,14 @@ ueを長く使っているとわかることですが、ゲーム制作にはあ 「ueはバグが多く基本的に壊れている」このことを最初に理解しておかないと「おかしいなあ」と時間を無駄にしてしまいます。また、保存せず長時間コードを書き続けるのは危険です。クラッシュ(crash)すると消えてしまいます。プロジェクト(project)そのものが壊れることもよくあります。注意しましょう。 +## unityやblenderも使っている + +vrmでの開発は主に[unity](/unity/)が中心です。`.vrm`の仕様を作っているpixivがunityで読み込むためのpluginを開発しているからです。vrmに対応する様々なツールはunityで作られています。 + +もし`.vrm`を扱う場合は、どちらにせよ`unity`を使うことになると思います。私もモデルのカスタマイズなどでunityを使っています。 + +モデルのカスタマイズには[blender](/blender)というものもあって、`blender`も使用しています。 + ## 用語の解説 |title|short|body| diff --git a/book/default/README.md b/book/default/README.md index c998513..1dca1f8 100644 --- a/book/default/README.md +++ b/book/default/README.md @@ -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|ゲームエンジン| +## パソコンのスペック + +開発するゲームによりますが、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 -# youtube -## https://www.youtube.com/embed/${id}?start=0&end=10&mute=1&rel=0&showinfo=0&controls=0 ``` +### blueprint + +`https://blueprintue.com/render/${id}/${n}` + ```html -# blueprint -## https://blueprintue.com/render/${id}/${n} ``` diff --git a/book/gasp/00_issue.md b/book/gasp/00_issue.md new file mode 100644 index 0000000..9e00495 --- /dev/null +++ b/book/gasp/00_issue.md @@ -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の初期設定をすることです。 + + + +## 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が自動で入ってしまうことも要因になります。 + diff --git a/book/gas/01_character.md b/book/gasp/01_character.md similarity index 100% rename from book/gas/01_character.md rename to book/gasp/01_character.md diff --git a/book/gas/02_jump.md b/book/gasp/02_jump.md similarity index 100% rename from book/gas/02_jump.md rename to book/gasp/02_jump.md diff --git a/book/gas/03_vrm.md b/book/gasp/03_vrm.md similarity index 75% rename from book/gas/03_vrm.md rename to book/gasp/03_vrm.md index 7d14263..3013e4b 100644 --- a/book/gas/03_vrm.md +++ b/book/gasp/03_vrm.md @@ -13,7 +13,9 @@ ueで読み込むには`vrm4u`というpluginを使用します。 2. editorのファイルエクスプローラーでモデルファイルの`.vrm`をD&Dします。色々と聞かれますが適当にokや選択します。配色タイプが聞かれます。例えば、`$project/Content/Characters`に`model`フォルダを作り`model.vrm`をimport(インポート)した場合で解説します。 > $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/ @@ -22,7 +24,6 @@ https://vrm.dev/vrm1/ これは`RTG_UEFN_$model`で調整します。各指にある線を選択して値を変更します。 - `回転アルファ:0.5` -- `ボールベクターオフセットを維持:false` ## 前髪の角度を調整する @@ -94,7 +95,7 @@ https://vrm.dev/vrm1/ アウトライン(outline) -1. `/Content/Blueprints/RetargetedCharacters/CBP_SandboxCharacter_$model`を作成します。前と同じ要領で新しいキャラクターを追加し、GASで使えるようにします。 +1. `/Content/Blueprints/RetargetedCharacters/CBP_SandboxCharacter_$model`を作成します。前と同じ要領で新しいキャラクターを追加し、GASPで使えるようにします。 2. componentで`BP_VrmOutlineComponent`を追加します。 ## 見た目をきれいにする @@ -103,3 +104,7 @@ https://vrm.dev/vrm1/ 私は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}`を選択します。 diff --git a/book/gas/04_vmc.md b/book/gasp/04_vmc.md similarity index 100% rename from book/gas/04_vmc.md rename to book/gasp/04_vmc.md diff --git a/book/gas/05_kawaii.md b/book/gasp/05_kawaii.md similarity index 100% rename from book/gas/05_kawaii.md rename to book/gasp/05_kawaii.md diff --git a/book/gas/06_camera.md b/book/gasp/06_camera.md similarity index 100% rename from book/gas/06_camera.md rename to book/gasp/06_camera.md diff --git a/book/gas/07_anim.md b/book/gasp/07_anim.md similarity index 100% rename from book/gas/07_anim.md rename to book/gasp/07_anim.md diff --git a/book/gas/08_niagara.md b/book/gasp/08_niagara.md similarity index 100% rename from book/gas/08_niagara.md rename to book/gasp/08_niagara.md diff --git a/book/gas/09_chair.md b/book/gasp/09_chair.md similarity index 100% rename from book/gas/09_chair.md rename to book/gasp/09_chair.md diff --git a/book/gas/README.md b/book/gasp/README.md similarity index 94% rename from book/gas/README.md rename to book/gasp/README.md index 8f4ce49..b1a4775 100644 --- a/book/gas/README.md +++ b/book/gasp/README.md @@ -2,9 +2,9 @@ [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)を動かしてみましょう。 diff --git a/book/plan/01_flying.md b/book/plan/01_flying.md index 99a4770..d5e638b 100644 --- a/book/plan/01_flying.md +++ b/book/plan/01_flying.md @@ -1,3 +1,19 @@ # superhero flight animations [superhero flight animations](https://www.fab.com/ja/listings/41185c19-5191-4153-8293-8cc9901efa95) + +GASと連携するには飛行モードを有効にするときだけABPを切り替えます。いくつかの調整が必要になります。 + + + +## スピードとカメラ設定 + +|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|遅れを取る最大距離| diff --git a/book/plan/02_uds.md b/book/plan/02_uds.md index 1edeb91..142b50c 100644 --- a/book/plan/02_uds.md +++ b/book/plan/02_uds.md @@ -7,3 +7,8 @@ blueprintなどでも`uds`と略されます。 1. `/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky`, `Ultra_Dynamic_Weather`をlevelに置きます。 2. `Ultra_Dynamic_Weather(Self)`の詳細から`Random Weather Variation:Hourly`にします。これで天候がすぐに変わります。 +## 雪を積もらせる + +1. landscapeにあるmaterialを編集します。 +2. ultra dynamic weatherと検索して追加します。 +3. base color, normalなどのpinがあればつなげます。 diff --git a/book/plan/03_ocean.md b/book/plan/03_ocean.md index 6bf7fe5..b8c50db 100644 --- a/book/plan/03_ocean.md +++ b/book/plan/03_ocean.md @@ -1,3 +1,15 @@ # 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`にします。これは海に入って出たときに海中を適用する高さを設定します。 diff --git a/book/plan/04_item.md b/book/plan/04_item.md index 4fdfacf..a02379a 100644 --- a/book/plan/04_item.md +++ b/book/plan/04_item.md @@ -7,3 +7,4 @@ > 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` > Now just add the AC_GS_Interaction component to your game state: +4. project設定にてcollisionのtrace channelに`LookAtTrace`を`ignore`で追加します。 diff --git a/book/plan/README.md b/book/plan/README.md index b60f997..3c65d50 100644 --- a/book/plan/README.md +++ b/book/plan/README.md @@ -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)| |[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/)| +|[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がオススメです。 diff --git a/book/unity/README.md b/book/unity/README.md new file mode 100644 index 0000000..b9ba912 --- /dev/null +++ b/book/unity/README.md @@ -0,0 +1,7 @@ +# unity + +[unity](https://unity.com/ja) + +|plugin|body| +|---|---| +|https://github.com/vrm-c/UniVRM|vrmを読み込む|