当前位置: 首页 > news >正文

Unity 2D 行走动画示例工程手动构建教程-AI变成配额前端UI-完美游戏开发流程

🎮 Unity 2D 行走动画示例工程手动构建教程


✅ 1. 新建 Unity 项目

打开 Unity Hub:

  • 创建一个新项目,模板选择:2D Core
  • 项目名:WalkAnimationDemo

✅ 2. 创建文件夹结构

Assets/ 目录下新建以下文件夹:

Assets/
├── Animations/
├── Sprites/
├── Scripts/

✅ 3. 准备角色帧图(4 张 PNG)

你可以使用任意 2D 行走动作图像序列(或者使用这个示例站点的免费素材):

示例下载:
  • Kenney.nl Character Pack
  • 或使用自己的图像命名如下:
walk_0.png
walk_1.png
walk_2.png
walk_3.png

将这些图像放入:Assets/Sprites/


✅ 4. 创建动画

  1. 选中 walk_0.png ~ walk_3.png,拖动到 Hierarchy 区域空白处。

  2. Unity 会弹出保存对话框:

    • 保存动画为:Assets/Animations/walk.anim
    • 自动生成的 Animator Controller 会是:walk.controller
  3. 给这个新对象重命名为:Player


✅ 5. 设置 Animator 控制器参数

打开 Assets/Animations/walk.controller,设置如下:

  1. 添加参数:Speed(Float 类型)

  2. 默认状态为 walk

  3. walk 动画上右键 → Make Transitionwalk 自身,设置条件为:

    • Speed > 0.01

实际上可以省略,但这样更便于你后续扩展 idle / jump 等状态。


✅ 6. 添加脚本控制移动和动画

Assets/Scripts/ 里创建脚本:PlayerMovement.cs,内容如下:

using UnityEngine;public class PlayerMovement : MonoBehaviour
{public float speed = 3f;private Animator animator;private Rigidbody2D rb;private Vector2 movement;void Start(){animator = GetComponent<Animator>();rb = GetComponent<Rigidbody2D>();}void Update(){movement.x = Input.GetAxisRaw("Horizontal");movement.y = Input.GetAxisRaw("Vertical");animator.SetFloat("Speed", movement.sqrMagnitude);}void FixedUpdate(){rb.MovePosition(rb.position + movement * speed * Time.fixedDeltaTime);}
}

✅ 7. 添加物理组件

选中 Player

  1. 添加 Rigidbody2D

    • Body Type: Kinematic
  2. 添加 BoxCollider2D(防止穿透)

  3. 添加脚本 PlayerMovement.cs


✅ 8. 测试运行

点击运行,使用箭头/WASD 控制角色,你会看到角色在播放行走动画!


http://www.xdnf.cn/news/424369.html

相关文章:

  • 5月13日day24日打卡
  • 完成springBoot+vue项目时学习到的知识点
  • 嵌入式STM32学习——外部中断EXTI与NVIC的基础练习⭐
  • 机试刷题:进制转换3
  • 【Pandas】pandas DataFrame cummin
  • 蓝桥杯 11.日志统计
  • 亚远景-基于ASPICE的汽车供应链质量管控培训
  • 网站遭受扫描攻击,大量爬虫应对策略
  • C++伯罗奔尼撒箭阵 全国信息素养大赛复赛决赛 C++小学/初中组 算法创意实践挑战赛 内部集训模拟题详细解析
  • springboot2.7.18 升级到3.1.5过程
  • Ubuntu 22.04.5 LTS 系统中配置仓库源
  • Gartner《如何有效融合Data Fabric 与Data Mesh数据战略》学习心得
  • 【TDengine源码阅读】DLL_EXPORT
  • 【设备管理—磁盘调度算法】
  • 【FMMT】基于模糊多模态变压器模型的个性化情感分析
  • 动态引入document.write的脚本
  • 出于PCB设计层面考虑,连排半孔需要注意哪些事项?
  • 5. 动画/过渡模块 - 交互式仪表盘
  • talk-linux 不同用户之间终端通信
  • C++ 基础知识
  • C++—特殊类设计设计模式
  • 汇添富基金徐寅喆:低利率环境下的短债基金投资策略
  • Hadoop的目录结构和组成
  • CSS3 基础知识、原理及与CSS的区别
  • 基于FPGA的视频接口之千兆网口(六GigE纯逻辑)
  • 使用scp命令拷贝hadoop100中文件到其他虚拟机中
  • SQL、Oracle 和 SQL Server 的比较与分析
  • 数据结构(一) 绪论
  • 【C语言极简自学笔记】井字棋开发
  • Ozon平台产品关键词优化指南:精准引流与转化提升实战策略