【Unity】模型导入和动画

news2024/11/20 3:23:04

模型下载和格式转换

在模之屋下载了我推()
https://www.aplaybox.com/

  • 获得tex纹理文件和.pmx文件
    在这里插入图片描述

  • 需要转换为Unity可以使用的.fbx文件
    下载Blender2.93和CATS插件
    Blender2.93下载页面:https://www.blender.org/download/lts/
    CATS插件下载页面:https://github.com/absolute-quantum/cats-blender-plugin
    打开Blender-编辑-偏好设置-插件-安装-选中.zip插件-勾选后选择右侧CATS-Import导入.pmx文件-Fix Model-Export
    获得.fbx文件
    在这里插入图片描述

二次元渲染:

在这里插入图片描述
将人物fbx文件,纹理文件导入,提取材质放入材质文件夹
在这里插入图片描述将大佬的文件下载下来导入
选择全部材质,更改Shader为SimpleURPT
面部材质勾选Is Face
在这里插入图片描述

在这里插入图片描述
simple urp下载页面:https://github.com/ColinLeung-NiloCat/UnityURPToonLitShaderExample

骨骼重定向:

选中fbx文件,Rig处更改为人形,Apply

头发和衣服的物理模拟

Unity Chan的商城页面:https://assetstore.unity.com/publishers/7659
animation rigging

  • 导入二者到项目
    在这里插入图片描述选择如下,可以看到该脚本绘制出的人物骨骼
    在这里插入图片描述
    在这里插入图片描述

脚本或者说继承了MonoBehavier的脚本就是一个自定义的组件component

利用Unity-Chan中提供的这三个组件可以制作出不错的骨骼物理模拟效果
在这里插入图片描述
将这三个组件所构成的系统称为“弹性骨骼”或“动态骨骼”。
SpringBone:需要把它绑定到所有需要进行物理模拟的骨骼节点上,需要当前骨骼有一根子骨骼
SpringManager:绑定完后要把所有的springbone交给其管理,可以管理多个骨骼链,springmanager必须放在springbone的同级节点或者父节点上
SpringCollider:在一定程度上防止穿模,比如绑定到头上和大腿上

  • 在根骨骼节点上添加Springbone组件,将其下一级骨骼拖动到child,以此类推

在这里插入图片描述

在这里插入图片描述

修改旋转轴bone axis 为(0,1,0)
以上过程也可以在SpringManager进行一个程序的写:
在这里插入图片描述
为角色添加一个SpringManager脚本,将绑定了的骨骼拖到Springbone数组中
stiffness是坚硬度的意思,越大越硬越小越软
stiffnesscurve调整骨骼链上每一个骨骼的坚硬程度
dargforce是阻力,越大骨骼复原速度越慢

  • 设置碰撞体
    在需要设置的位置例如腿部添加空物体,增加Spring Collider组件
    在这里插入图片描述拖动至需要与之产生碰撞的骨骼Collider
    在这里插入图片描述

可以移动角色或者添加Random Wind组件查看效果

动画系统

在mixamo网站上可以下载免费模型和动画。
https://www.mixamo.com/

这里下载动画,Format选择FBX for Unity
在这里插入图片描述
导入动画文件到人物fbx同级目录下,选中动画fbx文件,Rig处更改为人形
可以选择是否勾选animation下的循环时间设置循环播放,将fbx文件下的Clip复制出来并移动到动画文件夹
在这里插入图片描述

创建Animation Controllor,挂载到人物Animation组件上
在这里插入图片描述
在这里插入图片描述
设置状态机:
在这里插入图片描述

知识点

  • Controller:使用的Animator Controller文件
  • Avatar:使用的骨骼文件
  • Apply Root lotion:绑定该组件的Gamebject的位置是否可以由动画进行改变(如果存在改变位移的动画)。

