news 2026/1/20 2:47:17

Unity动画控制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Unity动画控制

实现玩家角色根据不同状态播放不同动画,主要涉及动画有静置动画和移动动画,判断条件为不移动时播放静置动画,移动时播放移动动画。

增加动画控制器

设置静置动画、移动动画切换

增加参数isWalking

静置切换为移动

移动切换为静置

编辑代码PlayerMovement.cs

使用控制器改变isWalking参数值进而控制动画切换

usingUnityEngine;/// <summary>/// 控制玩家角色的移动/// </summary>publicclassPlayerMovement:MonoBehaviour{/// <summary>/// 玩家移动速度/// </summary>publicfloatspeed=6f;/// <summary>/// 玩家刚体组件的引用/// </summary>privateRigidbodyrb;/// <summary>/// 玩家动画组件的引用/// </summary>privateAnimatoranim;/// <summary>/// 在对象激活时获取刚体和动画组件/// </summary>privatevoidAwake(){rb=GetComponent<Rigidbody>();anim=GetComponent<Animator>();}/// <summary>/// 在固定时间间隔内处理物理移动、旋转和动画/// </summary>privatevoidFixedUpdate(){// 获取水平和垂直方向的输入floath=Input.GetAxis("Horizontal");floatv=Input.GetAxis("Vertical");// 移动角色Move(h,v);// 角色朝向鼠标指向位置Turing();// 播放行走动画Animating(h,v);}/// <summary>/// 根据输入移动角色/// </summary>/// <param name="h">水平输入</param>/// <param name="v">垂直输入</param>voidMove(floath,floatv){// 计算移动向量Vector3movement=newVector3(h,0.0f,v);// 移动玩家到新的位置rb.MovePosition(transform.position+movement*speed*Time.fixedDeltaTime);}/// <summary>/// 让角色朝向鼠标指向的地面位置/// </summary>voidTuring(){// 创建一条从主摄像机到鼠标位置的射线RaycameraRay=Camera.main.ScreenPointToRay(Input.mousePosition);// 获取地面层的LayerMaskintfloorLayer=LayerMask.GetMask("Ground");RaycastHitfloorHit;// 射线检测是否击中地面boolisTouchFloor=Physics.Raycast(cameraRay,outfloorHit,100,floorLayer);if(isTouchFloor){// 计算角色到鼠标点击点的方向向量Vector3v3=floorHit.point-transform.position;v3.y=0;// 保持水平方向// 计算朝向该方向的旋转Quaternionq=Quaternion.LookRotation(v3);// 旋转角色rb.MoveRotation(q);}}/// <summary>/// 根据输入设置动画参数,控制行走动画/// </summary>/// <param name="h">水平输入</param>/// <param name="v">垂直输入</param>voidAnimating(floath,floatv){// 判断是否有输入boolisWalking=h!=0||v!=0;// 设置动画参数anim.SetBool("isWalking",isWalking);}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/17 13:27:46

43、系统性能优化全攻略

系统性能优化全攻略 1. 文件系统日志模式 文件系统的日志模式对数据写入和安全性有重要影响,常见的模式有以下两种: - data=ordered :这是默认模式。它会强制在将元数据写入日志之前,先将所有数据写入文件系统。 - data=journaled :这是最安全的日志记录选项,所有…

作者头像 李华
网站建设 2026/1/19 6:32:02

CSS动画极致优化:cubic-bezier缓动函数性能调优实战指南

CSS动画极致优化&#xff1a;cubic-bezier缓动函数性能调优实战指南 【免费下载链接】easings.net Easing Functions Cheat Sheet 项目地址: https://gitcode.com/gh_mirrors/eas/easings.net 在追求极致用户体验的今天&#xff0c;CSS动画的性能优化已成为前端开发者的…

作者头像 李华
网站建设 2026/1/17 13:26:54

GPT-3 Sandbox 终极指南:从零构建智能Web应用

GPT-3 Sandbox 终极指南&#xff1a;从零构建智能Web应用 【免费下载链接】gpt3-sandbox The goal of this project is to enable users to create cool web demos using the newly released OpenAI GPT-3 API with just a few lines of Python. 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/1/18 6:13:22

48、深入理解与解决 GRUB 引导问题及内核管理

深入理解与解决 GRUB 引导问题及内核管理 1. GRUB 配置与操作 1.1 为 GRUB 添加密码保护 复制屏幕上显示的密码哈希值,以便后续粘贴使用。 使用编辑器打开 /boot/grub/grub.conf 文件,在文件的常规部分添加 password= 行,将复制的密码哈希值粘贴到 = 符号后面,形…

作者头像 李华
网站建设 2026/1/18 4:45:14

55、Red Hat Enterprise Linux 实践操作指南

Red Hat Enterprise Linux 实践操作指南 1. 图形桌面探索 登录系统 :在登录界面,点击登录名 “student” 并输入密码。 访问工具 :在桌面右上角可看到当前登录用户的名称,点击该用户名可访问不同工具,如更改密码的工具。 打开终端 :右键单击图形桌面,选择 “在终…

作者头像 李华
网站建设 2026/1/19 14:31:18

56、Linux技术术语深度解析

Linux技术术语深度解析 1. 内存相关术语 1.1 活动内存与非活动内存 活动内存(active memory)是内核近期使用过的内存,访问速度相对较快。而非活动内存(inactive memory)则是近期未被使用的内存,在物理内存不足时,非活动内存中的页面会先于活动内存被交换到磁盘。 1.…

作者头像 李华