我想做的移动操作方式类似【流星蝴蝶剑】、【龙之谷】、【我的世界第三人称】的第三人称操作方式。

操作说明:W键会朝当前镜头方向前进,鼠标控制镜头旋转。

做前需知(先去稍微了解一下比较好):

①unity脚本的生命周期

②旋转的欧拉角和四元数

③简单三角函数知识

④Unity基本的API(比如this.transform.position为对象的(x,y,z)坐标)

第一步:创建一个脚本move,写上脚本,并赋予我的人物。

(注意:图片中的Parva是我给图片加的水印。)

第二步:给人物添加碰撞器和刚体,并把调整好角度的摄像机赋予人物的myCamera变量

第三步:WASD让人物动起来

先添加一个速度变量

写FixedUpdate()函数  代码意义都写在注释里了

演示一下,WASD控制人物移动

第四步:让镜头跟着人物移动

添加一个变量

Start()中添加

添加LateUpdate()函数

第五步:鼠标控制镜头围绕人物旋转

添加变量

修改LateUpdate()

第六步:WASD改变人物的朝向

在FixedUpdate()中添加代码

第七步:让人物朝当前镜头方向前进

添加变量

在LateUpdate()中添加

在FixedUpdate()中修改

在演示中,我单按住键盘的W键,并移动鼠标,人物就会朝着镜头旋转的方向前进。

而之前这样的操作呢,不管镜头怎么旋转,人物都是朝着世界的正Z轴方向前进。

第八步:让键盘控制的人物的朝向,相对于镜头角度进行改变

修改FixedUpdate()中的一行代码就行了

这样,人物的移动镜头操作就OK了。

Unity学习笔记_控制人物移动+摄像机跟随的更多相关文章

  1. jQuery源代码学习笔记_工具函数_noop/error/now/trim

    jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...

  2. Unity3D学习笔记(九):摄像机

    3D数学复习 using System.Collections; using System.Collections.Generic; using UnityEngine; public class w ...

  3. SSM框架学习笔记_第1章_SpringIOC概述

    第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...

  4. TCP/IP学习笔记17--TCP-- 窗口控制 重发控制 流控制

    事业无穷年 -- 韩愈 利用窗口控制提高速度: TCP传输数据是,以一个段为单位(每次发送一个数据包),每发一个段需要一次确认应答,这样就难免存在这样的缺点:包的往返时间越长,通信性能就越低. 为解决 ...

  5. Python学习笔记_我的参考网址

    Python学习笔记, 下面记录网上搜到的可参考的网址: 一.关于Tkinter 1.Python3中tkinter模块使用方法详解 https://blog.csdn.net/Fighting_Bo ...

  6. FFT和NTT学习笔记_基础

    FFT和NTT学习笔记 算法导论 参考(贺) http://picks.logdown.com/posts/177631-fast-fourier-transform https://blog.csd ...

  7. .Net基础篇_学习笔记_第五天_流程控制while循环

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. 学习笔记_过滤器应用(粗粒度权限控制(拦截是否登录、拦截用户名admin权限))

    RBAC ->基于角色的权限控制 l  tb_user l  tb_role l  tb_userrole l  tb_menu(增.删.改.查) l  tb_rolemenu 1 说明 我们给 ...

  9. .Net基础篇_学习笔记_第五天_流程控制while循环003

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

随机推荐

  1. SpringBoot + MySQL + MyBatis 整合 Redis 实现缓存操作

    本地安装 Redis Redis 安装:https://www.cnblogs.com/oukele/p/11373052.html 项目结构:  SpringBootRedis 工程项目结构如下: ...

  2. java开发时,eclipse设置编码

    修改eclipse默认工作空间编码方式,General——Workspace——Text file encoding 修改工程编码方式,右击工程——Properties——Resource——Text ...

  3. OSS - 有关于OSSClient的单例化

    之前在每个控制层OSSClient都是通过新new的方式创建OSSClientBuilder().build(endpoint,accessKeyId,accessKeySecret)进行创建 后期我 ...

  4. 删除harbor项目下的所有镜像

    user= pswd= url= proid= REPOS=$(curl -s -X GET --header 'Accept: application/json' "${url}/api/ ...

  5. Girls and Boys POJ - 1466 【(二分图最大独立集)】

    Problem DescriptionIn the second year of the university somebody started a study on the romantic rel ...

  6. focusout([data],fn) 当元素失去焦点时触发 focusout 事件。

    focusout([data],fn) 概述 当元素失去焦点时触发 focusout 事件. focusout事件跟blur事件区别在于,他可以在父元素上检测子元素失去焦点的情况.大理石平台怎么样 参 ...

  7. sql server 复习笔记2

    主键约束 可以通过定义primary key 约束来定义主键, 用于强制表的实体化完整性,一个表只能有一个主键约束, 并且primary key 约束中的列不能为空值,由于primary key 约束 ...

  8. Win7下如何安装切换jdk7和jdk8

    一.安装好JDK1.7和1.8. 二.配置环境变量: 1. 创建三个JAVA_HOME.JAVA7_HOME,存放JDK7的安装路径.JAVA8_HOME,存放JDK8的安装路径.JAVA_HOME, ...

  9. LibreOJ #113. 最大异或和

    二次联通门 : LibreOJ #113. 最大异或和 /* LibreOJ #113. 最大异或和 线性基 插入 与 查询最大值 说一下我在学习线性基时遇到的一些问题 1.线性基指的是一个数集 2. ...

  10. min_25筛学习笔记【待填坑】

    看见ntf和pb两位大佬都来学了,然后就不自觉的来学了. 我们考虑这样一个问题. $$ans=\sum_{i=1}^nf(i)$$其中$1\leq n\leq 10^{10}$ 其中$f(i)$是一个 ...