unity人物素材制作动作,导入unity行走、跑步动画,并用Animator Controller加脚本进行控制

初学Unity的关于制作人物动作、导入unity动画、控制人物移动的简单小结

因为网上的关于人物动画制作、导入、控制运动的文章都不太全面,所以自己制作了一个小结来总结一下,这是我当前做出来的效果图,穿墙效果还未改,这里可以通过控制w a d控制走路转型 以及加速键 j 控制跑步。
在这里插入图片描述

那么首先是要得到需要导入的动画

而我们从网上下载的人物资源大部分都是静态的,这里我推荐一个网站:
Adobe公司的Xixamo网站:https://www.mixamo.com/#/?page=1&query=Idel(不用翻墙)专门用于提供人物模型的动作,用户可以将自己的模型(类型可以是fox、obj、zip)导入网站中,网站会识别模型并有多种动作供用户选择,选择之后点击DOWNLOAD下载即可,下载的类型最好是fbx的即直接可以导进unity如图:(或者自己用C4d、Maya制作也可以)在这里插入图片描述

下面介绍如何导入动画以及一些基本设置

这里我从Ximamo上下载了几个妲己的动作,分别是:Dwarf Idle(发呆)、LeftTurn90(左转90度)、RightTurn 90(右转90度)、Runing-2withcolor(我自己命的名)(跑步)、Walking(行走)
在这里插入图片描述
首先把这几个fbx文件拖进Unity的Assets中,如图:这里我右键新建了Move文件夹存放这几个fbx模型
在这里插入图片描述
下面我们对模型内容进行一下修改,以便后期使用:
如图:点击模型Dwaf Idel在Inspector中有Model、Rig、Animation、Materials四个选项其中Model和Materials默认即可在这里插入图片描述
而Rig 中需要对Animayion type(动画类型)进行修改改为Humanoid(人形机,因为这里我们要导入人物模型),Avatar Defintion(化身定义选:Create From This Model))如下图在这里插入图片描述
在Animation中勾选LoopTime以及LoopPose并点击最下面的Apply使得更改保存,这两个选项跟之后的动画循环有关,也就是说在接受命令后跑步动画、发呆动画可以连续进行而不会只运行一次,而左转(LeftTurn90)、右转(RightTurn90)的这个地方则无需更改,因为转身动作不太需要循环😄,不然就转圈圈了,更改设置如下图,同时最下方的框里可以对动画动作进行预览:在这里插入图片描述
将上面四个fbx动画模型设置完成之后可以将模型拖进Scene 中,如果我们把其中的Dwarf Idle直接拖进场景中这时我们可以看到妲己是没有皮肤的这首是时只需增加贴图即可,可以从有的素材网站上下载得到(不用关心Dwarf Idle下面的LookingAroundwithcolor,那是我上一个建立的模型)。
在这里插入图片描述
下面是贴完图之后的效果:从Materials中找到一个贴图直接拖到妲己身上即可,这里的Materials中的内容需要自己导入在这里插入图片描述

下面介绍Animator Controller,将动画效果加入