Apply Rootlotion 让角色动画驱动角色运动,提高了动画的使用效率
这就有两种情况,比如跑步动画
1、当我们的动画是原地跑的时候,这时候使用Apply Rootmotion的时候,人物还是在原地跑,就不需要用了,需要代码手动控制人
2.如果是可以一直往前跑的动画时,就可以使用Apply Roothotion使用动画驱动人物移动
人为控制用 move *= Time.deltaTime * moveSpeed;
动画控制用move = animatordeltaPosition; 其它地方都一样
不开启rootmotion,如果动画本身是一个带位移的动作的话,人物会脱离胶囊体,进而没有碰撞,会产生穿墙的效果,并且动画播完后,人物会回到胶囊体的位置
不带位移(原地)就不用勾选rootmotion。

  • Update Mode:更新模式,Normal表示使用update进行更新,Animate Physics表示使用FixUpdate进行更新(一般用在和物体有交的情况下),Unscale Time表示无视timeScale进行更新(一般用在UI动画中)。
  • Culling Mode:剔除模式:Almays Animate表示即使摄像机看不见也要进行动画播放的更新,Cull Update Transform表示摄像机看不见时停止动画播放但是位置会继续更新,Cull Completely表示摄像机看不见时停止动画的所有更新。

参考资源

【1】https://www.bilibili.com/video/BV1G34y127e6/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=fd6555f02904e7fa85526a2ff4b8b66e
【2】https://www.bilibili.com/video/BV1gB4y1B7tj/?spm_id_from=333.788&vd_source=fd6555f02904e7fa85526a2ff4b8b66e

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python表白系列】这个情人节送她一个漂浮的爱心吧(完整代码)

文章目录 漂浮的爱心环境需求完整代码详细分析系列文章 漂浮的爱心 环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这…

【VMware相关】VMware vSphere存储方案

一、iSCSI存储 参考文档 VMware官方文档:配置iSCSI适配器和存储 华为配置指南:VMware ESXi下的主机连通性指南 1、配置说明 如下图所示,VMware配置iSCSI存储,需要将物理网卡绑定到VMKernel适配器上,之后再将VMKernel适…

Golang数据类型(数字型)

Go数据类型(数字型) Go中数字型数据类型大致分为整数(integer)、浮点数(floating point )和复数(Complex)三种 整数重要概念 整数在Go和Python中有较大区别,主要体现在…

2021年11月10日 Go生态洞察:Twelve Years of Go

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

Python作用域大揭秘:局部、全局,global关键字

更多资料获取 📚 个人网站:ipengtao.com Python作用域是编程中关键的概念之一,决定了变量在代码中的可见性和生命周期。本文将深入探讨Python的局部作用域、全局作用域,以及如何使用global关键字来操作全局变量。通过丰富的示例代…

Jmeter测试地图服务性能

一、前言 Jmeter可以用来模拟多用户来访问http(s)请求,并返回访问结果,而地图服务归根结底仍是个http(s)请求。所以我们可以使用Jmeter对地图服务进行压力测试。 当然地图服务也有着它的特殊性&#xff0…

AES加密技术:原理与应用

一、引言 随着信息技术的飞速发展,数据安全已成为越来越受到重视的领域。加密技术作为保障数据安全的重要手段,在信息安全领域发挥着举足轻重的作用。AES(Advanced Encryption Standard)作为一种对称加密算法,自1990年…

算法题--排椅子(贪心)

题目链接 code #include<bits/stdc.h> using namespace std;struct node{int indx;//用来存储数组下标int cnt;//用来计数 };bool cmp(node a,node b){ //判断是否是数字最大的一个就是经过最多谈话人的道return a.cnt>b.cnt; } node row[2010],cow[2010];bool cmp…

C++12.1

三种运算符重载&#xff0c;每个至少实现一个运算符的重载 #include <iostream>using namespace std;class Person {friend const Person operator- (const Person &L, const Person &R);friend bool operator<(const Person &L,const Person &R);f…

TZOJ 1420 手机短号

