您的位置:首页 > 房产 > 建筑 > 石家庄市网站制作_绍兴建站模板系统_百度seo营销_百度关键词搜索推广

石家庄市网站制作_绍兴建站模板系统_百度seo营销_百度关键词搜索推广

2024/12/23 10:03:00 来源:https://blog.csdn.net/applelin2012/article/details/143656200  浏览:    关键词:石家庄市网站制作_绍兴建站模板系统_百度seo营销_百度关键词搜索推广
石家庄市网站制作_绍兴建站模板系统_百度seo营销_百度关键词搜索推广

写在最前面的话

脚本不完美,目前未做到丝滑转弯,今后我可能再出一篇关于转弯优化的博客。

一、效果预览

二、脚本代码

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;public class Move : MonoBehaviour
{public float speed = 0f;void FixedUpdate(){if (speed * 600 < 350) // 不在飞行模式{transform.GetComponent<Rigidbody>().isKinematic = false; // 运动学,会自己掉下去if (Input.GetKey(KeyCode.Space) || Input.GetKey(KeyCode.W))speed += 0.0015f; // 加速if (Input.GetKey(KeyCode.Backspace) || Input.GetKey(KeyCode.S))speed -= 0.0015f; // 减速if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))if (speed * 6 > 0.8f) // 转弯transform.Rotate(Vector3.up * 0.8f);else // 限制转角transform.Rotate(Vector3.up * speed * 6);if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))if (speed * 6 > 0.8f) // 转弯transform.Rotate(Vector3.up * -0.8f);else // 限制转角transform.Rotate(Vector3.up * -speed * 6);speed -= 0.00025f; // 自动减速if (!(speed > 0f)) // 速度为负数时自动归零speed = 0f;transform.Translate(0f, 0f, speed / 2); // 前进}else // 在飞行模式{transform.GetComponent<Rigidbody>().isKinematic = true; // 运动学,不会自由落体if (Input.GetKey(KeyCode.Space) || Input.GetKey(KeyCode.Q))transform.Rotate(0.275f, 0, 0); // 上升if (Input.GetKey(KeyCode.Backspace) || Input.GetKey(KeyCode.E))transform.Rotate(-0.275f, 0, 0); // 俯冲if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))speed += 0.0015f; // 加速if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))speed -= 0.0015f; // 减速if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))if (speed * 6 > 0.8f) // 同理transform.Rotate(Vector3.up * 0.8f);elsetransform.Rotate(Vector3.up * speed * 6);if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))if (speed * 6 > 0.8f) // 同理transform.Rotate(Vector3.up * -0.8f);elsetransform.Rotate(Vector3.up * -speed * 6);if (Input.GetKey(KeyCode.Z)) // 自转transform.Rotate(0, 0, 1);if (Input.GetKey(KeyCode.X)) // 自转transform.Rotate(0, 0, -1);speed -= 0.00025f; // 自动减速if (!(speed > 0f)) // 同理speed = 0f;transform.Translate(0f, 0f, speed / 2); // 前进}}private void OnGUI(){GUI.Label(new Rect(10, 10, 200, 200), "Speed: " + (int)(speed * 600)); // 显示时速}
}

如果你看不懂,可以挂载上去试试:

W:前进

A:左转

S:减速

D:右转

Q:爬升

E:俯冲

Z,X:自转

三、物体设置

 

1.添加Rigidbody和Box Collider(或者其他碰撞体)

自己去搜。

2.添加Move脚本(刚才写的)。

还有,机场一定要添加碰撞体,不然你想开飞机开到地下去吗?😉

如果你还有疑问,或者对碰撞体等不理解,可以评论私信,看到秒回。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com