AWS Cloud Practitioner Essentials (Japanese) (日本語字幕版)
「AWS Cloud Practitioner Essentials (Japanese) (日本語字幕版)」は
Amazonが無料で提供しているAWS初学者のためのeラーニング
無料のeラーニングというと30分ぐらいのちょっとしたものを想像しがちだけど
想定6時間、ビデオ学習あり、最後に30問のテスト付きというガチのeラーニング
AmazonのAWSを普及させようという意気込みを感じる神教材
特にビデオが良い!エンジニア3人が交代で解説していくんだけど
オシャレでユーモアもあって飽きさせない作りにっている
一貫してコーヒーショップに例えて解説しているのも理解しやすかった
同じ内容を日本人がやっている「日本語実写版」もあるけど
個人的には「日本語字幕版」の方がおススメ
再生速度の選択もできるので、字幕が早いと感じる場合は
0.75倍速で再生するといい感じ
AWSの学習を開始するなら、このeラーニングは絶対やった方がいい!
図解 哲学 人物&用語事典
★★★☆☆
視聴メモ「Spawn ノードを使って色んなものを出してみよう!」(2)
今回のメモの範囲(35:15 ~ End)
※ 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コンポーネント
- 弾のBPにProjectile Movementコンポーネントを追加
- Projectile MovementコンポーネントのInitial SpeedとMax Speedに任意の値を設定
- Projectile MovementコンポーネントのProjectile Gravity Scale(重力)を0に設定
- Projectile MovementコンポーネントのRotation Follows Velocityにチェック
Projectile Gravity Scaleは重力の設定(デフォルトは1.0)
デフォルト値のままだと弾は重力に引かれて落ちていく
Rotation Follows Velocityにチェックをいれておくことで
進んでいる方向にアクタの回転を調整してくれる
1.3. 弾がモノにあたったら跳ね返るようにする
- Box Collisionコンポーネントを追加
- Box Collisionコンポーネントをルートに変更(DefaultSceneRootにドラッグ&ドロップ)
- Box CollisionコンポーネントのコリジョンプリセットをBlockAllDynamicに変更
- Projectile MovementコンポーネントのShould Bounceにチェック
Box Collisionを利用せずにMesh(Sphere)をルートにしても再現できる
Box Collisionを利用すると弾のあたり判定を調節できるのが利点
Box Collisionの大きさはシェイプの値で調整する
4でShould Bounceにチェック入れない場合、弾は跳ね返らないで静止する
1.4. 大砲から弾を出す
1.4.1. Tickを使って弾を出す
- SpawnActorノードを配置してTickとリンク
- 大砲のBPにArrowコンポーネントを追加
- ビューポートでArrowの位置を調整(Arrowの位置を弾を出す位置として利用)
- Arrow -> GetWorldLocation -> SpawnActor(Spawn Transform Locationピン)リンク
- Arrow -> GetWorldRotation -> SpawnActor(Spawn Transform Rotationピン)リンク
- 大砲のBPのルート(BP_Cannon)を選択しTick Intervalの値を調整
SpawnActorノードにはCollision Handling Overrideという設定値がある
スポーンの際にコリジョンが発生場合の動作を指定できる
Defaultの場合は、アクタクラスのSpawn Collision Handling Methodの値が適用される
1.4.2. 効果音を鳴らす
上記のサイトは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ノードを利用する
- BPを作成しBox Collisionコンポーネントを追加
- Box Collisionコンポーネントのシェイプの値を設定
- Arrowコンポーネントを追加
- Box -> GetWorldLocation -> Random Point in Bounding Box(Originピン)
- Box -> Box Extent-> Random Point in Bounding Box(Box Extentピン)
- Random Point in Bounding Box -> SpawnActor(Spawn Transform Locationピン)
- Arrow -> GetWorldRotation -> SpawnActor(Spawn Transform Rotationピン)
- SpawnActorノードのClassを選択
- Tick -> SpawnActor
2.2. 弾をホーミングさせる
レベルに配置した砲台から弾にサードパーソンの情報を引き継ぐのが肝
- 砲台のBPにThird Person型の変数Characterを作成(インスタンス編集可能)
- レベルに配置した砲台のCharacter変数にThirdPersonCharacterを設定
- 弾のBPにThird Person型の変数Characterを作成(インスタンス編集可能、スポーン時に公開)
- 砲台のBPのSpawnActor BP BulletにCharacterピン(3の手順で追加)に変数Characterをリンク
- 弾のBPにProjetile Movementコンポーネントを配置
- Projetile Movement -> Set Homing TargetComponent(ターゲットピン)
- Character -> Mesh -> Set Homing TargetComponent(Homing Target Componentピン)
- Projetile Movementの詳細パネルでIs Homing Projectileにチェック
- 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)
※ 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にアセットを取り込む
コンテンツブラウザのフィルタを使うと目的のアセットを絞り込むことができる
- 利用したいアセット右クリックして「アセット アクション -> 移行」を選択
- アセットレポートで「OK」をクリック
- コピー先のプロジェクトの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. エフェクトを再生する
エフェクトを再生するノードには以下のようなものがある
エフェクトの再生には位置の指定が必ず必要
GetActorLocationノードをLocationピンにリンクする
3. Tips
3.1. 機能別サンプルのフィルタ
3.2. 機能別サンプルのレベル
機能別サンプルではサンプルのテーマごとにレベルが作られている
MapsフォルダのBPをダブルクリックしてサンプル表示を変更できる
3.3. 機能別サンプルのレベルからアセットのファイルを探す方法
下記手順で該当のアセットのファイルが選択される
- レベル上のサンプルを選択
- 詳細パネルのTemplate表示の虫眼鏡マークをクリック
3.4. Spawn Emitter Attachedノードの利用例
グレイマンの頭から炎を出したい場合
- グレイマンのBPにSpawn Emitter Attachedノードを配置
- Spawn Emitter AttachedノードのEmitter Templateで炎のエフェクトを選択
- 任意のイベントノードとSpawn Emitter Attachedノードをリンク
- グレイマンのMeshを変数化して配置
- MeshとSpawn Emitter AttachedノードのAtattch to Componentピンをリンク
- Spawn Emitter AttachedノードのAttach Point Nameにheadを入力
- Spawn Emitter AttachedノードのLocation TypeをKeep Relatiove Offsetに設定
- Spawn Emitter AttachedノードのLocationでheadからの炎の表示位置を調整