当前位置:   article > 正文

项目实训(十一)——FPS游戏(第一人称射击游戏)初步开发_fps游戏测试项目描述

fps游戏测试项目描述

一、前言

我与另外两个组员合作进行了FPS游戏(第一人称射击游戏)的开发,这个游戏对应于我们在项目开始设想的PVP玩家对战游戏。玩家之间的之间对战会让游戏变得更加紧张刺激,还能够增强玩家之间的感情。
我在这个游戏中主要负责的工作是枪械特效、枪械声音、射击反馈震屏、子弹散射、枪械射击弹孔、ui子弹数量、pun控制输入同步、remote开枪效果同步。

二、实现枪械射击

首先,我们是在weapon文件夹下完成对枪械的相关脚本的创建和编写的。
在这里插入图片描述
创建IWeapon脚本用来管理接口,命名空间归类到Scripts.Weapon下,防止出现冲突:

namespace Scripts.Weapon
{
   
   public interface IWeapon
   {
   
      void DoAttack();
   }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

然后编写Firearms脚本,这是枪械整体共用的部分。其中把Firearms枪械类抽象掉,因为这不是具体的枪械,并且可以挂在game object上:
获取枪口的位置,还要知道子弹抛出的位置。抛出弹壳使用粒子变量,避免太多的实例化过程。
需要一个弹夹AmmoInMag,设置容纳的子弹数。并且设置每把枪最大的子弹携带数。此外开枪需要设置动画。

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

namespace Scripts.Weapon
{
   
    public abstract class Firearms : MonoBehaviour, IWeapon
    {
   
        public GameObject BulletPrefab;

        public Camera EyeCamera;
        public Camera GunCamera;

        public Transform MuzzlePoint;
        public Transform CasingPoint;

        public ParticleSystem MuzzleParticle;
        public ParticleSystem CasingParticle;


        public AudioSource FirearmsShootingAudioSource;
        public AudioSource FirearmsReloadAudioSource;
        public FirearmsAudioData FirearmsAudioData;
        public ImpactAudioData ImpactAudioData;
        public GameObject BulletImpactPrefab;

        public float FireRate;

        public int AmmoInMag = 30;
        public int MaxAmmoCarried = 120;

        public float SpreadAngle;

        [SerializeField] internal Animator GunAnimator;

        public List<ScopeInfo> ScopeInfos;

        public ScopeInfo BaseIronSight;

        protected ScopeInfo rigoutScopeInfo;

        public int GetCurrentAmmo => CurrentAmmo;
        public int GetCurrentMaxAmmoCarried => CurrentMaxAmmoCarried;
        
        protected int CurrentAmmo;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/104089
推荐阅读
相关标签
  

闽ICP备14008679号