当前位置: 首页 > news >正文

网站制作手机网站重庆森林电影简介

网站制作手机网站,重庆森林电影简介,bob网站建设,网站建设的实验总结本文使用Rigidbody控制飞机,基本不会穿模。 效果 飞行效果 这是一条优雅的广告 如果你也在开发飞机大战等类型的飞行游戏,欢迎在主页搜索博文并参考。 搜索词:Unity游戏(Assault空对地打击)开发。 脚本编写 首先是完整代码。 using System.Co…

本文使用Rigidbody控制飞机,基本不会穿模

效果

飞行效果

这是一条优雅的广告

如果你也在开发飞机大战等类型的飞行游戏,欢迎在主页搜索博文并参考。

搜索词:Unity游戏(Assault空对地打击)开发。

脚本编写

首先是完整代码。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class FlightCtrl : MonoBehaviour
{private float rotationSpeed = 5f;private float rollSpeed = 1f;private float minSpeed = 40f;private float maxSpeed = 200f;private float moveSpeed = 100f;private Rigidbody rb;private void Start(){rb = GetComponent<Rigidbody>();}private void FixedUpdate(){Move();Yaw();Pitch();Roll();}private void Move(){float move = Input.GetAxis("Vertical");moveSpeed += move;if (moveSpeed < minSpeed)moveSpeed = minSpeed;else if (moveSpeed > maxSpeed)moveSpeed = maxSpeed;rb.velocity = transform.forward * moveSpeed;}private void Yaw(){if (Input.GetMouseButton(0)){float yaw = Input.GetAxis("Mouse X");Vector3 newTorque = new Vector3(0f, yaw * pitchSpeed, 0f);rb.AddRelativeTorque(newTorque);}}private void Pitch(){if (Input.GetMouseButton(1)){float pitch = Input.GetAxis("Mouse Y");Vector3 newTorque = new Vector3(pitch * pitchSpeed, 0f, 0f);rb.AddRelativeTorque(newTorque);}}private void Roll(){float roll = Input.GetAxis("Horizontal"); // A, D/上, 下(-1, 1)Vector3 newTorque = new Vector3(0f, 0f, -roll * rollSpeed);rb.AddRelativeTorque(newTorque);}
}

分块解析

rotationSpeed:后续有用,请根据实际情况来调整数值,控制偏航和俯仰的转向速度。

rollSpeed:同理,控制横滚的速度。

moveSpeed:前进的速度,初始为100f。

min/maxSpeed:最低/高速。

rb:Rigidbody组件。

private float rotationSpeed = 5f;
private float rollSpeed = 1f;
private float minSpeed = 40f;
private float maxSpeed = 200f;private float moveSpeed = 100f;
private Rigidbody rb;

用处:获取Rigidbody组件,用rb表示。

private void Start()
{rb = GetComponent<Rigidbody>();
}

更新时:进行飞机的 前后移动、偏航、俯仰、横滚(如果需要操作)。

private void FixedUpdate()
{Move();Yaw();Pitch();Roll();
}

move:通常获取键盘的 W 和 S 键,或者方向键的上下箭头,W上(1)、S(下)(-1)。

加速或减速。

限制速度。

设置刚体速度:方向为物体的前方,速度为moveSpeed。

private void Move()
{float move = Input.GetAxis("Vertical");moveSpeed += move;if (moveSpeed < minSpeed)moveSpeed = minSpeed;else if (moveSpeed > maxSpeed)moveSpeed = maxSpeed;rb.velocity = transform.forward * moveSpeed;
}

当左键按下时,执行偏航操作(左右转动)。

获取鼠标的横向位置移动(左右移动)(左-1右1)

yaw * rotationSpeed,直接用yaw力太大或太小,需要乘一个数控制大小。

给刚体添加转向方向。

private void Yaw()
{if (Input.GetMouseButton(0)){float yaw = Input.GetAxis("Mouse X");Vector3 newTorque = new Vector3(0f, yaw * rotationSpeed, 0f);rb.AddRelativeTorque(newTorque);}
}

以此类推。

private void Pitch()
{if (Input.GetMouseButton(1)){float pitch = Input.GetAxis("Mouse Y");Vector3 newTorque = new Vector3(pitch * rotationSpeed, 0f, 0f);rb.AddRelativeTorque(newTorque);}
}private void Roll()
{float roll = Input.GetAxis("Horizontal"); // A, D/上, 下(-1, 1)Vector3 newTorque = new Vector3(0f, 0f, -roll * rollSpeed);rb.AddRelativeTorque(newTorque);
}

http://www.dinnco.com/news/16876.html

相关文章:

  • 给外国小孩 做 英语题用的网站国家认可的赚钱软件
  • 瑞安公司做网站seo优化专员工作内容
  • 平台戚里带崇墉炊金馔玉待鸣钟seo优化论坛
  • 高端网站模板专业整站优化
  • 网站建设流行技术郑州seo建站
  • 建设网站需要什么基础seo推广
  • 上海中国建设银行招聘信息网站如何做免费网络推广
  • html5网站带后台广州最新发布最新
  • 怎么创立一个自己的品牌seo产品是什么意思
  • 杭州 建设网站首页推广运营是做什么的
  • seo做的最好的网站排行360广告联盟平台
  • 微企业网站模板免费营销网页
  • 一款可做引流的网站源码东莞seo顾问
  • 黄页推广软件网站怎么做产品推广和宣传
  • 南雄市建设局网站seo是什么部位
  • 大连网站制作公司58免费制作网页平台
  • 做公益做的好的的网站我赢网客服系统
  • 专业医疗建站友情链接还有用吗
  • 旅游网站开发毕业论文前言产品网络营销分析
  • 网站栏目结构包括哪些地推是什么
  • 威联通怎么建设网站淘宝店铺推广方法
  • 大型网站建设企业名录模板苏州网站
  • 安徽网站建设详细教程国外网站排名前十
  • 手机网站 标题长度网站seo视频
  • 企业网站主要有哪四种类型设计网页的软件
  • 网站推广策划的思路包括哪些用广州seo推广获精准访问量
  • 深圳微信建网站seo推广视频隐迅推专业
  • 做vip电影网站站内优化主要从哪些方面进行
  • 付网站首期合同款怎么做分录重庆seo和网络推广
  • 网站制作公司多少人十八大禁用黄app入口