一.看到UNITY论坛里有些人求unity shader序列帧动画,写shader我擅长啊,就顺势写了个CG的shader.代码很简单,就是变换UV采样序列帧贴图,美术配置行数列数以及变换速度. Shader "HELLOHUAN/Hello_Sequence" { Properties { _Color (,,,) _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} _SizeX ( _Size…
Unity Shader序列帧动画学习笔记 关于无限播放序列帧动画的一点问题 在学shader的序列帧动画时,书上写了这样一段代码: fixed4 frag(v2f i){ // 获得整数时间 float time = floor(_Time.y * _Speed) % 64; // 根据时间计算当前行数和列数 float row = floor(time/_HorizontalAmount); // 对uv坐标进行偏移 half2 uv = float2(i.uv.x/_HorizontalA…
shader中的序列帧动画属于纹理动画中的一种,主要原理是将给定的纹理进行等分,再根据时间的变化循环播放等分中的一部分. Unity Shader 内置时间变量 名称 类型 描述 _Time float4 (t/20,t,2t,3t)   其中t为自该场景加载所经过时间 _SinTime float4 (t/8,t/4,t/2,t)  其中t为自该场景加载所经过时间的正弦值 _CosTime float4 (t/8,t/4,t/2,t)  其中t为自该场景加载所经过时间的余弦值 unity_De…
一.各个动画的优缺点 1.首尾动画:如果只是修改空间的属性,使用首尾动画比较方便,如果在动画结束后做后续处理,就不是那么方面了. 2.核心动画:有点在于对后续的处理方便. 3.块动画: (1)在实际的开发中更常用的时block代码块来处理动画操作. (2)块动画相对来说比较灵活,尤为重要的是能够将动画相关的代码编写在一起,便于代码的阅读和理解. 4.使用序列帧动画:对UIImageview和button按钮进行连线. #import "ViewController.h" @interf…
对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪些事情,为了解决这个问题,unity允许每个动画单元来绑定一个脚本代码,这个脚本代码必须继承于StateMachineBehaviour;2: 可以在动画状态的Add Behaviour上添加挂载一个脚本到动画状态;3: StateMachineBehaviour主要接口: (1)OnStateEn…
系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoTween&Unity Native2D实现 时光煮雨 Unity3D实现2D人物动画① UGUI&Native2D序列帧动画 时光煮雨 Unity3D实现2D人物动画② Unity2D 动画系统&资源效率 原理 看过前篇的朋友,一定能猜到这篇的内容了,2D人物动画,这是一个老生常谈的话…
实现原理:主要思想是设置显示uv纹理的大小,并逐帧修改图片的uv坐标. 实现步骤 1.我们首先用_Time.y和速度属性_Speed相乘得到模拟的时间. 2.然后我们用time除以_HorizontalAmount的结果值作为当前的行索引,除法结果的余数则是列索引. 3.接下来,我们根据行索引和列索引来构建真正的采样坐标.由于序列帧图像包含了很多张关键帧图像,这意味着采样坐标需要映射到关键帧图像的坐标范围. 4.我们可以把原纹理坐标i.uv按行数和列数进行等分,得到每个子图像的纹理坐标范围. 5…
转自:http://blog.csdn.net/honghaier/article/details/8222401 序列帧动画主要有几个类: CCSpriteFrame:精灵帧信息,序列帧动画是依靠多个精灵帧信息来显示相应的纹理图像,一个精灵帧信息包包含了所使用的纹理,对应纹理块的位置以及纹理块是否经过旋转和偏移,这些信息可以取得对应纹理中正确的纹理块区域做为精灵帧显示的图像. CCAnimationFrame:序列帧动画单帧信息,它存储了对应的精灵帧信息. CCAnimation:序列帧动画信…
  简单介绍 Cocos2d-x中.动画的详细内容是依靠精灵显示出来的,为了显示动态图片,我们须要不停切换精灵显示的内容.通过把静态的精灵变为动画播放器从而实现动画效果. 动画由帧组成,每一帧都是一个纹理,我们能够使用一个纹理序列来创建动画. 我们使用Animation类描写叙述一个动画,而精灵显示动画的动作则是一个Animate对象. 动画动作Animate是精灵显示动画的动作.它由一个动画对象创建,并由精灵运行. 创建方法 - 手动加入序列帧到Animation类 - 使用文件初始化Anim…
    使用 MegaFiers 插件,能够使得Unity支持顶点动画的播放. 官方视频教程例如以下: 在这里简单測试使用下,环境例如以下: Blender 2.72 Unity 4.5.4 MegaFiers 2.74 创建物体和动画 首先打开Blender,默认会含有一个立方体,以下对这个立方体制作一个简单动画,让其在1~100帧做旋转,101~250帧做缩放,制作方法可參考教程[牛刀小试简单动画]. 确认立方体处于桔黄色外框包围的"被选中"状态: 用鼠标把绿色的当前帧指示线拖到第…
马上这星期就要过去了,为了完成每星期写一篇博客的目标,熬夜也要写完. 最近项目中用到了很多序列帧动画,之前看教程也接触过序列帧动画,但当时没用到,就没仔细研究,这次就借着这个机会好好总结一下序列帧动画. 思路 序列帧动画的原理很好理解,首先必须要有一个载体,一般是一个图片,然后申请一个数组或List 代码 public class Anim : MonoBehaviour { public float animSpeed = 10; //动画播放速度 默认1秒播放10帧图片 private fl…
六.plist的使用方法: iOS的程序在安装在手机上以后会把全部资源文件集成在一个文件夹中,这种文件集合称为bundle,对于一般的工程,只有一个bundle,即mainbundle,因此可以通过bundle来获取文件的全路径,然后读取文件,下面的例子读取的是一个数组plist. NSArray *dictArray = [NSArrayarrayWithContentsOfFile:[[NSBundlemainBundle] pathForResource:@"questions.plist…
新建一个Single View Application,向该工程中导入Tom猫的图片资源,本示例演示Tom猫喝牛奶的动作.图片的名字为 drink_00.jpg.drink_01.jpg.....drink_80.jpg . 向 Main.storyboard 中添加 UIImageView ,将图片 drink_00.jpg 作为默认显示的画面.将该控件与 ViewController 类建立一个 IBOutlet 连接,属性名为: @property (weak, nonatomic) IB…
NGUI系列教程七(序列帧动画)   今天我给大家讲一下如何使用NGUI做序列帧动画.本节主要包括两方面内容,分别是使用UIspirit和使用UITexture 做序列帧动画.废话不说了,下面开始.还要在啰嗦一句,首先大家要准备一些序列帧的素材图片,最好是大图和小图各一套.我们先来将使用UISpirit做序列帧动画,这个方法只适合使用小图.在使用UISpirit 之前大家还要把准备好的序列帧图片做成Atlas,如何做Atlas,大家可以参考系列教程四,这里就不多说了.建好自己的Atlas之后就可…
今天我给大家讲一下如何使用NGUI做序列帧动画.本节主要包括两方面内容,分别是使用UIspirit和使用UITexture 做序列帧动画.废话不说了,下面开始.还要在啰嗦一句,首先大家要准备一些序列帧的素材图片,最好是大图和小图各一套.我们先来将使用UISpirit做序列帧动画,这个方法只适合使用小图.在使用UISpirit 之前大家还要把准备好的序列帧图片做成Atlas,如何做Atlas,大家可以参考系列教程四,这里就不多说了.建好自己的Atlas之后就可以开始着手做了.废话终于完了. 1.…
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…
http://www.jianshu.com/p/6e9ba1b9c99e 因为一些手游项目需要使用Unity引擎,但在动画部分需要使用重定向技术来实现动画复用,考虑到有些项目开发人员没有过这方面的经验,下面就给大家介绍下在unity中使用动画重定向技术,一起来看看吧. 0. 前言 新的手游项目使用Unity引擎,动画部分要使用重定向技术来实现动画复用.之前在大公司工作的时候对这块了解比较深入,读过Havok引擎在这部分的实现源码,也基于自己的理解在公司自研的手游引擎中实现了一个简化的版本.本文…
unity的新动画系统叫Mecanim,使用Animator来取代旧系统Animation,按Unity文档的惯例:知识点主要分2部分:unity manual和unity script,读者可以边看文章边查阅文档,最好能动手测试. 文章的开始之前,先讲几个基本的知识的: 1.创建动画的一个基本步骤是设置一个unity3d可理解的简化后的骨骼到骨架中实际骨骼的映射:在Mecanim的术语中,这个映射称为Avatar,即avatar是骨骼到骨架的映射. (图片来自网) Avatar主要用于类人骨骼…
1.安装Unity5.2.5 2.安装Microsoft Visual Studio 2013 3.打开VS2013,点击Tools | Extensions and Updates,然后在这个界面点击左侧的Online,在右上角的输入框里打Unity,会搜索到Visual Studio Tools for Unity 2013,点击后弹出页面,点击页面的下载 4.Visual Studio Tools for Unity 2013.msi文件下载完成,点击安装 5.打开Unity,Edit |…
分享一款纯CSS3悬停图标旋转导航动画代码.这是一款鼠标移到图标上动画旋转显示导航菜单.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="x_contant"> <a class="xzt1" href="#"><img src="images/xztz_1.png" /></a> <a class="xzt2" hr…
效果: 素材: 源码:(一般的绘制方式) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>绘制序列帧动画</title> </head> <body> <canvas id="demo"></canvas> <button type…
cocostudio 版本v2.2.9 用texturePacker将动画帧打包成一个plist和一张png,将plist拖入cocostudio中的资源栏中. 如图所示,plist里面的图片顺序是乱掉的,而且该顺序无法调整,10,11应该在最后,这样选择这11张图创建的序列帧动画中间2帧将是错乱的 如果自己手动调整关键帧很麻烦,那么解决问题的地方就在于texturePacker的打包上,观察文件命名,排序方式10,11排在1后面,所以猜测 texturePacker是一个个字符按位比较的,就是…
方式1: //animateWithDuration用1秒钟的时间,执行代码 [UIView animateWithDuration:1.0 animations:^{ //存放需要执行的动画代码 self.iconBtn.frame=CGRectMake(,,,); self.cover.alpha=0.0;//设置控件的透明度 } completion:^(BOOL finished) { //动画执行完毕后会自动调用这个block内部的代码 [self.cover removeFromSu…
1.layout切换动画 代码: 本示例是fragment切换.在它的oncreateView中 public class LayoutAnimationFrgmt extends Fragment { <span style="white-space:pre"> </span>@Override <span style="white-space:pre"> </span>public View onCreateVie…
QuartzCode快速开发动画代码工具 QuartzCode一款快速,轻量,强大的动画工具,可快速得到原生的ObjC/Siwft代码 我可以用QuartzCode做什么? 应用程序演练动画 动画菜单或场景 自定义动画UI 应用样机 可视化您的想法,并快速迭代不同的动画.在XCode中使用编码手动创建动画非常耗时.QuartzCode大大减少了创建复杂动画的时间.以下是此观看动画中使用的技巧. 共9部动画 使用的形状图层,文本图层,复制器图层和效果图层 蒙版变换动画 使用2个动画关键路径,变换和…
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源(当然你也可以从官网下载). ========================================== 分割线 ========================================== 写在前面 最近由于成为研一新生,被入学的各种事情耽误,好久没有更新博客,好惭愧...刚收拾好我就来更…
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判定玩家是否有权限做出这种选择,然后才决定是否为玩家执行此选择.例如,<仙剑奇侠传>这款游戏,进入剧情“荷叶迷宫时”,会要求玩家击碎迷宫里的5尊雕塑,如图5-12所示.但是击碎的前提是,玩家身上必须携带有“锤子”.也就是说系统会遍历玩家身上所有的资源,如果有锤子才能击碎雕塑. 图5-12  <…
C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例 Unity中循环遍历每一个数据,并做出推断 非常多时候.游戏在玩家做出推断以后.游戏程序会遍历玩家身上大量的所需数据,然后做出推断.即首先判定玩家是否有权限做出这样的选择.然后才决定是否为玩家运行此选择.比如.<仙剑奇侠传>这款游戏,进入剧情"荷叶迷宫时",会要求玩家击碎迷宫里的5尊雕塑,如图5-12所看到的.可是击碎的前提是,玩家身上必须携带有"锤子". 也就是说系统会遍历玩家身上全部…
接下来我会运用热更新的机制,逐步制作一些例子来阐释脚本系统如何和Unity结合. 脚本不限于使用C#Lite,但是C#Lite会有一些便利之处,请往下看. 结合机制也不限于这一种,但是C#Lite的设计比较倾向于,不让脚本管理状态,不让脚本循环执行,每一段脚本就相当于一个函数. 所以C#Lite不会考虑从脚本内定义新的类型和函数这件事,如果要互相调用,可以让脚本内直接调用另一个脚本. 今天带来的是一个脚本系统控制的界面,这个界面完全是用脚本代码产生的,这个界面系统不用脚本也可以使用,大家一看就知…
第一节:图形处理器简史 GPU发展简史 GPU英文全称Graphic Procssing Unit. T&L变换和光照流水线 可编程GPU GPU的优点和缺点 第二节:Unity Shader Shader和渲染管线 什么是shader 中文翻译是着色器,是一种较为短小的程序片段,用于告诉图形硬件如何计算和输出图像,过去由汇编语言来编写,现在也可以使用高级语言来编写.一句话概括:shader是可编辑图形管线的算法片段. 它主要分为两类,vertexshader和fragmentshader: 什…