news 2026/4/16 14:18:40

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/4/16 13:15:03

Pock 2024终极对比指南:MacBook Touch Bar效率革命

Pock 2024终极对比指南&#xff1a;MacBook Touch Bar效率革命 【免费下载链接】pock Widgets manager for MacBook Touch Bar 项目地址: https://gitcode.com/gh_mirrors/po/pock 在MacBook Touch Bar工具领域&#xff0c;Pock以其独特的小部件管理理念和开源免费的特性…

作者头像 李华
网站建设 2026/4/16 13:11:22

52、高可用性集群配置与服务创建指南

高可用性集群配置与服务创建指南 1. 集群状态验证与配置文件 在开始使用高可用性集群时,首先要验证集群的当前状态。可以使用 clustat 命令来完成这一操作。以下是一个示例: [root@node1 ∼]# clustat Cluster Status for colorado @ Fri Aug 3 20:58:15 2012 Member …

作者头像 李华
网站建设 2026/4/16 13:16:24

54、服务器安装配置与实践指南

服务器安装配置与实践指南 1. PXE 引导菜单配置 在进行服务器安装时,PXE(Preboot Execution Environment)引导菜单的配置是重要的一步。以下是添加更多选项到 PXE 引导菜单的示例: default Linux prompt 1 timeout 600 display boot.msg label Linux menu label ^Insta…

作者头像 李华
网站建设 2026/4/16 11:47:34

40亿参数撬动工业级AI:Qwen3-VL-4B如何重塑多模态落地格局

40亿参数撬动工业级AI&#xff1a;Qwen3-VL-4B如何重塑多模态落地格局 【免费下载链接】Qwen3-VL-4B-Thinking 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-VL-4B-Thinking 导语 阿里通义千问团队2025年10月推出的Qwen3-VL-4B-Thinking模型&#xff0c;以…

作者头像 李华
网站建设 2026/4/16 11:01:09

终极指南:如何在ComfyUI中实现FP8量化视频超分[特殊字符]

终极指南&#xff1a;如何在ComfyUI中实现FP8量化视频超分&#x1f680; 【免费下载链接】ComfyUI-SeedVR2_VideoUpscaler Non-Official SeedVR2 Vudeo Upscaler for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-SeedVR2_VideoUpscaler ComfyUI-SeedV…

作者头像 李华
网站建设 2026/4/15 19:47:42

DoublePulsar检测脚本:专业网络安全扫描工具详解

DoublePulsar检测脚本&#xff1a;专业网络安全扫描工具详解 【免费下载链接】doublepulsar-detection-script A python2 script for sweeping a network to find windows systems compromised with the DOUBLEPULSAR implant. 项目地址: https://gitcode.com/gh_mirrors/do/…

作者头像 李华