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

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

需要用到3个脚本

1.控制飞机移动旋转

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

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

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

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

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朝向飞机和差值平滑跟踪飞机 的脚本

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);}}

使用方法:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/109430.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言统计学DOE实验设计:用平衡不完全区组设计(BIBD)分析纸飞机飞行时间实验数据...

全文链接:http://tecdat.cn/?p31010 平衡不完全区组设计(BIBD)是一个很好的研究实验设计,可以从统计的角度看各种所需的特征(点击文末“阅读原文”获取完整代码数据)。 最近我们被客户要求撰写关于BIBD的研…

Windows 性能突然打鸡血,靠 Bug 修复了多年顽疾

要说 的 Bug 集中地,当属资源管理器。 速度缓慢、卡顿、崩溃,不同设备、不同版本的用户都有不同的感受。 严格来说,这其实是 Windows 的传统艺能,要完美修复可不容易。 而作为小老弟的文件资源管理器,时不时来个无响…

腾讯mini项目-【指标监控服务重构】2023-07-31

今日已办 trace_id传播 关于如何使用 trace_id 创建 span 的思路 【暂未实现 & 测试】 调研 SpanProcessor 阅读源码的test 明日待办 根据 trace_id 创建 span,应该需要 parent span_id 才能有 trace 的树状 span 的关系

自动化办公更简单了:新版python-office,有哪些更新?

#职场经验谈# 大家好,这里是程序员晚枫,小破站/小红薯都叫这个名。 去年4月开源了一个Python自动化办公项目:python-office,GitHub和Gitee都能看到。1行代码实现复杂的自动化办公任务,帮助不懂代码的小白,…

FFMPEG视频压缩与Python使用方法

一、简介 FFMPEG 是一个完整的,跨平台的解决方案,记录,转换和流音频和视频。 官网:https://ffmpeg.org/ 二、安装 1、Linux: sudo apt install ffmpeg 2、Mac: brew install ffmpeg 3、Windows: 下载文件&#…

时间复杂度课后习题

目录 选择题 编程题 1.消失的数字 方法1:辅助数组法 方法2:位运算法 方法3:求和相减法 2.轮转数组 方法1:额外数组法 方法2:数组翻转法 选择题 1.给定一个整数sum,从有N个有序元素的数组中寻找元素…

时序分解 | MATLAB实现北方苍鹰优化算法NGO优化VMD信号分量可视化

时序分解 | MATLAB实现北方苍鹰优化算法NGO优化VMD信号分量可视化 目录 时序分解 | MATLAB实现北方苍鹰优化算法NGO优化VMD信号分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 北方苍鹰优化算法NGO优化VMD,对其分解层数,惩罚因子数做优化…

视频图像处理算法opencv模块硬件设计图像颜色识别模块

1、Opencv简介 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、Rub…

mysql leetcode打题记录

文章目录 完成度基本语法高级语法连接日期 函数编写函数聚合函数 因为上过的数据库课实在太水了,所以打算先在菜鸟教程/CSDN/leetcode先学一下基本语法,然后去做Stanford数据库原理的课程CS145。 小目标:把leetcode上不用钱的mysql的题先做一…

【Linux】环境基础开发工具使用

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析3 目录 👉🏻什么是软件包?👉&#x1f3fb…

数据分析工具有哪些,哪个好学?

Tableau、帆软BI、思迈特BI、SpeedBI数据分析云……这些都是比较常见的BI数据分析工具。从学习成本、操作难度以及数据可视化分析效果来看,SpeedBI数据分析云都表现地可圈可点。 1、不需下载安装、学习成本低 SpeedBI数据分析云是一款SaaS BI数据分析工具&#xf…

一场深刻的开源聚会:KCC@北京 9.2 活动回顾

开源为我们带来了什么?这是这场聚会的宣传文的标题:https://mp.weixin.qq.com/s/5sR6TPEpQmYNBnCtVilkzg 同样这个问题也可以是极具个体化的:开源为我带来了什么?秋天的周末,预报有雨,北京的开源人还是相聚…