This commit is contained in:
syui 2025-02-08 21:41:44 +09:00
parent 3315add048
commit 25237030df
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56
15 changed files with 119 additions and 3 deletions

View File

@ -16,8 +16,10 @@
* [アニメーションを作成する](gas/07_anim.md) * [アニメーションを作成する](gas/07_anim.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)
* [city sample](city/README.md) * [city sample](city/README.md)
* [惑星形式のmapを作る](city/01_remove.md) * [惑星形式のmapを作る](city/01_remove.md)
* [橋を作る](city/02_bridge.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)
@ -26,4 +28,5 @@
* [superhero fligth animations](plan/01_flying.md) * [superhero fligth animations](plan/01_flying.md)
* [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)
* [end](end/README.md) * [end](end/README.md)

View File

@ -12,6 +12,8 @@ game engineのmapは基本的に平面で作られています。どこまで行
## ocean wavesで惑星の海を作る ## ocean wavesで惑星の海を作る
[ocean waves](https://www.unrealengine.com/marketplace/ja/product/ocean-waves)
必要なものを`/Content/OceanWaves/Levels/EarthSizedOceanPlanet`からcopyして持ってきましょう。 必要なものを`/Content/OceanWaves/Levels/EarthSizedOceanPlanet`からcopyして持ってきましょう。
- `BP_EarthSizedSphericalMesh` - `BP_EarthSizedSphericalMesh`
@ -26,6 +28,8 @@ game engineのmapは基本的に平面で作られています。どこまで行
## ultra dynamic skyで天候と惑星を作る ## ultra dynamic skyで天候と惑星を作る
[ultra dynamic sky](https://docs.google.com/document/d/1xAr0Hd3mY7Mp0g0waKLUvJaddUPaVxEeRoEEFXctCE0/)
1. `/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky`を開きます。 1. `/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky`を開きます。
2. そこに地球と月と太陽のBPを入れます。各自が用意してください。なお、地球は`SkyAtmosphere`の下に置いてください。 2. そこに地球と月と太陽のBPを入れます。各自が用意してください。なお、地球は`SkyAtmosphere`の下に置いてください。
> 名前は 地球(BP_Earth), 月(BP_Moon), 太陽(BP_Sun) としておきます。 > 名前は 地球(BP_Earth), 月(BP_Moon), 太陽(BP_Sun) としておきます。

9
book/city/02_bridge.md Normal file
View File

@ -0,0 +1,9 @@
# 橋を作る
[automotive bridge scene](https://www.fab.com/ja/listings/a472df9d-9179-4743-8d41-335f9ef55546)
1. `/Content/AutomotiveBridgeScene/Blueprints/BP_CurvedBridge`, `BP_StraightBridge`を開きます。これをつなぎ合わせていくことで橋を作ります。
2. Lampが動きませんので、選択した上で`Static Mesh``city sample`に入っている`/Content/Prop/Kit_StreetLamp_C/Mesh/streetLampC`と入れ替えます。
3. 私はベンチのところを`traversable(トラバーサブル)`するためにGASの`/Content/LevelPrototyping/LevelBlock_Traversable`を入れています。Base Materialを`/Content/Characters/Echo/Materials/M_hide`にして透明にします。
![](../img/0003.png)

View File

@ -2,3 +2,4 @@
[city sample](https://www.unrealengine.com/marketplace/ja/product/city-sample) [city sample](https://www.unrealengine.com/marketplace/ja/product/city-sample)
ニューヨーク(NY)をモデルに都市が作られています。人と自動車が動いています。自動車は乗ることや破壊することができます。

85
book/crs/02_boss.md Normal file
View File

@ -0,0 +1,85 @@
# ボスを作る
敵(enemy)やボス(boss)には必要なものが多いです。動きや攻撃パターン、エフェクト、ステータスやドロップアイテム、ゲージ表示、BGMなどが必要になります。場合によっては演出も必要です。
<iframe width="100%" height="415" src="https://www.youtube.com/embed/BsLOlAr-wBY?si=jahPUVD8YMMfefvm&amp;start=20&end=50&amp;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>
bossは`/Content/ControlRig/Characters/Mech`を元に作ります。
## 動きを作る
まずABPを作成し、基本的なAnimGraphを作成します。
projectにはsampleのABPがあるはずですからAnimGraphに`idle`, `jump`, `run`などが揃っているをcopyします。
[![](../img/0004.png)](../img/0004.png)
ここでは`AnimGraph -> Locomotion -> Idle`を編集します。
動きはABPの`Look At`が使えます。boneを指定するとPlayerに追従します。
`[Mech_Idle] --> [Look At](Bone to Modify:cannon_01) --> Output Animation Pose`
[![](../img/0006.png)](../img/0006.png)
## 攻撃を作る
私は最初に購入したassetの[space frontier stations & ships](https://docs.google.com/document/d/1p5MY13cpTlVtqP7sCQpAoE_k5VHklmndZ4cHeBy105Y/edit?tab=t.0#heading=h.nx19nrsdk37u)を使いました。なお、購入はおすすめしません。長いので以降は`space station`とします。
ここからはassetの解説になります。しかし、基本的な考え方については変わりません。まずは考え方を紹介します。
1. ターゲットをロック
2. ダメージ処理
ターゲット(target)をロック(lock)できるようなシステムは大抵、攻撃頻度やダメージ、コリジョンなど基本設定ができるようになっています。`epic games`が提供するassetや無料のassetでも同じです。そういった物を見つけてbossのBPに組み込みます。
ただし、ダメージ処理、例えば、HP管理や倒した倒された処理は自分で書く必要があるかもしれません。
### 最初に触ったassetが影響を与える
ここからは少し昔の話をします。基本的には読み飛ばしてください。
ueで最初に始めたのがこのasset(space ship)を使ったゲーム作りでした。当時は何もわからずに手探りで自分のモデルを表示して遊んでいました。宇宙空間に自分のモデルを表示したときは本当に嬉しくて感動でした。
当時は`superhero flight animations`という空を飛ぶためassetも購入して同時に使っていましたが、今でもその影響は残っています。
その人のゲーム作りは最初に触ったassetが強く影響を与えるのだと思います。
### space stationの基本構造
1. `/Content/SpaceStation/Blueprints/Weapons`で各武器のタイプを選べます。ここでは`BP_TurretGatling`を開きます。
2. `/Content/SpaceStation/Blueprints/Weapons/BP_TurretGatling(Self)`の詳細から`Weapon -> Shooting Delay:1`にして`Turret -> Turret Aiming Speed:150`にします。これは発射速度とターゲットに合わせる速度の設定です。
3. `/Content/SpaceStation/Blueprints/Weapons/Parent/DT_WeaponTypes`を開きます。ここで弾丸の音(sound)やエフェクト(effect)を設定します。
4. 最後に`/Content/Blueprints/CBP_SandboxCharacter(Self)`の詳細で`actor(アクタ) -> Tags[0] -> Allow Shooting`を追加します。これでPlayerがターゲットにロックされるようになります。なお、`Tags[1] -> ShootingTarget`を追加するとPlayerから銃撃できます。こちらは使いません。
5. あとは`/Content/SpaceStation/Blueprints/Weapons/BP_TurretGatling`をmapに置いてください。
### ダメージ処理
damage(ダメージ)の処理を書きます。
`/Content/Blueprints/CBP_SandboxCharacter``Event Any Damage`を追加します。これでdamageを受けますが、hpを用意してそれが0になったときゲームオーバー(gameover)する処理を書いたりします。
<iframe src="https://blueprintue.com/render/xbwy4u36/1" scrolling="no" allowfullscreen style="width:100%;height:400px"></iframe>
これはGame Ability System(GAS)を使うと便利です。
https://dev.epicgames.com/documentation/ja-jp/unreal-engine/gameplay-ability-system-for-unreal-engine
## HPゲージの表示
`widget``ProgressBar`を作ります。まず`BP_Mech`にbox collisionを入れて、そこに入ると`boss active`になります。`true`ならwidgetを表示する仕組みです。
ProgressBarは`0.0 -> 1.0`なので注意してください。`HP_Current`から`HP_Max`を割り算します。
<iframe src="https://blueprintue.com/render/xbwy4u36/2" scrolling="no" allowfullscreen style="width:100%;height:400px"></iframe>
## 撃破処理
bossを撃破するまでの処理を書きます。
damageを受けて0になると消滅し、ドロップアイテムを落とします。消滅時はniagaraでeffectを再生します。damageを受けたときも同じです。
ドロップアイテムは`nice interaction system`というassetを使用しています。これは`E`を押すとアイテム(item)が取得できるものです。
<iframe src="https://blueprintue.com/render/xbwy4u36/3" scrolling="no" allowfullscreen style="width:100%;height:400px"></iframe>

View File

@ -2,3 +2,5 @@
[control rig sample](https://www.fab.com/ja/listings/2ce3fe44-9ee6-4fa7-99fc-b9424a402386) [control rig sample](https://www.fab.com/ja/listings/2ce3fe44-9ee6-4fa7-99fc-b9424a402386)
`control rig sample`では人間以外のcharacterを動かすことができます。

View File

@ -4,7 +4,7 @@
ゲームは無料のassetだけでも作れます。しかし、時間やクオリティを向上させたい場合は有料のassetを使いましょう。 ゲームは無料のassetだけでも作れます。しかし、時間やクオリティを向上させたい場合は有料のassetを使いましょう。
本書の一部では有料assetの使い方を解説します。 本書の一部では有料assetの使い方を解説します。[sale](https://www.fab.com/ja/channels/unreal-engine?ui_filter_price=1&ui_filter_is_discounted=1&is_discounted=1)中のものを探しましょう。
## asset ## asset
@ -31,6 +31,7 @@
|[superhero flight animations](https://www.fab.com/ja/listings/41185c19-5191-4153-8293-8cc9901efa95)|20241217|空を飛ぶ| |[superhero flight animations](https://www.fab.com/ja/listings/41185c19-5191-4153-8293-8cc9901efa95)|20241217|空を飛ぶ|
|[ultra dynamic sky](https://docs.google.com/document/d/1xAr0Hd3mY7Mp0g0waKLUvJaddUPaVxEeRoEEFXctCE0/)|20250203|空や天候を自動化| |[ultra dynamic sky](https://docs.google.com/document/d/1xAr0Hd3mY7Mp0g0waKLUvJaddUPaVxEeRoEEFXctCE0/)|20250203|空や天候を自動化|
|[ocean waves](https://www.unrealengine.com/marketplace/ja/product/ocean-waves)|20240923|惑星の海を作る| |[ocean waves](https://www.unrealengine.com/marketplace/ja/product/ocean-waves)|20240923|惑星の海を作る|
|[nice interaction system](https://www.fab.com/ja/listings/63b61e4a-dc11-4ee0-a6b1-f4860bd29198)|20250206|アイテムを取得する|
|[magicalanimset](https://www.fab.com/ja/listings/a63386b8-7cad-42cd-8b81-a9de147e1f08)|20241222|少女の戦闘アニメーション| |[magicalanimset](https://www.fab.com/ja/listings/a63386b8-7cad-42cd-8b81-a9de147e1f08)|20241222|少女の戦闘アニメーション|
## link ## link

View File

@ -1,11 +1,16 @@
# アニメーションを作成適用する # アニメーションを作成する
control rigからも作成できます。しかし、購入したものを使うのが一番です。 control rigからも作成できます。しかし、購入したものを使うのが一番です。
[magicalanimset](https://www.fab.com/ja/listings/a63386b8-7cad-42cd-8b81-a9de147e1f08)
無料でやるなら`.fbx`, `.vrma`などから作成します。 無料でやるなら`.fbx`, `.vrma`などから作成します。
- https://www.mixamo.com/ - https://www.mixamo.com/
- https://booth.pm/ja/items/5512385 - https://booth.pm/ja/items/5512385
- https://github.com/BandaiNamcoResearchInc/Bandai-Namco-Research-Motiondataset - https://github.com/BandaiNamcoResearchInc/Bandai-Namco-Research-Motiondataset
## control rigから作る
再生して録画ボタンを押すと作れます。

View File

@ -4,7 +4,7 @@
[G]ame [A]nimation [S]ampleでGASと略すことがあります。 [G]ame [A]nimation [S]ampleでGASと略すことがあります。
なお、[G]ame [A]birity [S]ystemもGASなので紛らわしいです。 なお、[G]ame [A]bility [S]ystemもGASなので紛らわしいです。
まずはこれを使ってキャラクター(character)を動かしてみましょう。 まずはこれを使ってキャラクター(character)を動かしてみましょう。

BIN
book/img/0003.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 KiB

BIN
book/img/0004.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

BIN
book/img/0005.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

BIN
book/img/0006.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -2,3 +2,4 @@
pcのdisplay(ディスプレイ)が必要になる。画面の電源もつけておく必要があります。 pcのdisplay(ディスプレイ)が必要になる。画面の電源もつけておく必要があります。

5
book/plan/04_item.md Normal file
View File

@ -0,0 +1,5 @@
# nice interaction system
[nice interaction system](https://www.fab.com/ja/listings/63b61e4a-dc11-4ee0-a6b1-f4860bd29198)