unity程序动画

文章目录

    • Unity 程序动画讲解
  • 一、程序动画是什么?
  • 二、使用步骤
    • 1.建立模型
    • 2.骨骼建立
    • 3.代码部分
    • 4.角色身体的位置适配
  • 总结


Unity 程序动画讲解

在这里插入图片描述

提示:以下是本篇文章正文内容,下面案例可供参考

一、程序动画是什么?

程序动画就是通过c#脚本加上逆向骨骼动画实现的可随场景地形改变而做出对应改变的动画。


二、使用步骤

1.建立模型

使用blender建立一个简单的双足机器人模型
提示:腿部关节需要将坐标原点设立在模型顶部
在这里插入图片描述

在这里插入图片描述
然后设置好物体的子父级关系
在这里插入图片描述
框选所有组成的物体,选择fbx导出。
在blender中
模型的-y对应unity中的z;
模型的z对应unity中的y;

2.骨骼建立

安装animation rigging
在这里插入图片描述
将导出的模型拖入asset,然后拖入场景,让后建立一个空节点作为物体的父节点,再在两个最低端的leg关节分别建立两个空物体作为脚掌。
在这里插入图片描述
然后选中总的父节点,进行骨骼生成
在这里插入图片描述
在这里插入图片描述
然后继续选择主父节点生成ik控制模块
在这里插入图片描述
生成后能看见一个rig空物体,然后再在rig下新建空物体left,right。
再在两个空物体下建下两个空物体。
在这里插入图片描述
在left和right中add Tow Bone 组件,分别将腿部各个部分的transform拖入其中,target和hint也就是我们刚才建立的两个子物体。target是脚掌的位置,hint是膝盖的位置。
在这里插入图片描述
以上设置完成就开始我们自己的代码部分。

3.代码部分

将代码拖拽到每个脚的target上。
代码的思路
提示:射线函数ray的第一个参数为发射位置,第二个为发射方向,是相对于第一个参数的局部向量,

  1. 在身体左右侧发射竖直向下的射线,获取脚掌的目标位置.
  2. 判断目标位置的距离是否大于设定的step距离,大于且没有其他腿在迈步,该腿则开始迈步,迈步使用Lerp函数计算与目标点的距离。
  3. 在一只腿迈步时开始,内部变量lerp = 0 ,每一帧lerp + Time.deltaTime * speed,来跟新脚掌插值的位置,迈步完毕,lerp>1。
  4. 迈步的台脚,放脚使用的是sin函数。
public class target : MonoBehaviour
{public Transform body;public Transform endbody;//身体public LayerMask terrainLayer;          //检测图层public  Vector3 newposition, oldposition, currentposition; //位置public float footSpacing1,footSpacing2; //落点偏移public float stepstance;                //步长public float high = 0.1f;               //高度public float speed = 2;                 //速度float lerp = 1;public target leg1,leg2;                //约束private void Start(){newposition = transform.position;currentposition = transform.position;oldposition = transform.position;}void Update(){transform.position = currentposition;Vector3 start = body.position + (body.forward * footSpacing1) + (body.right * footSpacing2);Vector3 end = new Vector3(body.position.x,-2,body.position.z) + (body.forward * footSpacing1) + (body.right * footSpacing2);Ray ray = new Ray(start,Vector3.down );Debug.DrawLine(start,end,Color.red);if (Physics.Raycast(ray,out RaycastHit info, 20, terrainLayer.value)){if (Vector3.Distance(newposition, info.point) > stepstance && leg1.lerp >= 1 )//&& leg2.lerp >= 1{lerp = 0;newposition = info.point;}if (lerp<1){newposition = info.point;}}if (lerp < 1){Vector3 footposition = Vector3.Lerp(oldposition, newposition, lerp);footposition.y += Mathf.Sin(lerp * Mathf.PI) * high;currentposition = footposition;lerp += Time.deltaTime * speed;}else{oldposition = newposition;}}private void OnDrawGizmos(){Gizmos.color = Color.red;       Gizmos.DrawSphere(newposition, 0.1f);}
}

4.角色身体的位置适配

大概思路这里就不贴代码了
使用连个target的位置的中间点的位置作为身体与地面的距离计算参考点。用lerp函数维持身体的y方向始终与地面参考点有一定的距离。

总结

比较忙所以,代码和文章比较大概。(其实是懒doge)
有啥问题,咋们评论区见。
只因你太美,留下订阅再走吧。

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

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

相关文章

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;…

GPT-4,或许真的可以让“人工”更“智能”

自2018年GPT-1发布起&#xff0c;每年一更新。距离2020年GPT-3发布已有两年&#xff0c;这段时间里&#xff0c;大家都在期待和畅想&#xff0c;GPT-4到底会带来怎样的惊喜。 期间&#xff0c;“通过图灵测试”&#xff0c;“GPT-4Beta版访问权限已提供给某公司”等消息不断&a…

市面上最好用的两款AI换脸开源神器

1.faceswap 地址链接&#xff1a;Welcome - Faceswap 2.swapface 地址链接&#xff1a;Swapface 现在ai是一个非常大的风口&#xff0c;人们都在寻找各种开源的工具。 这两款软件是非常好用的&#xff0c;我测评了很多款其他的软件&#xff0c;包括手机移动端&#xff0c;…

这 10 个好玩的 AI 项目开源了!

今日推荐开源项目目录&#xff1a; 基于 AI 的口语训练平台 一句话生成 3D 模型 歌声转换 识图模型 01 基于 AI 的口语训练平台 Polyglot 是一个开源的基于 AI 的口语训练平台客户端&#xff0c;可以在 Windows、Mac 上使用。 比如你想练习英语口语&#xff0c;只需在该平…