『Unity5ゲーム開発レシピ』「Part01 基本編 Chapter03 弾を撃つ」 学習記録

Unity5ゲーム開発レシピ ハマるゲーム制作のノウハウ

Unity5ゲーム開発レシピ ハマるゲーム制作のノウハウ

序文

『Unity5ゲーム開発レシピ』5日目。

ちょっと楽しくなってきました。

GitHub

github.com

進捗

  • Part01 基本編
    • Chapter03 弾を撃つ

(学習時間:3時間)

コード実装部分

\chapter1\assets\scripts\playershoot.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerShoot : MonoBehaviour
{
  void Start()
  {

  }

  public GameObject shot;
  public GameObject muzzle;
  public GameObject muzzleFlash;

  float shotInterval = 0;
  float shotIntervalMax = 0.25f;

  void Update()
  {
    // 発射間隔を設定する
    shotInterval += Time.deltaTime;

    // 弾を発射する
    if (Input.GetButton("Fire1"))
    {
      // 間隔を開ける
      if (shotInterval > shotIntervalMax)
      {
        Instantiate(shot, muzzle.transform.position, Camera.main.transform.rotation);

        shotInterval = 0;

        // マズルフラッシュを表示する
        Instantiate(muzzleFlash, muzzle.transform.position, transform.rotation);
      }
    }
  }
}
  • その他実装部分

github.com

実行結果

www.youtube.com もう操作が俺の動作性IQで扱えなくなっている

感想

やったこと。

  • プレイヤーが弾にひっかからないように修正
  • 玉野発射位置の調整
  • 弾の消滅と各種エフェクト実装
  • 敵キャラクターの表示、つねにプレイヤーの方向を見るように設定

おー、割とそれっぽくなってきた。

パーティクルのエフェクト終了時にオブジェクトを破棄する処理

ParticleSystem particleSystem = GetComponent <ParticleSystem>();
Destroy(gameObject, particleSystem.duration);

が非推奨の古い書き方です。みたいなこと言われたのでどうしたらいいのかなーと思って調べてみたら、著者の方がしっかりブログで触れていらっしゃった。

cycling.hateblo.jp

ありがたいです。

「マズルフラッシュを作成するには」が果たしてTipsになりうるのか!?とかツッコミどころはありながらも割と楽しんでいる。

はやくオリジナルのアプリ制作に取り掛かりたい。

カロリーメイトください。

BGM

初恋とはなんぞや / パブリック娘。

www.youtube.com