拖入之后我们点击Hierarchy中的Dwarf Idle,在Inspector中我们可以看到unity自动生成了属于Dwarf Idle的Animator,这时我们在Assets或者Move文件夹中新建一个Animator Controllar,如下图:
在这里插入图片描述
这里我将其重命名为“DaJi”,并拖入Dwarf Idle的Animator的Controller中,单击“DaJi”,并在Inspector下点击“DaJi”右上角的open,可以看到Animator的BaseLayer中有几个方块,如下图:
在这里插入图片描述
然后,在Move的几个模型下面将他们的动画(这里的名字都为mixamo.com)拖入Animator的BaseLayer中,并在界面右上角改名,分别为:Idle、left、right、walk、run。同时在Parameters中添加Bool变量分别为Bool1、Bool2、Bool3、Bool4(这里我们不勾选)用于接下来的条件判断,如下图:
在这里插入图片描述
接着,在Animator下对Idle、left、right、walk、run进行连接,右键方块MakeTransition进行如下连接。在这里我简单介绍一下这种判断的机制:每个动画连接之间的线都可以增加Conditions(条件){点击动画之间的线时,unity界面右侧Inspector中会出现关于线的Setting},箭头代表方向,如果给从Idle到walk的线增加Conditions(条件)是:Bool1为true,则当Bool1为true时运行前进动画。于是在下图的连接方式中,我对动画之间的线分别增加了如下的条件:
Idle->walk Conitions:Bool1 = true;
//表示当Bool1=true时运行Idle - >walk
Idle->left Conitions:Bool2 = true;
//表示当Bool2=true时运行Idle - >left
Idle->right Conitions:Bool3 = true;
//表示当Bool3=true时运行Idle - >right
left->walk Conitions:Bool2 = true;
//表示当Bool2=true时运行left - >walk
right->walk Conitions:Bool3 = true;
//表示当Bool3=true时运行right- >walk
walk->run Conitions:Bool4 = true;
//表示当Bool4=true时运行walk->run
run->walk Conitions:Bool4 = false;
//表示当Bool4=false时运行run ->wolk
walk->Idle Conitions:Bool1 = false Conitions:Bool2 = false Conitions:Bool3 = false;
//表示当Bool1 = false Bool2 = false Bool3 = false同时满足时运行walk ->Idle
而且我们要将所有连线Inspector中Setting上方的Has Exit Time取消勾选,因为不能让动画退出,否则将不能控制人物。
这一步结果如下图(这里可以灵活一点不用全部按我这个来):在这里插入图片描述
最后,我们怎么通过键盘输入,并控制Bool1、Bool2、Bool3、Bool4的值呢?于是再次点击Hierarchy中的Dwarf Idle,在Inspector中AddComponent->New script创建关于Dwaf Idle的脚本Character.cs下面是脚本的内容:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Character : MonoBehaviour
{private Animator Anim;// Start is called before the first frame updatevoid Awake(){Anim = GetComponent<Animator>();}// Update is called once per framevoid Update(){if (Input.GetKeyDown(KeyCode.W)) //向前{Anim.SetBool("Bool1", true);}if (Input.GetKeyUp(KeyCode.W)) {Anim.SetBool("Bool1", false);}if (Input.GetKeyDown(KeyCode.A)){Anim.SetBool("Bool2", true);}if (Input.GetKeyUp(KeyCode.A))//向左走{Anim.SetBool("Bool2", false);}if (Input.GetKeyDown(KeyCode.D)){Anim.SetBool("Bool3", true);}if (Input.GetKeyUp(KeyCode.D))//向右走{Anim.SetBool("Bool3", false);}if (Input.GetKeyDown(KeyCode.J))//跑步{Anim.SetBool("Bool4", true);}if (Input.GetKeyUp(KeyCode.J)){Anim.SetBool("Bool4", false);}}
}

Ctrl+s保存之后运行即可看到结果:在这里插入图片描述
若想要添加跟随人物的相机,只需要调整相机视角对准角色然后在Camera中添加一跟随角色的脚本就OK了,即将Camera脚本中Player选取为所要跟随的角色就行,如下图将Player选取为角色Looking Aroundwithcolor或Dwaf Idle:
在这里插入图片描述
这里不再演示,只给出脚本代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Camera : MonoBehaviour
{public Transform player;    //角色位置信息public float smoothing = 5f;Vector3 offset;void Start(){offset = transform.position - player.position;}void FixedUpdate(){Vector3 playerCamPos = player.position + offset;transform.position = Vector3.Lerp(transform.position, playerCamPos, smoothing * Time.deltaTime);}
}

这里给了以上模型的分享
链接:https://pan.baidu.com/s/1LHEedXrm4N0DJJILGhE71g
密码:dlgs
下面是贴图:
链接:https://pan.baidu.com/s/1Vr9yrTZOxr6DdbzpLQDFmQ
提取码:y5re