答案&#xff1a; #include <stdio.h> #include <string.h> int main() {int n 0;scanf("%d", &n);while (n--) //输入n次{char phone[12];scanf("%s", phone);printf("6%s\n", phone 6); //跳过数组前6个元素&#…

数据挖掘实战:基于 Python 的个人信贷违约预测

本次分享我们 Python 觅圈的一个练手实战项目&#xff1a;个人信贷违约预测&#xff0c;此项目对于想要学习信贷风控模型的同学非常有帮助。 技术交流 技术要学会交流、分享&#xff0c;不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。 好的文章离不开粉丝的分享、…

win10 修改任务栏颜色 “开始菜单、任务栏和操作中心” 是灰色无法点击,一共就两步,彻底解决有图有真相。

电脑恢复了一下出厂设置、然后任务栏修改要修改一下颜色&#xff0c;之前会后来忘记了&#xff0c;擦。 查了半天文档没用&#xff0c;最后找到官网才算是看到问题解决办法。 问题现象: 解决办法: 往上滑、找到这里 浅色改成深色、然后就可以了&#xff0c;就这么简单。 w…

美丽的时钟

案例绘制一个时钟 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>美丽的时钟</title><script language"javascript">window.onloadfunction(){var clockdocument.getElementById("clock"…

Ubuntu中MySQL安装与使用

一、安装教程&#xff1a;移步 二、通过sql文件创建表格&#xff1a; 首先进入mysql&#xff1a; mysql -u 用户 -p 回车 然后输入密码source sql文件&#xff08;路径&#xff09;;上面是sql语句哈&#xff0c;所以记得加分号。 sql文件部分截图&#xff1a; 创建成功后的部…

【小布_ORACLE笔记】Part11-1--RMAN Backups

Oracle的数据备份于恢复RMAN Backups 学习第11章需要掌握&#xff1a; 一.RMAN的备份类型 二.使用backup命令创建备份集 三.创建备份文件 四.备份归档日志文件 五.使用RMAN的copy命令创建镜像拷贝 文章目录 Oracle的数据备份于恢复RMAN Backups1.RMAN Backup Concepts&#x…

【无标题】mmocr在云服务器上

这里写目录标题 1、创建虚拟环境2、切换和退出conda虚拟环境3. 显示、复制&#xff08;克隆&#xff09;、删除虚拟环境4、删除环境安装指示中 cd进项目文件夹开始训练模型&#xff08;python XXX.py | tee record.txt 记录训练结果&#xff09;如何在Linux服务器上安装Anacond…

Redis部署-主从模式

目录 单点问题 主从模式 解析主从模式 配置redis主从模式 info replication命令查看复制相关的状态 断开复制关系 安全性 只读 传输延迟 拓扑结构 数据同步psync replicationid offset psync运行流程 全量复制流程 无硬盘模式 部分复制流程 积压缓冲区 实时复…

【代码】基于算术优化算法(AOA)优化参数的随机森林(RF)六分类机器学习预测算法/matlab代码

代码名称&#xff1a;基于算术优化算法&#xff08;AOA&#xff09;优化参数的随机森林&#xff08;RF&#xff09;六分类机器学习预测算法/matlab代码 使用算术优化算法&#xff08;AOA&#xff09;优化分类预测模型的参数&#xff0c;收敛性好&#xff0c;准确率提升明显&am…

【Java】I/O流—File类:从0到1的全面解析

&#x1f38a;专栏【Java】 &#x1f33a;每日一句:看不清楚未来时,就比别人坚持久一点 ⭐欢迎并且感谢大家指出我的问题 目录 1.File概述 2.File构造方法 (1).根据文件路径创建文件对象 (2).根据父路径名字符串和子路径名字符串创建对象 (3).根据父路径对应文件对象和子路…

Linux学习第46天:Linux音频驱动试验:总有那么一首歌,会让你泪流满面。

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 大叔来之一个小村庄&#xff0c;上大学以后来到了省城济南。之前高中练习英语听力买过一个随声听&#xff0c;晚上练习听力&#xff0c;怕影响同学休息还买了一个…