Unity学习笔记_控制人物移动+摄像机跟随
我想做的移动操作方式类似【流星蝴蝶剑】、【龙之谷】、【我的世界第三人称】的第三人称操作方式。
操作说明: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学习笔记_控制人物移动+摄像机跟随的更多相关文章
- jQuery源代码学习笔记_工具函数_noop/error/now/trim
jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...
- Unity3D学习笔记(九):摄像机
3D数学复习 using System.Collections; using System.Collections.Generic; using UnityEngine; public class w ...
- SSM框架学习笔记_第1章_SpringIOC概述
第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...
- TCP/IP学习笔记17--TCP-- 窗口控制 重发控制 流控制
事业无穷年 -- 韩愈 利用窗口控制提高速度: TCP传输数据是,以一个段为单位(每次发送一个数据包),每发一个段需要一次确认应答,这样就难免存在这样的缺点:包的往返时间越长,通信性能就越低. 为解决 ...
- Python学习笔记_我的参考网址
Python学习笔记, 下面记录网上搜到的可参考的网址: 一.关于Tkinter 1.Python3中tkinter模块使用方法详解 https://blog.csdn.net/Fighting_Bo ...
- FFT和NTT学习笔记_基础
FFT和NTT学习笔记 算法导论 参考(贺) http://picks.logdown.com/posts/177631-fast-fourier-transform https://blog.csd ...
- .Net基础篇_学习笔记_第五天_流程控制while循环
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 学习笔记_过滤器应用(粗粒度权限控制(拦截是否登录、拦截用户名admin权限))
RBAC ->基于角色的权限控制 l tb_user l tb_role l tb_userrole l tb_menu(增.删.改.查) l tb_rolemenu 1 说明 我们给 ...
- .Net基础篇_学习笔记_第五天_流程控制while循环003
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
随机推荐
- linux实操_shell位置参数变量
基本语法: 脚本内容: 输出效果:
- 重置一发LCT模板
加边.删边.单点修改.链上异或和 #include <bits/stdc++.h> using namespace std; inline void read(int &num) ...
- [HTML5] Lazyload below the fold images and iframes with native browser lazy-loading
In this lesson, you'll learn how to use the loading="lazy" attribute available on images a ...
- 出现错误时返回异常 MVC
在使用MVC的时候,会出现异常提醒: 1,当在Controller出现错误的时候,我们可以直接返回,即return view()返回视图. ViewBag.Msg("产品或赠品不存在&qu ...
- scapy2 爬取全站,以及使用post请求
前情提要: 一:scrapy 爬取妹子网 全站 知识点: scrapy回调函数的使用 二: scrapy的各个组件之间的关系解析 Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网 ...
- 020_统计 13:30 到 14:30 所有访问 apache 服务器的请求有多少个
统计 13:30 到 14:30 所有访问 apache 服务器的请求有多少个 #!/bin/bash#awk 使用-F 选项指定文件内容的分隔符是/或者:#条件判断$7:$8 大于等于 13:30, ...
- HTML5 本地数据库(SQLite) 示例
http://supercharles888.blog.51cto.com/609344/856071 http://www.sqlite.org/download.html
- 学院管理系统(mysql版)
需求 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上课纪录对应多条学员的上 ...
- Python学习日记(四)——Python基本数据类型梳理(int、str、list、tuple、dict)
数字(int) 1.创建方式 n1 = 123 n2 = int(123) 2.内存分配 #共同用一个内存地址的情况 n1 = 123 n2 = n1 #用两个内存地址的情况 n1 = 123 n2 ...
- macOS Mojave 10.14 无法安装brew缺少Command Line Tools for Xcode的解决办法
问题描述: 首先我的版本是 Xcode 10.1 如果按照以前的方法安装brew 复制 1 /usr/bin/ruby -e "$(curl -fsSL https://raw.github ...