从今天开始打算从头开始搞一个全新的FPS游戏,引擎使用的是unity2017,所有美术资源都计划从商店购买或是网上下载(自己实在搞不来),主要玩法是玩家需要穿越多个地图到达目的地,每个地图类似于一个地牢,规定时间到地牢的门才会打开,在这之前玩家会遇到怪物追杀和哨兵把守,玩家突破重重阻碍直到逃出最后一个地牢即可胜利。在这里主要是做一下记录和总结,有不足之处希望指正。
这一篇是整个系列的准备工作。首先创建一个空物体作为玩家控制的对象,添加一个Character Controller组件。然后需要添加一个玩家控制角色的脚本,主要负责使玩家视角跟随对象,并控制角色移动、跳跃等。这种脚本比较熟悉了,因为是fps游戏,不用给玩家自己设置动画,所以我手撸了一个简易版的,效果满意。下面是脚本代码。
using System;
using UnityEngine;
public class player : MonoBehaviour
{
[HideInInspector]
public float m_mouserate;//鼠标灵敏度
[SerializeField]
private float m_gravity;
[SerializeField]
private float m_steptime;
[SerializeField]
private float m_jumpspeed;
[SerializeField]
private float m_movespeed;
[SerializeField]
private float m_crouchmovespeed;
public Camera m_camera;
private CharacterController m_player;
public Transform m_eyes;//眼睛
public AudioClip[] m_stepsound = new AudioClip[4];
public AudioClip m_jumpsound;
public AudioSource m_audio;
private float m_y = 0;
private float m_timer = 0;//用来计算播放走路音效的时间间隔
void Start()
{
m_camera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<Came