Unity 第三人称人物移动
1,创建一个简单的物体作为角色
2,为物体添加移动代码:本次使用的方式A、D键控制前后运动,W、S键控制转向
transform.Translate(0, 0, speed * Input.GetAxis("Vertical"));//Translate可以控制物体移动transform.Rotate(0, speed *20* Input.GetAxis("Horizontal"),0);//Rotate可以控制物体转向
3,物体需要跳跃:当按下空格键,AddForce可以给物体一个力,而Vector.up可以控制力的方向向上
if(Input.GetKeyDown(KeyCode.Space)){this.GetComponent<Rigidbody>().AddForce(Vector3.up * 6000);}
4,为了使得物体不摔倒,使用eulerAngles给物体一个角度判断`
if ((this.transform.eulerAngles.x > 90 && this.transform.eulerAngles.x < 270) || (this.transform.eulerAngles.z > 90 && this.transform.eulerAngles.z < 270)){transform.eulerAngles = new Vector3(0, 180, 0);}
5,给物体添加一个跟随相机,首先创建一个相机,然后把这个脚本赋给相机,player为玩家,通过玩家的位置,来为相机创建一个跟随位置。
第二行的lerp是一个插值运算方法,可以使得相机平滑的跟随着人物来运动。
为了使得相机在人物背后,可以使用LookAt来注视玩家。
Vector3 camera_felow = player.position + Vector3.up * speed_one - first.forward * speed_two;transform.position = Vector3.Lerp(transform.position, camera_felow, Time.deltaTime * smooth); transform.LookAt(first.position);//lookat为注视物体的效果
最后附上完整的两个代码:
玩家:脚本直接添加在需要控制移动的角色身上
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class three_run : MonoBehaviour
{public float speed = 0.1f; //定义一个速度void Update(){//控制物体的移动transform.Translate(0, 0, speed * Input.GetAxis("Vertical"));transform.Rotate(0, speed *20* Input.GetAxis("Horizontal"),0);//实现跳跃的效果if(Input.GetKeyDown(KeyCode.Space)){this.GetComponent<Rigidbody>().AddForce(Vector3.up * 6000);}//防止物体倒下(如果是角色控制器可以直接面板调整)if ((this.transform.eulerAngles.x > 90 && this.transform.eulerAngles.x < 270) || (this.transform.eulerAngles.z > 90 && this.transform.eulerAngles.z < 270)){transform.eulerAngles = new Vector3(0, 180, 0);} }
}
相机:脚本添加到相机上面, 并将跟随的角色拖入
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class three_camera : MonoBehaviour
{public Transform player;public float speed_one=10f; public float speed_two=10f; //使用speed_one,speed_two可以调整玩家和相机的距离private float smooth = 1f; void LateUpdate(){Vector3 camera_felow = player.position + Vector3.up * speed_one - player.forward * speed_two;transform.position = Vector3.Lerp(transform.position, camera_felow, Time.deltaTime * smooth);transform.LookAt(player.position);}
}
Unity 第三人称人物移动相关推荐
- unity第三人称射击游戏_在游戏上第3部分完美的信息游戏
unity第三人称射击游戏 Previous article 上一篇文章 The economics literature distinguishes the quality of a game's ...
- 【UE4(虚幻4)蓝图】第三人称人物的奔跑,冲刺,二段跳
本文使用4.24版本完成 一.双击W冲刺和按住左shfit奔跑 以下内容都在第三人称角色蓝图内完成 ①奔跑 从左到右节点名称依次为 set max walk speed设置速度 set field o ...
- Unity第三人称的实现思路(二)
Unity第三人称的实现思路(二) 锁定视角动画设置 锁定视角摄像机 角色朝向控制 主要代码 这一次我们在上一篇自由视角的基础上加上锁定视角的功能,没有看过上一篇的点下方链接. Unity第三人称的实 ...
- unity第三人称漫游,游戏场景精美,人物可移动
unity3d第三人称漫游 (下载链接在文末) 游戏场景精美,包含山谷房屋桌椅等等模型,鼠标控制小狐狸移动,有血条,有菜单有按钮等等,需要什么额外功能可以自己再改造,如下图所示: 点我下载 https ...
- Unity第三人称控制实现方式
第三人称移动,主要两个部分,一是人物,二是相机. 先说人物,unity其实提供了一个CharacteController组件可以方便地用于控制人物移动,但是这个组件会与刚体冲突.如果使用Charact ...
- Unity 第三人称角色控制器:动画混合树、Cinemachine等功能或插件的使用
前言: 无论是RPG.ACT.AVG还是TPS游戏,都有大量的以第三人称为人物视角的游戏作品,尤其是TPS,直接以第三人称为特点来命名 游戏类型: RPG:角色扮演游戏 ACT:动作游戏 AVG:冒险 ...
- Unity 第三人称射击游戏视角控制与武器瞄准
===================更新一下源工程链接: 链接:https://pan.baidu.com/s/15bxH-MPregp2ZIN92fK7XA 提取码:e7bp ========== ...
- Unity 第三人称 摄像机
今天主要是简单的模拟下吃鸡游戏的第三人称摄像机的实现. 观察 我们玩过吃鸡手游的都知道,吃鸡的人物跟随的摄像机有两种状态 1. 滑动屏幕的时候,摄像机左右上下移动,人物也会跟随着左右移动,上下抬头低头 ...
- unity 第三人称射击游戏中如何防止跟随摄像机穿墙?
在制作3d射击类游戏中,会遇到跟随角色的摄像机会穿透墙壁导致视野不佳情况,下面,介绍一下具体的解决方法. 我们需要用到的原理就是unity中射击线函数.具体的原理是,从相机的跟随点向相机的方向发射一条 ...
- Unity第三人称射击游戏的相机控制
(关于其他几种角色移动的控制在我之前的博客有写到) 首先我们需要先理解一下第三人称相机控制的原理: 我们要实现的效果就是:获取鼠标的移动输入,转化成角色以及相机的旋转,通过鼠标输入Input.GetA ...
最新文章
- View requires API level 21 (current min is 15): Toolbar
- C语言字符串拼接函数:strcat()
- php连接redis的操作库predis操作大全
- 深度学习学习7步骤_如何通过4个简单步骤为深度学习标记音频
- 复述-软考网规--云计算专题
- 外边距的典型应用-让块级盒子水平居中(HTML、CSS)
- [CLR via C#]18. Attribute
- jmeter元件的作用域与执行顺序
- php l框架,一个很简单的PHP框架lyue
- 【白皮书】2020腾讯人工智能白皮书.pdf(附下载链接)
- swagger配置及注解详解
- Macbook Pro touch bar 设置小tips
- linux 下 安装Gdrive来实现谷歌云盘同步文件ps 可能出现 Error 404: File not found
- vendor php,使用php composer时, 如何优雅修改vendor中第三方代码
- java实现excel转换pdf
- 触摸开关模块,TTP223
- 神经元的结构模型图片,神经元模型图片解析
- C++题目:实心正方形与空心正方形(题集)
- 直播系统开发应有的引流功能
- 实训报告万能模板计算机专业,计算机专业实习报告模板
热门文章
- VMware虚拟机安装使用及系统安装教程
- 致前行者 | 他们,只用了两公里地铁的钱,就实现了中国探月
- HDMI 接口电路信号完整性
- 盒式滤波器BoxFilter
- 如何在excel中完成 双纵坐标 柱状图的绘制 (柱子重叠的解决方法)
- html文档放到phpstudy,phpstudy使用详解
- 数字电路基础知识——数字逻辑代数(逻辑代数基本定理及常用公式,最大项、最小项,公式法、卡洛图法及Q-M法化简(列表法)化简逻辑函数)
- python制作卡通表情包_python——简单生成表情包
- 唐山解封炉料大涨,PTA认购大涨,玻璃纯碱套利继续大跌2022.4.12
- nx518j最新android,努比亚 NX518J 开启USB调试模式