Unity3D-黑魂复刻学习-(3)实现人物行走与转向
(3)实现人物行走与转向
首先实现信号量控制状态机的变化
forward为0到1的变量,Dup和Dright都为-1到1的变量,根据直角坐标系的变化,组合出控制状态机forward值的变量Dmag,这里有一个问题Dmag的值范围为【0,根号2】,这个问题放在以后解决
其次是人物的转向,利用信号量与向量结合,就可以很简单地实现转向
//PlayerInput.cs
Dmag = Mathf.Sqrt((Dup2 * Dup2) + (Dright2 * Dright2));
Dvec = Dright2 * transform.right + Dup2 * transform.forward;//ActorController.cs
anim.SetFloat("forward", pi.Dmag);
if (pi.Dmag > 0.1f) {model.transform.forward = pi.Dvec;}
接下来是人物的行走,先给Player添加一个Rigidbody组件
在Constraints中勾上Freeze Rotation x,y,z
人物的行走这种物理特性代码应该写在Fixedupdate函数中
这里使用rigidbody进行移动,因此我们现在update函数中计算出行走的方向向量
movingVec = pi.Dmag * model.transform.forward * walkSpeed;
再在Fixedupdate实现行走
rigid.position += movingVec * Time.fixedDeltaTime; //移动
这里还有一种方式,运用刚体的速度实现行走,直接令刚体的速度为movingVec
rigid.velocity = movingVec;
这种方式有一个严重的问题,就是movingVec算出的为水平地面上的速度,直接赋值给刚体会导致忽略地心引力的影响,因此在上下坡时会发生错误。
Unity3D-黑魂复刻学习-(3)实现人物行走与转向相关推荐
- 傅老师的unity黑魂复刻学习日记(六)
内容:角色奔跑,角色转身 在blend tree里面新加一个Motion field 把包里的run动画拖进去 把蓝处消钩取消锁定,设置1为走2为跑. 在palyerinput里面定义一个布尔run, ...
- Unity3D-黑魂复刻学习-(1)玩家输入模块
前言:一直都没养成写博客的习惯,导致学了的知识老是会忘记,最近决定重心放在Unity上,于是回顾下Unity的黑魂教程,顺便强迫自己写博客.此系列参照傅老师的黑魂复刻教程学习,bilibili-av2 ...
- Unity黑魂复刻经典教程心得(三)-CameraController
CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...
- 【Mib自看】黑魂复刻Unity脚本
[课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...
- Unity黑魂复刻经典教程心得(一)
b站上傅老师的黑魂复刻教程,是比较好的,傅老师风情幽默,值得种草 https://www.bilibili.com/video/BV1gW411T7yb?p=55
- Unity项目-黑魂复刻(四)玩家控制器(翻滚以及跳跃操作改动)
翻滚以及跳跃操作改动 黑魂游戏中,翻滚的触发条件:1.走路按跳跃键 2.助跑按跳跃键 3.高处掉落 所以之前的跳跃键需要改成翻滚键 翻滚动画以及触发逻辑: 注意:由于翻滚的动画会出现y方向的根tran ...
- 黑魂复刻游戏的碰撞摩擦问题——Unity随手记(2021.4.27)
文章目录 前言 今天实现的内容: 角色跳起来时的卡墙问题描述 修改物理材质方案 修改m_planarVec方案 BUG以及缺陷: 值得注意的: 前言 本篇博客旨在解决黑魂like游戏开发时遇到的一个问 ...
- 黑魂复刻游戏的玩家控制器(基础移动,动画实现及优化)——Unity随手记(2021.3.15)
文章目录 今天实现的内容: 动画机设计理念 动画机的运用及模型旋转 玩家角色的位移 爬坡测试 跑步 旋转的优化 跑步动画的优化 BUG以及缺陷: 值得注意的: 今天实现的内容: 动画机设计理念 要我说 ...
- 黑魂复刻游戏的玩家控制器(翻滚及跳跃的重新设计)——Unity随手记(2021.3.31)
文章目录 今天实现的内容: 翻滚和跳跃的重新设计 翻滚动画及触发逻辑 翻滚的向前冲量 跳跃并向前翻滚 BUG以及缺陷: 值得注意的: 今天实现的内容: 翻滚和跳跃的重新设计 按照黑魂游戏的设计,跳跃其 ...
- 黑魂复刻游戏的玩家输入模块——Unity随手记(2021.3.14)
文章目录 前言 今天实现的内容: 按键封装 获取输入及输入信号优化 输入的渐变 模块的软开关 处理输入 BUG以及缺陷: 值得注意的: 前言 好久不见,在接下来的Unity随手记里,我会学着B站上的视 ...
最新文章
- Coda, 去中心化的简洁(succint)的可拓展的加密货币
- zsh与oh-my-zsh
- 简单尝试 express 使用 websocket
- 被字句15个_成人高考要点解读、包含18个实用技巧
- 关于DOM的事件操作
- iOS开发之阿里百川、京东联盟、多多客联盟(拼多多)的接入
- 三思笔记专区,即将闪亮登场
- Java输出竖排古典文字
- ASR - OpenAI whisper
- 怎么离线发布全国谷歌高清卫星影像地图瓦片
- Android11系统连接WIFI显示网络连接受限
- 台湾BSMI认证的三种申请方式及产品
- 如何获取篮球比赛即时赔率
- Web前端开发:HTML、CSS
- Distiller:量化算法
- 开源激光SLAM项目BLAM-----2
- TSP(中国旅行商问题)
- 三维扫描在建筑行业应用综述
- 电路元器件3——TVS:
- 【互联网保险-ECIF/CRM】客户统一视图存在意义及建设思路
热门文章
- 苹果8P/ iphone8plus /iphone8p已经连接WIFI 但是无法上网的问题
- 2021中山大学计算机考研复试与调剂经验
- 程序员面试失败的几种原因,你中枪了吗?
- R语言使用lm函数构建分组线性回归模型、构建具有交互项的线性回归模型、使用coef函数获取模型系数及截距信息
- [办公] Excel 数据分析两个变量的相关性分析
- 计算机考证哪几个等级
- Android11增加对dpi屏幕密度的设置
- ffmpeg学习日记602-指令-转换视频的分辨率
- ASP.NET 获取网站根目录的路径
- 计算机系统为什么不是中文,电脑打字打不出中文怎么回事