unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩
将场景中的摄像机删除,在玩家的控制面板中添加Camera组件,和rigibody组件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move : MonoBehaviour
{
public float speed;
Rigidbody rigid;
void Start()
{
rigid = GetComponent<Rigidbody>();
}
void Update()
{
moveAction();
}
private void moveAction()
{
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
transform.Translate(h * speed * Time.deltaTime, 0, v * speed * Time.deltaTime);
rigid.constraints = RigidbodyConstraints.FreezeRotation;
if ((Input.GetKeyDown(KeyCode.Space)) && (rigid.velocity.y == 0))
{
rigid.AddForce(new Vector3(0, 150, 0));
}
float qx = Input.GetAxis("Mouse X");
float qy = -Input.GetAxis("Mouse Y");
Quaternion xoff = Quaternion.Euler(0, qx, 0);
Quaternion yoff = Quaternion.Euler(qy, 0, 0);
if (Input.GetAxis("Mouse ScrollWheel") > 0)
{
GetComponent<Camera>().fieldOfView--;
}
if (Input.GetAxis("Mouse ScrollWheel") < 0)
{
GetComponent<Camera>().fieldOfView++;
}
transform.rotation = xoff * transform.rotation;
transform.rotation = transform.rotation * yoff;
float angle = transform.eulerAngles.x;
if (angle > 180)
angle -= 360;
if (angle < -180)
angle += 360;
if (angle > 15)
transform.rotation = Quaternion.Euler(15, transform.eulerAngles.y, 0);
if (angle < -15)
transform.rotation = Quaternion.Euler(-15, transform.eulerAngles.y, 0);
}
}
unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩相关推荐
- 【Unity】人物控制 移动/跳跃/蹲下/奔跑/视野旋转 代码
项目场景: 需求:物体跟随鼠标所指引的方向移动,可以跳跃,奔跑,蹲下. 1.视野跟随鼠标移动 2.由键盘控制物体的上下左右移动过程 3.可以跳跃和奔跑等 解决方案: 有很多在中解决方法,这里讨论两种 ...
- Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转
Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转 using System.Collections; using System.Collections.Generic; ...
- Unity游戏脚本简单学习
Unity游戏脚本 1.脚本操作游戏对象 1.1.创建游戏对象 创建一个空的游戏对象 GameObject obj = new GameObject("obj1"); 用该方法创建 ...
- unity在脚本中获取游戏对象有三种_Unity3D中用于删除当前脚本所在游戏对象的代码是:_学小易找答案...
[单选题]297 . 乙醇的颜色为 [单选题]219 . 下列物质中含有极性共价键的是 [单选题]OnWillCreatAsset( string path) 上面命令的作用是: [填空题]针对单个或 ...
- 使用Nautilus脚本增加新功能
使用Nautilus脚本扩展文件管理功能的步骤: 1.建立一个shell或python.perl等的脚本,并设置可执行权限. 2.把脚本放到~/.gnome2/nautilus-scripts目录下. ...
- unity中脚本编辑器UnIDE
引言 unity默认脚本编辑器是MonoDevelop,随着unity4.3面世,MonoDevelop (4.0.1)版本也随之而来,更新为界面更改和bug自动修复功能等,具体还未使用. 点击uni ...
- Unity VR开发出语音识别功能
Unity VR在近日正式宣布了VR的新技术语音识别功能,让你在虚拟现实设备中更加的现实. 交互一直以来都是虚拟现实领域的重头戏,我们一直以来所熟悉的交互形式是手柄或者体感控制器. 不过现在,Unit ...
- 《Unity 3D脚本编程:使用C#语言开发跨平台游戏》序言
本文是7月受陈嘉栋的委托为他的新书<Unity 3D脚本编程:使用C#语言开发跨平台游戏>所写的序言,借助序言告诉大家.NET平台有着一个广阔的使用场景. 序言 Unity3D 是由两个具 ...
- unity 震动脚本_Unity - Cinemachine实现相机抖动
普通相机抖动脚本较易实现,但在使用cinemachine相机下,其Transform组件不可被代码修改,那么Cinemachine的相机抖动如何实现呢?本文结合实际项目,对实现相机抖动的三大步骤进行系 ...
最新文章
- Redhat 7使用CentOS 7的Yum网络源
- 4、计算机图形学——光栅化、抗锯齿、画家算法和深度缓冲算法(Z-buffer)
- numpy.array创建行数超过一行的矩阵为什么要用两层中括号?
- 大白话5分钟带你走进人工智能-第十节梯度下降之归一化的各种方式和必要性(5)...
- Neo4j简单的样例
- java reader_Java之字符输入流,Reader类的简单介绍
- 幽灵漏洞(Ghost gethost)
- 基于tensorflow 批量修改自己的图片数据集 (附代码)
- 2016年度最受欢迎的100个Java库
- 模糊算法 matlab,几种模糊控制算法的MATLAB仿真.pdf
- RFC 5627 SIP中文翻译
- matlab随机生成点图,matlab随机生成散点图
- SpringBatch 实列学习《一》
- 你是没教养,不是性子直
- fcpx如何清除缓存?Final Cut Pro X 清除缓存方法
- python求sinx近似值_c语言求sinx的近似值 c语言求sinx近似值
- 捷径系列:Notification
- 数据结构复习——绪论
- x ,1/x的关系; 反函数的实质:xy可以互换,就是进行坐标轴变化,就是关于y=x对称 反函数性质:f-1(f(x))=x; 反三角函数‘
- Java-10.14
热门文章
- 合创视觉科技UI设计师就业发展前景怎么样?薪资待遇如何?
- oracle查询数值时小数点前的0不显示
- 财通基金VeriSign EV SSL证书网站可信服务
- 改变windows锁屏时间
- JAVA毕业设计民宿运营管理网站计算机源码+lw文档+系统+调试部署+数据库
- python自带哪些包_python各个包的用途
- android吉凶信息查询代码,手机号码吉凶查询工具 公开源码,可任意修改
- ApacheCN 翻译活动进度公告 2019.3.17
- Mac 储存空间“其他”占据这么多?一招带你搞定
- 表格如何存入mysql_Luckysheet如何把表格里的数据保存到数据库