学習ノート

学習者ゆえ、記事の内容は間違っていることもあります。ご了承ください。

AWS Cloud Practitioner Essentials (Japanese) (日本語字幕版)

AWS Cloud Practitioner Essentials (Japanese) (日本語字幕版)」は

Amazonが無料で提供しているAWS初学者のためのeラーニング

 

無料のeラーニングというと30分ぐらいのちょっとしたものを想像しがちだけど

想定6時間、ビデオ学習あり、最後に30問のテスト付きというガチのeラーニング

AmazonAWSを普及させようという意気込みを感じる神教材

 

特にビデオが良い!エンジニア3人が交代で解説していくんだけど

オシャレでユーモアもあって飽きさせない作りにっている

一貫してコーヒーショップに例えて解説しているのも理解しやすかった

 

同じ内容を日本人がやっている「日本語実写版」もあるけど

個人的には「日本語字幕版」の方がおススメ

 

再生速度の選択もできるので、字幕が早いと感じる場合は

0.75倍速で再生するといい感じ

 

AWSの学習を開始するなら、このeラーニングは絶対やった方がいい!

視聴メモ「Spawn ノードを使って色んなものを出してみよう!」(2)

今回のメモの範囲(35:15 ~ End)


www.youtube.com

UE4(4.25.0)の初心者向け動画を視聴して、UE5(5.0.0早期アクセス)の学習をします

※ 全内容のメモではありません 学習者は元動画の視聴を強くお勧めします

※ 略記 UE = Unreal Engine , BP = Blueprint

 Agenda

 

1. Spawnノードを使って弾を出してみよう!

1.1. Arrowコンポーネント

弾のBPにArrowコンポーネントを追加しておくと、どちらが前方かわかりやすくなる

Arrowの向きを変えても前方が変わるわけではない

 

1.2. Projectile Movementコンポーネント

  1. 弾のBPにProjectile Movementコンポーネントを追加
  2. Projectile MovementコンポーネントのInitial SpeedとMax Speedに任意の値を設定
  3. Projectile MovementコンポーネントのProjectile Gravity Scale(重力)を0に設定
  4. Projectile MovementコンポーネントのRotation Follows Velocityにチェック

 

Projectile Gravity Scaleは重力の設定(デフォルトは1.0)

デフォルト値のままだと弾は重力に引かれて落ちていく

 

Rotation Follows Velocityにチェックをいれておくことで

進んでいる方向にアクタの回転を調整してくれる

 

1.3. 弾がモノにあたったら跳ね返るようにする

  1. Box Collisionコンポーネントを追加
  2. Box Collisionコンポーネントをルートに変更(DefaultSceneRootにドラッグ&ドロップ)
  3. Box CollisionコンポーネントコリジョンプリセットをBlockAllDynamicに変更
  4. Projectile MovementコンポーネントのShould Bounceにチェック

 

Box Collisionを利用せずにMesh(Sphere)をルートにしても再現できる

Box Collisionを利用すると弾のあたり判定を調節できるのが利点

Box Collisionの大きさはシェイプの値で調整する

 

4でShould Bounceにチェック入れない場合、弾は跳ね返らないで静止する

 

1.4. 大砲から弾を出す

1.4.1. Tickを使って弾を出す
  1. SpawnActorノードを配置してTickとリンク
  2. 大砲のBPにArrowコンポーネントを追加
  3. ビューポートでArrowの位置を調整(Arrowの位置を弾を出す位置として利用)
  4. Arrow -> GetWorldLocation -> SpawnActor(Spawn Transform Locationピン)リンク
  5. Arrow -> GetWorldRotation -> SpawnActor(Spawn Transform Rotationピン)リンク
  6. 大砲のBPのルート(BP_Cannon)を選択しTick Intervalの値を調整

 

SpawnActorノードにはCollision Handling Overrideという設定値がある

スポーンの際にコリジョンが発生場合の動作を指定できる

Defaultの場合は、アクタクラスのSpawn Collision Handling Methodの値が適用される

 

1.4.2. 効果音を鳴らす

soundeffect-lab.info

上記のサイトはMP3形式で配布

UEはMP3に対応していないので何らかのツールでWAV形式に変換する

 

WAVファイルをコンテンツブラウザにドラッグ&ドロップする

必要ならば音声ファイルをダブルクリックして音量(Volume)の調整を行う

 

大砲のBPのSpawnActorノードの後にSpawn Soundノードをリンクする方法もあるが

弾のBPのBeginPlayにリンクする方法も同じ

 

1.4.3. 弾にエフェクトを追加する

弾のBPにParticleSystemコンポーネントを追加する

 

2. Tips

2.1. ある一定の範囲にランダムで弾を出す

Random Point in Bounding Boxノードを利用する

  1. BPを作成しBox Collisionコンポーネントを追加
  2. Box Collisionコンポーネントのシェイプの値を設定
  3. Arrowコンポーネントを追加
  4. Box -> GetWorldLocation -> Random Point in Bounding Box(Originピン)
  5. Box -> Box Extent-> Random Point in Bounding Box(Box Extentピン)
  6. Random Point in Bounding Box -> SpawnActor(Spawn Transform Locationピン)
  7. Arrow -> GetWorldRotation -> SpawnActor(Spawn Transform Rotationピン)
  8. SpawnActorノードのClassを選択
  9. Tick -> SpawnActor

 

2.2. 弾をホーミングさせる

