UnityFPS射击游戏目录

FPS第一人称视角射击游戏

游戏涉及知识点介绍:

  • unity对象使用
  • 物体旋转、移动
  • 刚体碰撞
  • 射线使用
  • 协程函数
  • 预设体

UnityFPS射击游戏目录_第1张图片

UnityFPS射击游戏目录_第2张图片

UnityFPS射击游戏目录_第3张图片

UnityFPS射击游戏目录_第4张图片

UnityFPS射击游戏目录_第5张图片


开发过程详解http://blog.csdn.net/d276031034/article/category/6735438

游戏下载http://download.csdn.net/detail/d276031034/9759475

游戏源码下载http://download.csdn.net/detail/d276031034/9758902


本人是工作中转到unity开发,在做这款游戏过程中遇到太多太多的坑。希望能够一起交流学习

请留言或者联系邮箱:[email protected]


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

public class Move : MonoBehaviour {
    //玩家对象移动速度
    public float speed = 9.0f;
    //玩家受到的重力
    public float gravity = -9.8f;

    private CharacterController _characterController;
	// Use this for initialization
	void Start () {
        //获取对象上CharacterController控件,
        /*
         * Character Controller本身自带一个碰撞器,无需刚体即可完成触发(Trigger)和碰撞(Collision)功能
         * 既通过控件CharacterController进行移动物体,自动检测碰撞
        */
        _characterController = GetComponent();

	}
	
	// Update is called once per frame
	void Update () {
        //获取键盘输入(AD左右按键)
        float deltaX = Input.GetAxis("Horizontal") * speed;
        //获取键盘输入(WS上下按键)
        float deltaZ = Input.GetAxis("Vertical") * speed;
        Vector3 movement = new Vector3(deltaX, 0, deltaZ);
        //对速度进行限制,向量值最大为speed
        movement = Vector3.ClampMagnitude(movement, speed);
        //设置受到重力
        movement.y = gravity;
        //增量时间,使得在不同的硬件设备运行出来的速度是一致
        movement *= Time.deltaTime;
        //坐标转换,由自身坐标转换为世界坐标
        movement = transform.TransformDirection(movement);
        //玩家对象移动
        _characterController.Move(movement);
	}
}



你可能感兴趣的:(unity,Unity3D入门实例)