Slide 1

Slide 1 text

23's 新卒者研修ゲーム開発 action game development with Unity ハンズオン2 デジタルエンターテインメント事業本部 モンストゲーム運営部 クライアント1G クライアント1T 篠崎 瑞樹

Slide 2

Slide 2 text

● 操作キャラは「Lキー」でパンチ動作が可能です。 ● 配布したプロジェクトでは他プレイヤーにパンチがヒットしても何も起きま せん。 ● 他プレイヤーにパンチがヒットした場合にダメージを与えれるようにしてみ ましょう! ○ ハンズオン1の手錠の実装と同じようにレイキャストを用いて実装しま しょう。 【Intro】 パンチ攻撃

Slide 3

Slide 3 text

【出題】 パンチ攻撃 (20min) 別紙「【2日目】action game development with Unity 出題シート」 ゴール:パンチ攻撃を他キャラにヒットさせてダメージを与えられるようにする。 ● 資料に@todo コメントがある部分を自分で考えて実装しましょう

Slide 4

Slide 4 text

【解答例】 パンチ攻撃 1. CharacterController.DoAttack() ● RequestDamage()を使用することで AddDamage()関数をRPC同期している。 ● PunCharacterHandler.AddDamage()内に体力減少を確認できるように Debug.Logを追加して います。

Slide 5

Slide 5 text

● キャラクターにHPバーらしきものが表示されていますが、体力が減っても表 示は変わりません。 ● HPの増減を反映できるようにして、体力ゲージを実装してみましょう! 【Intro】 体力ゲージの 実装

Slide 6

Slide 6 text

【出題】 体力ゲージ (20min) 別紙「【2日目】action game development with Unity 出題シート」 ゴール:体力ゲージを実装する ● 資料に@todo コメントがある部分を自分で考えて実装しましょう ● 表示されている緑色のバーは「Assets/AthreticPrj/Resources/UI/Prefab/Parts/nickname.prefab」 内のSliderです。これをHPに応じて動くようにしてみましょう

Slide 7

Slide 7 text

【解答例】 体力ゲージの 実装 1. GameScene.OnCharacterStatusChanged() a. Slider.valueは0〜1の範囲なので、HP割合を代入する

Slide 8

Slide 8 text

● パンチダメージを与えられるようになりましたが、ダメージを受けた側のア クションがありません。 ● パンチに吹き飛ばし効果を追加して、ヒットしたキャラが吹き飛ぶようにし てみましょう! 【Intro】 パンチ攻撃に 吹き飛ばし効 果を追加

Slide 9

Slide 9 text

【出題】 パンチ攻撃に 吹き飛ばし効 果を追加 (20min) 別紙「【2日目】action game development with Unity 出題シート」 ゴール:パンチ攻撃にヒットしたキャラがパンチ方向に吹き飛ぶようにする ● 資料に@todo コメントがある部分を自分で考えて実装しましょう

Slide 10

Slide 10 text

【解答例】 パンチ攻撃に 吹き飛ばし効 果を追加 ● PunCharacterHandler.csに実装を追加 ● AddForceを実装 ● AddForce()を同期できるように、 RequestAddForce()を実装

Slide 11

Slide 11 text

【解答例】 パンチ攻撃に 吹き飛ばし効 果を追加 ● CharacterController.DoAttack() ○ パンチ方向のベクトルを求めてAddForce()を呼び出す ■ 少し吹き飛ぶ感じが出るように上方向の成分も追加しています。