应用 一个RPG游戏,里面有100种怪物,每种怪物其实都差不多的,行走,跳跃,攻击,难道动画师要调100次动画吗?其实不需要 Unity抽象出人形动画系统,用Unity简化版的骨骼来进行统一的管理,只要是使用人形动画系统做的角色动画,可以使用其他角色进行播放,应用到不同的角色里面,这个就是重定向技术. 动画本身是控制骨骼在那里运动,同样的都是人体,其实动作差别并不大,都是行走,这时候就可以由一种动画重定向到不同的角色模型上. 人形动画可以理解为Unity为人物角色而抽象出来的一个动画模板,专门做…
对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪些事情,为了解决这个问题,unity允许每个动画单元来绑定一个脚本代码,这个脚本代码必须继承于StateMachineBehaviour;2: 可以在动画状态的Add Behaviour上添加挂载一个脚本到动画状态;3: StateMachineBehaviour主要接口: (1)OnStateEn…
Mecanim工作流可以被分解为3个主要阶段:1.资源的准备和导入这一阶段由美术师或动画师通过第三方工具来完成,例如Max或Maya.2.角色的建立主要有以下两种方式1)人形角色的建立.Mecanim通过扩展的图形操作界面和动画重定向功能,为人形模型提供了一种特殊的工作流,它包括Avatar的创建和对肌肉定义(Muscle Definitions)的调节.2)一般角色的建立.这是为处理任意的运动物体和四足动物而设定的.3.角色的运动这里包括设定动画片段与其相互间的交互作用,也包括建立状态和混合树…
List<Animation> storeAnimation; public void Awake() { storeAnimation = new List<Animation>(); storeAnimation.Clear(); } private void Update() { //1. 获取鼠标点击位置 //创建射线;从摄像机发射一条经过鼠标当前位置的射线 Ray ray = firstCamera.ScreenPointToRay(Input.mousePosition…
http://www.jianshu.com/p/6e9ba1b9c99e 因为一些手游项目需要使用Unity引擎,但在动画部分需要使用重定向技术来实现动画复用,考虑到有些项目开发人员没有过这方面的经验,下面就给大家介绍下在unity中使用动画重定向技术,一起来看看吧. 0. 前言 新的手游项目使用Unity引擎,动画部分要使用重定向技术来实现动画复用.之前在大公司工作的时候对这块了解比较深入,读过Havok引擎在这部分的实现源码,也基于自己的理解在公司自研的手游引擎中实现了一个简化的版本.本文…
前言 笔者新的手游项目使用Unity引擎,动画部分要使用重定向技术来实现动画复用.笔者之前在大公司工作的时候对这块了解比较深入,读过Havok引擎在这部分的实现源码,并基于自己的理解,在公司自研的手游引擎中实现了一个简化的版本.本文将从原理层面分析Animation Retargeting技术的实现方式,然后落回到Unity引擎中,记录笔者使用Retargeting时遇到的问题和解决方法. 壹 · 什么是动画重定向 动画重定向,即Animation Retargeting,是一种动画复用的技术.…
Mecanim动画 1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的Mecanim动画系统;2:Mecanim支持运动重定向(Retargeting)功能,即把动画从一个角色模型应用到另一个角色模型;3: Mecanim允许使用“肌肉”来控制不同骨骼的运动范围;觉得某个动画太夸张的时候,可以用"肌肉"来限制一下.4: Mecanim动画系统三要素: (1)…
制作骨骼动画 我们看看这几步操作后,我们得到了那些数据: 1.每个皮肤顶点的初始世界坐标. 2.每个骨骼关节顶点的初始世界坐标. 3.每个顶点被骨骼顶点的影响信息. 4.骨骼如何移动. 骨骼动画原理 核心: 通过骨骼带动皮肤运动,也就是通过骨骼的移动动态计算mesh上的点的位置 过程: 1.将mesh上的点转换为骨骼空间上的点. 骨骼空间就是以关节为原点确定的空间,并不是一个实体. 2.通过缩放.旋转.平移将骨骼移动到新的位置. 3.根据骨骼的新位置计算mesh顶点新世界坐标(骨骼移动,但mes…
龙骨 龙骨是Egret公司的一个用来做动画的软件,本文分享一下如何在Unity2D中使用龙骨导出的2D动画 导出动画 在龙骨中文件->导出,导出动画数据和纹理到Unity的项目中,如果打包了的话就在Unity的项目的目录下解压,解压后我们可以看到3个文件 Animation_ske.json(骨骼配置) Animation_tke.json (图集配置) Animation_tex.png (图集图片) 简单来讲,动画的数据在骨骼配置文件里,图集配置文件记录了图片的位置和路径 向Unity添加龙…
Unity在5.X以后,有一个旧版的动画系统和新版的动画系统. 新版的动画系统是使用Unity动画编辑器来调的,调动画和控制动画 旧版的动画系统是用其他的第三方软件调好后导出到一个FBX文件里面,就是一个FBX模型文件里面除了模型顶点,数据纹理以外,还有动画信息.美术会把所有与模型相关的动画全部做到一起. 旧版动画系统 1: 导入一个包含多个动画的模型文件;2: 选中模型文件的Rig---->Animation Type---->Legacy模式3: 根据美术给出的时间点,来分割动画;4: A…
 出处:http://blog.csdn.net/u010019717 author:孙广东      时间:2015.3.17   23:00 DFTween 是一个在 Unity 游戏引擎中高速和easy使用的animation动画库. 它支持不论什么对象的tweening补间的属性, 并能够轻松地进行工作与您自己自己定义数据类型.API 非常简单可是功能非常强大,使其易于创建复杂的tweens补间和sequences序列.它已被优化从优秀性能.同一时候具有低内存和低CPU 要求. ·高…
Unity中的动画制作方法 1.DOTween DoTween在5.0版本中已经用到了,到官网下载好插件之后,然后通过在项目中导入头using DG.Tweening;即可. 一些常用的API函数 DOMove(this Transform target, Vector3 endValue, float duration, bool snapping = false); 该函数主要是用来移动选中的对象的,endValue表示需要移到的坐标,duration为持续的时间. ScaleTo(Game…
动画导入 美工做好的模型,直接将文件夹拖进来就导入好了.导入模型后,检查模型的材质贴图等是否丢失,若丢失,根据名字补上.如果美工取名规范,一一对应的话,就很简单.如果不是,那就呵呵哒. 有的美工做的比较差,所有模型的动画都在一个上面,需要我们后续的动画分割,遇到这种,嗯,心里骂骂就好了.但是,作为一个程序,分割动画真的好麻烦的好吧. 而有的美工就做的很好了,动画都是单独的,不需要我们后续动画分割,但也有可能会需要一些小的调整. 选中模型后,Rig表示动画的导入方式 Node:不导入动画 Lega…
在前面的动画,都是控制单独的物体,比如说控制一个角色的运动.而Timeline,可以对多个物体实施动画,形成过场动画,或者电影效果.比如,很多赛车游戏比赛开始前都会播放一段开场动画,围绕自己车的几个方位旋转几圈.这就是利用几个相机之间不同时间段的切换和移动做成的. 使用方法: 1:打开Timeline编辑界面 2:创建一个Timeline,点击一个物体开始创建,我们的做法是创建一个空物体, 以此来创建TimeLine,同时把这个空物体命名为Timeline,在这个物体下做操作. 3::使用上面方…
最近在研究Unity中关于资源打包的东西,网上看了一堆资料,这里做个整合,说整合,其实也就是Ctrl-C + Ctrl-V,不是原创 首先为了尊重原创,先贴出原创者的文章地址: http://blog.csdn.net/kenkao/article/details/24290063 http://blog.csdn.net/janeky/article/details/17652021 http://blog.csdn.net/janeky/article/details/17666409 ht…
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Mecanim 动画系统 (Mecanim Animation System) 特别适合使用类人骨架动画.由于类人骨架非常普遍并在游戏中广泛应用,因此Unity 针对类人动画专门提供了专业的工作流程和扩展工具集. 本节主要介绍为模型创建 Avatar 的基本步骤.包括: (1)创建Avatar. (2)配置Avatar. (3)肌肉设定. (4)动画重定位. (5)反向动力学. 1.什么是Avatar Mecanim…
这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体   这一步主要是为了针对性能瓶颈中的”顶点处理“一项.这里的几何体就是指组成场景中对象的网格结构.   3D游戏制作都由模型制作开始.而在建模时,有一条我们需要记住:尽可能减少模型中三角形的数目,一些对于模型没有影响.或是肉眼非常难察觉到区别的顶点都要尽可能去掉.例如在下面左图中,正方体内部很多顶点都是不需要的,而把这个模型导入到Unity…
http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Unity Cookie中的一个教程.还有很多其他参考在下面的链接中. 这篇文章旨在简要地说明一下常见的各种优化策略.不过对每个基础有非常深入地讲解,需要的童鞋可以自行去相关资料. 还有…
unity工具IGamesTools批量生成帧动画,可批量的将指定文件夹下的帧动画图片自动生成对应的资源文件(Animation,AnimationController,Prefabs) unity工具IGamesTools下载地址: http://download.csdn.net/detail/dingkun520wy/9471415   原文地址: http://blog.csdn.net/dingkun520wy/article/details/50971544 属性介绍 Frame R…
Unity中的基本概念 本文我们介绍Unity中的基本概念,包括:场景.游戏对象.组件.预制件.资源等. 2.1.界面概览 打开Unity之后,我们大概可以看到以上画面,以上画面中即显示了我们最常用到的面板,下面介绍它们的用途.如果有些面板你没有找到,可以通过菜单Window->[面板名称]来打开,面板名称如下列英文介绍. 注意:我会在英文面板名称的下方,给出中文的翻译,不过我们在后续的章节中,尽可能还是沿用英文称呼,这样比较准确. ① Game 游戏面板 Game面板是一个画面显示区,这里显示…
MeshAnimation在物体的顶点比较多的情况下,悲剧是显而可见的,我一个一个的点选顶点肯定得累死,而且对于形态的调控不是很方便,应该说是很麻烦,要知道,骨骼动画因为有了骨骼以及蒙皮信息而有了灵魂,所以变形动画也该有适用于他自己的骨骼才对. 所以,借用Unity本身的父子节点机制,我大概将变形动画的骨架模拟了一便,但之所以称之为变形动画,也叫顶点动画,就是因为他的形态不可控,这就是不同于骨骼动画的本质,为其指定骨骼的话其实倒显得有些不合理了. 不过这里只是模拟以及更方便变形动画的调节,类似于…
AssetBundle 1: 在Unity中,能为用户存储资源的一种压缩格式的打包集合,他可以存任意一种Unity引擎可以识别的资源: 模型,音频,纹理图,动画, 开发者自定义的二进制文件; 2: 这样做的好处就是:a.我们的安装包不用做那么大,可以把很多大的资源放到服务器上面去,安装包就比较小  b.如果有改动的话可以去更新资源,AssetBundle就是Unity提供的一种更新资源的机制3: AssetBundle开发步骤: (1): 创建AssetBundle: 项目的资源打包到Asset…
Unity中的文件大致分为一下几类: 1.资源文件: 导入后,除非是修改,否则不会变化的文件.例如:fbx文件.贴图文件.音频文件.视频文件.动画文件等. 这些文件在导入到Unity的时候,都会进行转换,每一种类型都对应一个AssetImporter. 2.代码文件: 代码文件.代码库文件.shader文件等,在导入后,会进行编译. 3.序列化文件: 比如Prefab(预制体).Unity3d(场景)文件.Asset(ScriptableObject)文件.Mat文件(材质球),这些文件能够在运…
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题. [Unity Shader](三) ------ 光照模型原理及漫反射和高光反射的实现 [Unity Shader](四) ------ 纹理之法线纹理.单张纹理及遮罩纹理的实现 [Unity Shader](五) ------ 透明效果之半透明效果的实现及原理 [Unity Shader](六) ------ 复杂的光照(上) [Unity…
http://forum.china.unity3d.com/thread-32273-1-1.html 今天我们继续分享米哈游技术总监贺甲在Unite Beijing 2018大会上的演讲<在Unity上实现高品质卡通渲染的效果>下篇,上篇请点击此处阅读. 下面为演讲内容: 接下来我们就来介绍一下头发的渲染.头发是卡通渲染角色较为重要且独特的部分.我们想要实现根据光源动态变化的高光和阴影渐变,并且这个实现还应具备直观的所见即所得的色彩调节能力. 和皮肤的材质一样,对于头发的漫反射渲染我们同样…
http://lib.csdn.net/article/unity3d/38699 这篇文章翻译自国外的一篇文章(这里是原文链接),正在使用unity的你是否在shader toy上发现很多牛逼哄哄的shader却不知道如何使用,那么这篇文章就是帮助你来进行转换的.本文只是基础文章,那些对HLSL/CG/GLSL都很熟悉的大神相信已经会觉得太简单了.下面是索引和正文…… 本文索引: 一 GLSL到HLSL的转换 二 在Unity中实现它 三 最终效果 如果你正在试图涉猎shader编程这个领域,…
转自冯乐乐的 <Unity Shader 入门精要> 移动平台的特点 为了尽可能一处那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于ios设备和某些Android设备)使用了基于瓦片的延迟渲染(TBDR)架构,把所有的渲染图像装入一个个瓦片中,再由硬件找到可见的片元,而只有这些可见片元才会执行片元着色器.另一些基于瓦片的GPU架构,如Adreno(高通的芯片)和Mali(ARM的芯片)则会适应early-Z 或相似的技术进行一个低精度的深度检测,来剔除…
构建AssetBundles 在AssetBundle工作流程的文档中,我们有一个示例代码,它将三个参数传递给BuildPipeline.BuildAssetBundles函数.让我们更深入地了解我们实际上在说什么. Assets/AssetBundles:这是AssetBundles将被输出到的目录.您可以将其更改为所需的任何输出目录,只需在尝试构建之前确保文件夹实际存在. BuildAssetBundleOptions 有多种不同的BuildAssetBundleOptions选项可以选择.…
为AssetBundles准备资源 使用AssetBundles时,您可以随意将任何Asset分配给所需的任何Bundle.但是,在设置Bundles时,需要考虑一些策略.这些分组策略可以使用到任何你认为适合的特定项目中.你可以随心所欲地混合和匹配这些策略. 逻辑实体分组 逻辑实体分组是根据其所代表的项目的功能部分将资产分配给AssetBundles的.这包括诸如用户界面.人物.环境以及在整个应用程序的整个生命周期中频繁出现的其他部分. 例子 把用户界面的所有纹理和布局数据打包到一起 把人物角色…
一.AssetBundle 相关 Q1:Unity中的SerializedFile是怎么产生的?请问用Unload(false)可以清除吗?因为读取了Bundle里面的内容后已经赋值给其他物体了.而且我把图片都打成了Bundle,然后读取出来,图片的大小应该是超过了这个SerializedFile的大小的? SerializedFile是AssetBundle加载时产生的序列化信息,一般为LoadFromCacheOrDownload.LoadFromFile和New WWW加载本地AssetB…