小白学Unity03-太空漫游游戏脚本,控制飞船移动旋转

首先搭建好太阳系以及飞机的场景

需要用到3个脚本

1.控制飞机移动旋转

2.控制摄像机LookAt朝向飞机和差值平滑跟踪飞机

3.控制各个星球自转以及围绕太阳旋转(rotate()和RotateAround())

=============================================

1.控制飞机移动旋转的脚本

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MovePlan : MonoBehaviour
{
    // 这个脚本是用户用WASD键盘控制飞机移动

    public float MoveSpeed = 0.5f;
    public float RotateSpeed = 2f;
    float mOUSESPEED;

    void Update()
    {

        if (Input.GetKey(KeyCode.W))
        {
            this.transform.Translate(new Vector3(0, 0, 1 * MoveSpeed * Time.deltaTime));
        }
        if (Input.GetKey(KeyCode.S))
        {
            this.transform.Translate(new Vector3(0, 0, -1 * MoveSpeed * Time.deltaTime));
        }
        if (Input.GetKey(KeyCode.A))
        {
            this.transform.Translate(new Vector3(-1 * MoveSpeed * Time.deltaTime,0, 0 ));
        }
        if (Input.GetKey(KeyCode.D))
        {
            this.transform.Translate(new Vector3(1 * MoveSpeed * Time.deltaTime, 0, 0));
        }
        //控制物体旋转
        mOUSESPEED = Input.GetAxis("Mouse X");
        this.transform.Rotate(new Vector3(0, mOUSESPEED * RotateSpeed*Time.deltaTime, 0));
    }
}

2.控制摄像机LookAt朝向飞机和差值平滑跟踪飞机 的脚本

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ControlCamera : MonoBehaviour
{
    // 这个脚本是用来让摄像机跟踪目标,并且一直看向目标

    public Transform onetarget;//这是飞机的变换组件
    public GameObject OnePoint;
    public float Movespeed = 1f;
    
    void Update()
    {           

        this.transform.position = Vector3.Lerp(this.transform.position, OnePoint.transform.position, Movespeed * Time.deltaTime);

        this.transform.LookAt(onetarget);
    }

}

使用方法:

分别挂在到摄像机和飞机上

相关推荐
UWA7 小时前
为什么Android游戏画面在30帧运行时有抖动现象
android·游戏
Python私教7 小时前
Unity 游戏开发「工业化级」学习路线 2025 版
学习·unity·游戏引擎
软件开发技术深度爱好者11 小时前
python使用Pygame库实现避障小人行走游戏
python·游戏·pygame
于小汐在咯12 小时前
【Unity每日一记】Unity物理引擎:刚体与碰撞体详解
unity·游戏引擎
鱼蛋-Felix16 小时前
Unity jar更新不生效怎么解决
unity·游戏引擎·jar
星空露珠20 小时前
数独生成题目lua脚本
数据结构·数据库·算法·游戏·lua
wanhengidc21 小时前
云手机 基于云计算的虚拟手机
运维·服务器·游戏·智能手机·云计算
爱吃小胖橘1 天前
Unity资源加载模块全解析
开发语言·unity·c#·游戏引擎
井队Tell1 天前
打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第九天)
学习·3d·unity
王火火(DDoS CC防护)1 天前
游戏盾是如何保障游戏安全稳定的?
游戏·网络安全·ddos攻击·sdk游戏盾