若有更好的看法请留言,还有就是人物穿过场景比如在王者峡谷中碰到不规则物体不穿过,我还没有实现,老是穿墙,希望有大佬能提示一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41767.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity制作的照片墙效果

使用Unity3D制作的照片墙效果。支持发布PC、Android、Web等多平台使用。 效果上图 点选其中一张图时 参数调节 工程地址&#xff1a;https://download.csdn.net/download/Highning0007/87337607

Unity制作简单的精灵图动画(新手向)

使用精灵图制作动画步骤&#xff1a; 1.精灵图准备 2.制作动画 一、精灵图导入与切割 第一种情况&#xff1a;导入的是已经切割好的精灵图&#xff0c;请直接跳动到二 第二种情况&#xff1a;导入的是需要切割的精灵图&#xff0c;需要切割&#xff0c;切割步骤&#xff1…

unity程序动画

文章目录 Unity 程序动画讲解 一、程序动画是什么&#xff1f;二、使用步骤1.建立模型2.骨骼建立3.代码部分4.角色身体的位置适配 总结 Unity 程序动画讲解 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、程序动画是什么&#xff1f; 程序动画就是…

Unity | 从建模到蒙皮动画的整个过程

目录 一、顶点数组、索引数组及UV数组 二、Mesh、MeshFilter、MeshRenderer及SkinnedMeshRenderer 1. Mesh 2. MeshFilter 3. MeshRenderer 4. MeshRenderer与SkinnedMeshRenderer&#xff08;蒙皮网格&#xff09; 三、Unity中相关组件 1. mesh和material 2. sharedM…

虚幻——动画蓝图、状态机制作人物走跑跳动作

一、名词解释 序列——一段动作。 混合空间——混合不同的动作。将多个序列排序播放。 动画蓝图——根据状态播放不同的动画。 二、混合空间制作走跑动作 由于走和跑的动作比较连续&#xff0c;并且都是由速度控制&#xff0c;所以要把待机、走、跑这三个动作混合在一起。 1.创…

Unity UI 做 图表动画

UI分为三张图片&#xff0c;背景图&#xff0c;前景橘色&#xff0c;前景蓝色&#xff0c;三张图片大小一致&#xff0c;前景就是没有图片的image&#xff0c;填充的颜色。形状是通过shader改变的。 这是一个图标的基本结构&#xff0c;center是中心点&#xff0c;1、2、3...是…

广告中oCPX到底是如何进行优化的?

自从Facebook引入oCPM出价以来&#xff0c;国内的头条广告、微信广点通、百度信息流都陆续推出了自己的oCPX出价&#xff0c;oCPX出价已经成为主流广告投放平台的标配。 简单而言&#xff0c;oCPX是一种出价机制&#xff0c;允许广告主按照转化行为成本出价&#xff1b;假设对…

文字转语音神器!

大家好&#xff0c;我是懂王。 经常刷短视频的兄弟应该知道&#xff0c;有很多短视频的字幕都是用机器人语音来制造的&#xff0c;类似于手机上的 AL 助手语音&#xff0c;不过声音比 siri 和小爱同学要难听一点。 虽然这种机器声音听起来略带生硬&#xff0c;然而对于视频创…

语音转文字怎么转?分享这些实用软件

在参加日常工作会议时&#xff0c;有时候大家记录的速度跟不上对方的语速&#xff0c;会导致会议记录不完整&#xff0c;影响到工作效率。有些小伙伴就把会议内容进行录音&#xff0c;待会后再将录音文件进行整理&#xff0c;这样做既方便快捷&#xff0c;同时能提高工作效率。…

chrome文字转语音(tts)

文章目录 一、文章参考二、TTS (Text-To-Speech) 是文本转语音2.1 概念2.2 windows 操作系统2.3 验证是否有Windows TTS&#xff08;语音转文本&#xff09; 三、chrome 文字转语音3.1 Web Speech相关的API实际上有两类3.2 语音合成Speech Synthesis API3.2.1 SpeechSynthesisU…

