前一阵子写了一个播放序列帧的小脚本,本以为只是临时用一用,但是后来发现这个脚本能频繁的用在项目的其他地方,所以决定优化一下。
这个脚本参考了NGUI的 UI2DSpriteAnimation 脚本,里面有很多不错的思想,这里只是做了一些修修补补的工作。只需要将这个脚本挂载到任意游戏物体上,animImage变量为要播放序列帧的UGUI Image
OK,上脚本using UnityEngine;            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-23 13:32:38
                            
                                554阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Spine 是一款针对游戏的 2D 骨骼动画编辑工具。 Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画。优势 Benefits在 Spine 中通过将图片绑定到骨骼上,然后再控制骨骼实现动画。 2D 骨骼动画 相对于传统的逐帧动画有以下优势: 最小的体积: 传统的动画需要提供每一帧图片。而 Spine 动画只保存骨骼的动 画数据,它所占用的空间非常小,并能为你的游戏提            
                
         
            
            
            
              项目中用到了spine动画,使用Assetbundle打包后,在手机上运行会出现丢材质的情况。如果不进行打包,直接放到Resources目录下是可以正常加载的,但是,这样包就会很大,而且也不能进行热更新。进过测试,发现在代码中创建spine组件是可以解决这个问题,于是就有了下面的方案。我们先说方案,再说问题。方案:spine动画制作人员提供的spine动画三个文件分别是.json,.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-04 12:21:18
                            
                                439阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、简介  在最近的优化工作中,马三发现项目中的动画文件内存占比实在是太大了,峰值竟然有200多mb,很明显需要进行优化。经过一番网上查阅资料并结合自己实际操作以后,得到一些需心得体会,在这里马三记录一下并且分享给大家,希望对大家能有一些帮助。二、动画压缩的注意事项1.fbx中的动画无法压缩精度,即降低动画文件的浮点数精度  fbx中的动画无法压缩精度,压缩完重启Unity会发现又恢复为原来的样子            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-25 20:55:54
                            
                                578阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题 前言相信读者对透明效果都不陌生,因为透明效果是游戏中经常使用的一种效果。要实现透明效果,通常会在渲染模型时控制它的透明通道。而其透明度则控制是其是否会显示,0 表示完全不显示,1 表示完全显示。Unity 中通常使用两种方法来实现透明效果            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-20 22:16:27
                            
                                278阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            DOTween插件的引入:Asset Store->DoTween(选择free版导入即可)。DOTween是Unity上的一款动画插件,它使用简单,功能强大,利用它可以很方便地制作一些简单动画。而即使是一些较为复杂的队列动画,对它来说也不在话下。下面我们来介绍一下DOTween插件中一些常用的方法。1.让一个数值渐变到目标值 - DOTween.To(…)方法DOTween.To(() =            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-06 18:29:46
                            
                                330阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、简介自从Unity推出了DOTS(Data-Oriented Technology Stack,面向数据的技术堆栈)之后,关于其应用一直备受关注。虽然DOTS对性能的提升比较明显,但是由于其不算低的门槛,仍然让许多开发者难以上手。以动画为例,截至目前的Entities 1.0版本仍然没有官方的基于Entities的动画解决方案。本文介绍的插件DMotion就提供了基于DOTS的动画框架和状态机            
                
         
            
            
            
            问题:如何切换Spine模型显示? 在Spine的示例工程中有可以在动态生成一个新的Spine模型对象的场景,核心代码就是:var sa = SkeletonAnimation.NewSkeletonAnimationGameObject(sda);
sa.transform.SetParent(thisTransform, false);
sa.Initialize(false);这里sda是提            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-24 11:46:18
                            
                                1005阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言: 刚开始写这篇文章的时候选了一个很土的题目。。。《Unity3D优化全解析》。因为这是一篇临时起意才写的文章,而且陈述的都是既有的事实,因而给自己“文(dou)学(bi)”加工留下的余地就少了很多。但又觉得这块是不得不提的一个地方,平时见到很多人对此处也给予了忽略了事,需要时才去网上扒一些只言片语的资料。也恰逢年前,寻思着周末认真写点东西遇到节假日没准也没什么人读,所以索性就写了这篇临时的            
                
         
            
            
            
            目标尝试以较简单的步骤在Unity中创建帧动画,并分析步骤所做的事情。0. 素材来源素材来源于Unity商店的免费素材:Hero Knight - Pixel Art | 2D 角色 | Unity Asset Store (其实这个资源包中本身就有了完善的动画与相关脚本可以很好得参考,而本篇是想从更基础的阶段来学习其步骤)1. 创建工程并导入素材注意创建工程的时候以2D为模板(否则发现默认没有“            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-24 14:44:06
                            
                                141阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             1.角色动画给角色添加动画需要用到的是动画组件 首先添加一个Animator 然后看到参数里还需要一个Controller 回到根目录创建一个装动画的文件夹 ,里面单独给Player的动画也新建个文件夹  然后新建Animator Controller 这里命名为idle(代表player常态动画再打开animation面板             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-30 08:52:32
                            
                                1068阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            unity角色换装的关键是更改角色部位上的物体的SkinnedMeshRenderer组件的属性:更改mesh:mesh决定了部位的物体的外形,是主要的数据。刷新骨骼:同一个部位下,不同的mesh受到的不同的骨骼的影响不同,因此更换mesh之后,还要更新SkinnedMeshRenderer下的骨骼列表的信息,也就是更换骨骼列表。替换材质:一个SkinnedMeshRenderer下由多个材质作用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-14 22:36:15
                            
                                242阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                      最近一段时间在做关键帧提取,感觉国内在这方面的技术确实很落伍,当然浙大除外。 
            用通俗的话介绍动作采集:       &            
                
         
            
            
            
            1.序列帧动画          最常见的纹理动画之一就是序列帧动画。序列帧动画的原理非常简单。它像放电影一样,依次播放一系列关键帧图像,当播放速度达到一定数值时,看起来就是一个连续的动画。它的有点在于灵活性很强。我们不需要进行任何物理计算就可以得到很好的动画效果。Shader "Unlit/ImageSequenceAnimation"
 {            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-14 15:33:16
                            
                                289阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            合批类型:StaticBatch 静态合批      DynamicBatch 动态合批   InstancingBatch   SRP BatchDrawCall就是对完整描画的上下文的state的设置及其对Draw指令的调用Unity渲染管线分为两个大的阶段:ShadowMapJob渲染阴影    &nb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-25 16:58:40
                            
                                577阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近开始了新的项目,主要负责小怪部分的功能实现。在做的过程中发现,所有小怪的动画状态机绝大部分的状态是相同的。如果每个小怪的动画状态机都手动创建的话,非常繁琐。正好之前看了一篇介绍代码创建动画状态机的方法--unity5.x代码创建AnimatorController状态机,为了偷懒,学习一小代码创建AnimatorController的方法。1、创建AnimatorController  Ani            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-08 18:14:29
                            
                                335阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            现在网上虽然讲解Unity3D动画的文章不少,但是却少很少带实际例子的。刚好我之前给美术做了个简单的例子,所以整理一下就共享给大家了。主要是做了两种动画,分别有例子,按空格可以改变动画。具体的制作过程不会非常详细(写的过程中,Generic被我写得有点详细了:),这里假设大家都是有一定的编程或者Unity基础的。一、基础Unity3D 5.3.5可编译运行脚本采用C#脚本编写模型是FBX模型文件            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-12 09:02:31
                            
                                292阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.动画事件未执行        原因:跳帧  ,因为你动画是按照一帧一帧执行的,当你的动画事件放到挂在动画上的时候,正常测试是没问题提的,但是当你的游戏运行有卡顿的情况下,就有可能出现跳帧,这个时候动画上的事件不会触发,所以可以通过脚本去自己管理2.Camea ClearFlags如果设置为Don`t Clear 就不会清除图片的深度信息,在一个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-23 23:52:18
                            
                                383阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言  当我们有很多相似的预制体并且他们的动画都相同的时候,若我们创建多个多个Animation Clip或者Animation Controller (特别是对于多个控制器来说都有相同逻辑状态的时候) 就会浪费很多空间。为此,我们可以制作一个框架从而替换里面的参数 *(Animation Clip)*来节省空间与时间。如何将AnimationController作为模板  若我们的Animati            
                
         
            
            
            
            动画在 XAML 中也有,而且基本上与 WPF 中的用法一样。不过,在 UWP 中,动画还有一种表现方式—— 通过 UI Composition 来创建。基于 UI Composition 的动画,相对于 XAML 动画,有以下优点:1、不使用 UI 线程,XAML 动画是共享 UI 线程的,而 Composition 中的动画是使用辅助线程的。2、Composition 动画支持表达式(计算公式