[unity]Unityゲーム5.1(総実装と総フラッシュ)の真似


https://youtu.be/uandR5M30ho[Youtuber:Keyd]のUnitity 3 Dレッスンビデオを見て、それに続くUnitieを学ぶために作られたゲーム

この授業では銃を持つ動作について勉強しました.銃を出して、撃つ時に銃口の効果を体現して、遊ぶ時マウスの左ボタンが少しで終わることを知らないのはプログラムの上でこのように具体的です.


戦時中に習ったウォーキングやランニングなどの動作のように、銃に関するアニメーションを動作によって部分的に分け、名前を付け、パラメータにboolとtrigerを作成し、関連する動作を相互に接続します.
SubMachineGun 1を作成した後、管理する必要があるダメージ、銃弾数、射程などをInspectorでエンコードする必要があります.
    public string gunName; //총 이름
    public float range; //사정거리
    public float accuracy; //정확도
    public float fireRate;//연사속도
    public float reloatTime; //재장전 속도

    public int damage; //데미지

    public int reloatBulletCount; //총알 재장전 갯수
    public int currentBulletCount; // 현재 탄알집에 남아있는 총알의 개수.
    public int maxBulletCount; // 최대 소유 가능 총알 개수
    public int carryBulletCount; // 현재 소유하고 있는 총알 개수

    public float retroActionForce; // 반동 세기
    public float retroActionFineSightForece; // 정조준시의 반동 세기
    public Vector3 fineSightOriginPos; 

    public Animator anim;

    public ParticleSystem muzzleFlash;
    

    public AudioClip fire_Sound;
必要なものを宣言する
    private void TryFire()
    {
        if (Input.GetButton("Fire1") && currentFireRate <= 0)
        {
            Fire();
        }
    }
左キーとFireRate<=0を満たす場合は、Fire関数を実行します.
   private void GunFireRateCalc()
    {
        if (currentFireRate > 0)
            currentFireRate -= Time.deltaTime;
        
    }
CurrentFireRateは0より大きく、deltatimeを減らします.簡単に言えば、これは毎秒1減少に等しい.次にshot()関数を実行します.発射する時間だ.
    private void Fire()
        {
            currentFireRate = currentGun.fireRate;
            Shoot();
        }
currentFireRateを再実行します.csのFireRate値に初期化し、現在のFireRate値はFireRateから開始し、GunFireRateCalcで設定したフレームごとの時間を押します.デルタタイムのように減少し、0以下に下がるまで発射します.
    private void Shoot()
   {
       PlaySE(currentGun.fire_Sound);
       currentGun.muzzleFlash.Play();
       Debug.Log("총알 발사함");

   }
発射後、どのくらい発射されたかをログで表示し、音や銃列のフラッシュを再生することができます.

また、Effactsでparticle systemを作成し、総列のフラッシュ効果を生み出しました.この過程は想像以上に細かく、過程が多く、混同させられています.

先ほど宣言した内容をInspectorウィンドウで必要な値を調整すればいいです

タッチサイズ、拡散度合い、拡散半径など様々な効果により、自然な効果が得られます.発射時には簡単な音も追加しました.

これで、左ボタンをクリックするたびに音と放出効果が現れます.ここまで作られたのはまだたくさん残っていますが、何かを真剣に作っているようで、よく使われる符号化関数、コマンド、unityの機能をもっと知りました.