在线文字转成语音怎么转

很多小伙伴在办公或学习中&#xff0c;经常或需要浏览大量资料。随着时间越来越长&#xff0c;我们的眼睛就会多度疲劳。为了不戴上眼镜&#xff0c;我们只能改变当前的方式&#xff0c;也就是把文字变成语音去听&#xff0c;而不是去看。那么就有小伙伴想问了在线文字转成语音…

体验最佳的一个TTS文字转语音工具

文本转语音 (TTS) 技术在当今的数字世界中变得越来越流行&#xff0c;其应用范围从语音导航到教学视频、教育和娱乐。 TTS 技术允许用户将文本转换为语音&#xff0c;使其成为一种极其方便、高效和灵活的交流方式。 个人的使用场景是抖音短视频语音配音和电影解说&#xff0c;…

一个在线文字转语音工具

一个在线文字转语音工具 因为参加比赛过程中要频繁使用文字转语音的功能&#xff0c;遂写了这个工具&#xff0c;暂时先用着。 工具基于百度API &#xff0c; 目前只支持 1K 以内的文字转语音。 后续版本拟增加讯飞接口&#xff0c;批量转换&#xff0c;语音识别&#xff0c;在…

SpeechSynthesisUtterance文字转语音播报

一、介绍 SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等 二、基本属性 var speech new SpeechSynthesisUtterance() speech.lang 获取并设置话语的语言&#xff08;en-US、zh-CN&#x…

文字转语音功能

大家有没有为如何找到一款文字转语音功能还能免费使用&#xff0c;操作简单的网站而苦恼&#xff0c;这边为大家强烈推荐一款操作简单而且免费使用的网站 96编辑器里的文字转语音功能 什么是文字转语音&#xff1f; 顾名思义&#xff0c;文字转语音是将文字转化成语音的形式&…

TTS Text-to-speech(文字转语音)服务

目录 中文帮助文档&#xff1a; 创建语音资源&#xff1a; 填写注册信息&#xff1a; 转到资源服务 编写测试代码(C#)&#xff1a; C#需要的包【NuGet搜索&#xff1a;CognitiveServices】 视频连接&#xff1a; 官网链接&#xff1a;Speech Studio - Microsoft Azure &am…

微软杀疯了,谷歌蒸发1000亿市值作陪,中文编程和它却打起翻身仗

微软VS谷歌&#xff0c;究竟谁是最后赢家&#xff1f; 当微软宣布收购OpenAI开发的ChatGPT的决定一出&#xff0c;Google深感威胁&#xff0c;开发出Gmail的早期员工甚至大胆预测&#xff0c;Google离完全毁灭只剩下一到两年&#xff01; 好歹也在互联网之战中屹立多年&#…

手写 100% 代码的 19 年老程序员,拒绝使用 Copilot、GPT-4 工具后,惨遭淘汰、解雇!...

整理 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一个月前&#xff0c;GitHub CEO Thomas Dohmke 为自家的 AI 辅助编码工具 GitHub Copilot X 站台&#xff0c;在全球网络峰会现场&#xff0c;亲自下场体验了一把&#xff0c;最终用 18 分钟编写出了一…

【网工最关心的问题,看Chat GPT怎么回答?】

最近打开微信群聊&#xff0c;都是在说ChatGPT相关内容 那ChatGPT是什么&#xff1f; ChatGPT是由美国人工智能实验室OpenAI开发的一个对话AI模型&#xff0c;于2022年11月正式推出。它因其极其出色的文本生成和对话交互能力在世界范围内迅速走红&#xff0c;五天内用户破百万&…

盘点GPT-4,大语言模型最新综述来了

Datawhale干货 最新&#xff1a;大模型综述&#xff0c;来源&#xff1a;机器之心 为什么仿佛一夜之间&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域就突然突飞猛进&#xff0c;摸到了通用人工智能的门槛&#xff1f;如今的大语言模型&#xff08;LLM&#xff09;…