レベルに配置した砲台から弾にサードパーソンの情報を引き継ぐのが肝

  1. 砲台のBPにThird Person型の変数Characterを作成(インスタンス編集可能)
  2. レベルに配置した砲台のCharacter変数にThirdPersonCharacterを設定
  3. 弾のBPにThird Person型の変数Characterを作成(インスタンス編集可能、スポーン時に公開)
  4. 砲台のBPのSpawnActor BP BulletにCharacterピン(3の手順で追加)に変数Characterをリンク
  5. 弾のBPにProjetile Movementコンポーネントを配置
  6. Projetile Movement -> Set Homing TargetComponent(ターゲットピン)
  7. Character -> Mesh -> Set Homing TargetComponent(Homing Target Componentピン)
  8. Projetile Movementの詳細パネルでIs Homing Projectileにチェック
  9. Projetile Movementの詳細パネルでHoming Acceleration Magnitudeの値を調整

 

7の手順、ホーミングの対象はアクタではなく、コンポーネントに対して指定する

7の手順でMeshを指定するとSkeltal Mesh Componentの原点である足元を狙ってくる

MeshをGetRootComponentに変更すると胴(ルートのArrow)を狙ってくる

 

2.3. 弾の寿命を設定する

弾のBPのルート(BP_Bullet)のInitial Life Spanで設定(秒)する

0(デフォルト)は寿命の設定なし

End Playノードで寿命が尽きた時にイベントを発生させることができる

ただしEnd PlayはDestroyActorの後にも呼ばれる

 

視聴メモ「Spawn ノードを使って色んなものを出してみよう!」(1)

今回のメモの範囲(Start ~ 35:15)


www.youtube.com

UE4(4.25.0)の初心者向け動画を視聴して、UE5(5.0.0早期アクセス)の学習をします

※ 全内容のメモではありません 学習者は元動画の視聴を強くお勧めします

※ 略記 UE = Unreal Engine , BP = Blueprint

 Agenda

 

1. UEのSpawn機能について

  • エフェクト・・・Spawn Emitterノード、Spawn Systemノード
  • 効果音・・・Spawn Soundノード
  • アクター・・・SpawnActorノード ※単語区切りにスペースなし

 

2. 前回作成した拾えるコインのBPに演出をつけてみよう!

2.1. リアクションは大事!

例えばモノを拾ったときにリアクションがないと、プレイヤーは何が起きたのか、

拾ってよかったものなのか判断できないことがある

 

初心者がゲームを作るとリアクションがない淡々としたものになることがある

リアクションを積み重ねることによって良いゲームに仕上がっていく

 

2.2. 他のプロジェクトのアセットを使う

※現時点で「機能別サンプル」はUE5に対応していないのでUE4を使ってUE5にアセットを取り込む

 

コンテンツブラウザのフィルタを使うと目的のアセットを絞り込むことができる

  1. 利用したいアセット右クリックして「アセット アクション -> 移行」を選択
  2. アセットレポートで「OK」をクリック
  3. コピー先のプロジェクトのContentフォルダを選択

 

選択したファイルがContentフォルダ直下にコピーされるのではなく

アセットレポートに表示されたフォルダ構造でコピーされる

 

2.3. 効果音を鳴らす

効果音を鳴らすノードには以下のようなものがある

  • Spawn Sound 2Dノード・・・鳴らす位置を指定しない場合
  • Spawn Sound at Locationノード・・・鳴らす位置が重要な場合
  • Spawn Sound Attachedノード・・・鳴らす位置(親子付け)が重要な場合

 

他にもPlay Sound 2Dノード、Play Sound at Locationノードのようなノードもある

Spawn系ノードとPlay系ノードの違いは、Spawn系ノードは鳴らした音に対して

さらに処理(音量変更、ピッチ変更など)を追加できる

Play系ノードは音を鳴らすのみ

 

2.4. エフェクトを再生する

エフェクトを再生するノードには以下のようなものがある

  • Spawn Emitter at Locationノード・・・Cascadeのエフェクト(旧)
  • Spawn System at Locationノード・・・Niagaraのエフェクト(新)

 

エフェクトの再生には位置の指定が必ず必要

GetActorLocationノードをLocationピンにリンクする

 

3. Tips

3.1. 機能別サンプルのフィルタ

 

3.2. 機能別サンプルのレベル

機能別サンプルではサンプルのテーマごとにレベルが作られている

MapsフォルダのBPをダブルクリックしてサンプル表示を変更できる

 

3.3. 機能別サンプルのレベルからアセットのファイルを探す方法

下記手順で該当のアセットのファイルが選択される

  1. レベル上のサンプルを選択
  2. 詳細パネルのTemplate表示の虫眼鏡マークをクリック

 

3.4. Spawn Emitter Attachedノードの利用例

レイマンの頭から炎を出したい場合

  1. レイマンのBPにSpawn Emitter Attachedノードを配置
  2. Spawn Emitter AttachedノードのEmitter Templateで炎のエフェクトを選択
  3. 任意のイベントノードとSpawn Emitter Attachedノードをリンク
  4. レイマンのMeshを変数化して配置
  5. MeshとSpawn Emitter AttachedノードのAtattch to Componentピンをリンク
  6. Spawn Emitter AttachedノードのAttach Point Nameにheadを入力
  7. Spawn Emitter AttachedノードのLocation TypeをKeep Relatiove Offsetに設定
  8. Spawn Emitter AttachedノードのLocationでheadからの炎の表示位置を調整