(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)实现人物行走与转向相关推荐

  1. 傅老师的unity黑魂复刻学习日记(六)

    内容:角色奔跑,角色转身 在blend tree里面新加一个Motion field 把包里的run动画拖进去 把蓝处消钩取消锁定,设置1为走2为跑. 在palyerinput里面定义一个布尔run, ...

  2. Unity3D-黑魂复刻学习-(1)玩家输入模块

    前言:一直都没养成写博客的习惯,导致学了的知识老是会忘记,最近决定重心放在Unity上,于是回顾下Unity的黑魂教程,顺便强迫自己写博客.此系列参照傅老师的黑魂复刻教程学习,bilibili-av2 ...

  3. Unity黑魂复刻经典教程心得(三)-CameraController

    CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...

  4. 【Mib自看】黑魂复刻Unity脚本

    [课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...

  5. Unity黑魂复刻经典教程心得(一)

    b站上傅老师的黑魂复刻教程,是比较好的,傅老师风情幽默,值得种草 https://www.bilibili.com/video/BV1gW411T7yb?p=55

  6. Unity项目-黑魂复刻(四)玩家控制器(翻滚以及跳跃操作改动)

    翻滚以及跳跃操作改动 黑魂游戏中,翻滚的触发条件:1.走路按跳跃键 2.助跑按跳跃键 3.高处掉落 所以之前的跳跃键需要改成翻滚键 翻滚动画以及触发逻辑: 注意:由于翻滚的动画会出现y方向的根tran ...

  7. 黑魂复刻游戏的碰撞摩擦问题——Unity随手记(2021.4.27)

    文章目录 前言 今天实现的内容: 角色跳起来时的卡墙问题描述 修改物理材质方案 修改m_planarVec方案 BUG以及缺陷: 值得注意的: 前言 本篇博客旨在解决黑魂like游戏开发时遇到的一个问 ...

  8. 黑魂复刻游戏的玩家控制器(基础移动,动画实现及优化)——Unity随手记(2021.3.15)

    文章目录 今天实现的内容: 动画机设计理念 动画机的运用及模型旋转 玩家角色的位移 爬坡测试 跑步 旋转的优化 跑步动画的优化 BUG以及缺陷: 值得注意的: 今天实现的内容: 动画机设计理念 要我说 ...

  9. 黑魂复刻游戏的玩家控制器(翻滚及跳跃的重新设计)——Unity随手记(2021.3.31)

    文章目录 今天实现的内容: 翻滚和跳跃的重新设计 翻滚动画及触发逻辑 翻滚的向前冲量 跳跃并向前翻滚 BUG以及缺陷: 值得注意的: 今天实现的内容: 翻滚和跳跃的重新设计 按照黑魂游戏的设计,跳跃其 ...

  10. 黑魂复刻游戏的玩家输入模块——Unity随手记(2021.3.14)

    文章目录 前言 今天实现的内容: 按键封装 获取输入及输入信号优化 输入的渐变 模块的软开关 处理输入 BUG以及缺陷: 值得注意的: 前言 好久不见,在接下来的Unity随手记里,我会学着B站上的视 ...

最新文章

  1. Coda, 去中心化的简洁(succint)的可拓展的加密货币
  2. zsh与oh-my-zsh
  3. 简单尝试 express 使用 websocket
  4. 被字句15个_成人高考要点解读、包含18个实用技巧
  5. 关于DOM的事件操作
  6. iOS开发之阿里百川、京东联盟、多多客联盟(拼多多)的接入
  7. 三思笔记专区,即将闪亮登场
  8. Java输出竖排古典文字
  9. ASR - OpenAI whisper
  10. 怎么离线发布全国谷歌高清卫星影像地图瓦片
  11. Android11系统连接WIFI显示网络连接受限
  12. 台湾BSMI认证的三种申请方式及产品
  13. 如何获取篮球比赛即时赔率
  14. Web前端开发:HTML、CSS
  15. Distiller:量化算法
  16. 开源激光SLAM项目BLAM-----2
  17. TSP(中国旅行商问题)
  18. 三维扫描在建筑行业应用综述
  19. 电路元器件3——TVS:
  20. 【互联网保险-ECIF/CRM】客户统一视图存在意义及建设思路

热门文章

  1. 苹果8P/ iphone8plus /iphone8p已经连接WIFI 但是无法上网的问题
  2. 2021中山大学计算机考研复试与调剂经验
  3. 程序员面试失败的几种原因,你中枪了吗?
  4. R语言使用lm函数构建分组线性回归模型、构建具有交互项的线性回归模型、使用coef函数获取模型系数及截距信息
  5. [办公] Excel 数据分析两个变量的相关性分析
  6. 计算机考证哪几个等级
  7. Android11增加对dpi屏幕密度的设置
  8. ffmpeg学习日记602-指令-转换视频的分辨率
  9. ASP.NET 获取网站根目录的路径
  10. 计算机系统为什么不是中文,电脑打字打不出中文怎么回事