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

操作说明: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. vue 想关工具 及组件

    vue-cli  vue的脚手架工具    (1) 安装通过  npm install -g vue-cil      (2)常用模板  browserify - 拥有高级功能的 Browserify ...

  2. 记一次k8s服务504 timeout

    线上服务做集群扩容,调整了节点机器配置,在升级完毕之后,发现某些时候请求较慢,或者直接504 timeout 超时,必现情况,点击几次都是,且并没有代表性. 1.检查istio 日志是否有504 的日 ...

  3. C#中使用WCF一些常见问题及解决方案

    最近在学习WCF,在这过程当中我遇到了很多的问题,简单说说我遇到的问题已经可能有效的解决方案. 1.在C#中,同一个解决方案下无法引用别的项目,引用之后会有一个警告,查看属性找不到引用的路径,这种情况 ...

  4. 02_已解决 [salt.minion :1758][ERROR ][52886] Returner mysql.returner could not be loaded: 'mysql' __virtual__ returned False: Could not import mysql returner; mysql python client is not installed.

    总结:python2.7下的salt,要把 mysql-python也安装,并不是python3环境,看清,看清 Returners组件,master自动把值写入mysql数据库中,出现的问题 1.本 ...

  5. JUC-12.4-execute和sumbit的区别

    在Executor接口中只定义了execute方法,而submit方法则是在ExecutorService接口中定义的. execute没有返回值,而submit有返回值. 转自: https://w ...

  6. P4461 [CQOI2018]九连环

    思路:\(DP\) 提交:\(2\)次 错因:高精写挂(窝太菜了) 题解: 观察可知\(f[i]=2*f[i-1]+(n\&1)\) 高精的过程参考了WinXP@luogu的思路: 发现一个问 ...

  7. 【题解】P1638 逛画展-C++

    原题传送门 思路这道题目可以通过尺取法来完成 (我才不管什么必须用队列)什么是尺取法呢?顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后 ...

  8. 让JPA的Query查询接口返回Map对象

    在JPA 2.0 中我们可以使用entityManager.createNativeQuery()来执行原生的SQL语句. 但当我们查询结果没有对应实体类时,query.getResultList() ...

  9. springboot o.a.tomcat.util.scan.StandardJarScanner : Failed to scan [file:/D:/apache-maven-3.0.5[系统找不到指定路径]

    报错信息: 2019-11-04 11:05:52.404 WARN 4512 --- [ main] o.a.tomcat.util.scan.StandardJarScanner : Failed ...

  10. 关于openstack 专业博主地址.后续更新

    首先官方文档要放的 https://docs.openstack.org/ 关于导入镜像方面说的很详细的. https://www.cnblogs.com/liawne/p/9322221.html ...