news 2026/7/7 20:25:16

unity中简单控制角色移动及动画实例--以及角色动画抖动残影拖影处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
unity中简单控制角色移动及动画实例--以及角色动画抖动残影拖影处理

1.首先,上脚本代码,拿来即可用

using System.Collections; using System.Collections.Generic; using UnityEngine; public class playerController : MonoBehaviour { Animator animator; public float walkSpeed = 10f; public float runSpeed = 20f; float horizontal; float vertical; Rigidbody2D player; // 刚体组件 Vector2 movement; bool isRunning; void Start() { animator = GetComponent<Animator>(); player = GetComponent<Rigidbody2D>(); if (player != null) player.interpolation = RigidbodyInterpolation2D.Interpolate; // 平滑插值 } void Update() { // 读取输入(每帧) horizontal = Input.GetAxis("Horizontal"); vertical = Input.GetAxis("Vertical"); movement = new Vector2(horizontal, vertical); isRunning = Input.GetKey(KeyCode.LeftShift); // 动画参数平滑更新(dampTime 可调) animator.SetBool("isRunning", isRunning); float dampTime = 0.08f; animator.SetFloat("MoveX", horizontal, dampTime, Time.deltaTime); animator.SetFloat("MoveY", vertical, dampTime, Time.deltaTime); } void FixedUpdate() { // 物理移动放在 FixedUpdate,使用 MovePosition 保持与物理系统一致 float speed = isRunning ? runSpeed : walkSpeed; if (movement != Vector2.zero) { Vector2 newPos = player.position + movement * speed * Time.fixedDeltaTime; player.MovePosition(newPos); } } }

2.然后讲unity中的操作。

-首先创建一个角色,加上刚体2D组件和动画器

然后修改两个地方,要不会出现抖动bug。

一个冻结z轴的旋转,要不有碰撞操作时会旋转停不下来,

二十插值interpolation设置为插值,要不会角色移动是抖动,有残影

3.添加角色动画

我是用Universal LPC Spritesheet Generator生成的角色动画图片,然后导入进来,按上面步骤切片。

然后把相连的几帧拖到层级中会快速自动创建动画。当然你也可以自己创建一帧一帧的拖。

动画就创建好了

4.把动画挂到角色上。

动画切片

在上面窗口选项选出动画器窗口。然后在动画器窗口里右键新建状态,创建一个blend tree。

Enter上创建过度指向这个blend tree,把以前的关联删了。

点加号新建三个参数,两个float,一个bool,名字要和脚本对上。

双击进入这个blend tree。

第一步混合类型选2d,一般简单就行

第二步参数选上x和y。

第三步下面0就是不变,1在坐标系向正的方向,x为右,y为上。

isRunning是我还弄了一个跑动的动画,这个值为真就是跑动,不是就是走。设置两个过度就行了

这个速度字段是公开的,速度自己调整就可以。

把脚本挂到角色上

完成以上步骤就可以动起来了

我把人物图也放上来大家自己试一下

然后我讲下原理:

动画呢要放在update里,每一帧都要更新,这样画面才流畅,用time.deltatime是帧率快慢动画播放一样快,这个指每一帧用的时间。

角色的移动要放在物理帧里,fixed update里,固定帧,一般是0.02s执行一次,使物理事件稳定。

damptime阻尼时间,使动画过渡平滑。

要是要做独立游戏推荐用input System包更好,这个仅仅帮助大家理解原理,或者弄一些简单的。

创作不易,如果有用请点个赞,收藏一下,谢谢啦!!!

动画切片

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 8:19:14

2025 年 12 月找靠谱中国 AI 智能体获客老师,麟哥难道不称职?

一、2025 ai 获客培训市场&#xff1a;讲师选择的核心参考维度2025 年 ai 智能体获客领域的技术迭代&#xff0c;正从通用大模型应用转向垂直场景深度适配。企业在筛选培训讲师时&#xff0c;已逐步跳出单纯的工具操作教学需求&#xff0c;更关注讲师的技术积累、知识体系完整性…

作者头像 李华
网站建设 2026/7/7 7:36:01

海报设计无从下手?这3个技巧让你告别空白画布

面对空白画布无从下手&#xff1f;或是设计出的海报总是少了点吸引力&#xff1f;在信息过载的今天&#xff0c;无论是活动宣传还是个人创作&#xff0c;好的海报设计能让信息传递事半功倍。作为经常需要制作各种宣传物料的设计爱好者&#xff0c;我总结出了三个特别实用的技巧…

作者头像 李华
网站建设 2026/7/7 8:52:53

FastAPI+VUE3创建一个项目的步骤模板(一)

先不细究功能细节&#xff0c;先把项目跑起来 一篇文章最多5606个字&#xff0c;因此同样分多P来记录 为fastapi准备环境 # 1. 创建项目文件夹 mkdir fastvue-todo cd fastvue-todo# 2. 创建并激活虚拟环境 (推荐) python -m venv venv # Windows: # venv\Scripts\activate # L…

作者头像 李华
网站建设 2026/7/7 4:16:31

带你搞懂BootLoader(四)-第三个BootLoader

这篇文章将带你写第三个BootLoader程序&#xff0c;对应的是以下那篇博文的第三种启动方式&#xff1a;应用程序(APP)存储在文件系统里面或者存储在一些非XIP的存储芯片上&#xff0c;BootLoader将APP复制到RAM指定地址&#xff0c;最后通过跳转指令转入RAM中执行APP 带你搞懂B…

作者头像 李华
网站建设 2026/7/7 8:51:36

风浪中的海上吊装控制,如何又稳又准?

山东大学&#xff08;威海&#xff09;陈原教授团队近期在Information Sciences期刊发表题为Passivity-based variable damped sliding mode control for cable-driven wave motion compensation device under hybrid disturbances的论文&#xff0c;论文被SCI和EI收录。海上补…

作者头像 李华
网站建设 2026/7/7 13:34:57

75亿去买理财,反而是摩尔线程最“诚实”的一刻

当所有人都在嘲讽摩尔线程“75 亿不搞研发&#xff0c;跑去吃银行利息”的时候&#xff0c;我反而觉得&#xff0c;这可能是它目前为止做过的最良心、也最真实的一次选择。原因很简单——如果你真正看懂了 A 股过去 20 年的历史&#xff0c;就会明白&#xff0c;钱老老实实躺在…

作者头像 李华