
Unity3D
文章平均质量分 82
stalendp
程序员一枚目前专注手机游戏Analysis gives way to art and science yields to magic
展开
-
小工具DeTexturepacker
用texturepacker打包了素材,不小心把原来的素材丢掉了;或则打开了别人的pkg,想用里面的素材做一些练习。针对这些场景,我写了个小工具分享给大家。附录是个打包好的jar文件(需要java环境才能够运行),解压后目录中有3个文件,jar和两个素材。切换到目录,运行如下命令就可以把素材还原到result目录下:java -jar DeTexturepacker.jar Common1原创 2013-12-29 12:13:44 · 2967 阅读 · 6 评论 -
【OpenGL】Shader实例分析(四)- 照片闪光,圆角和遮罩
在游戏中,当战斗结束后,对一些获取的宝贝需要进行闪光处理。这篇文章介绍一个进行闪光处理的shader,运行效果如下: 下面是shader的实现:Shader "stalendp/imageShine" { Properties { _image ("image", 2D) = "white" {} _percent ("_percent", Range(-5, 5))原创 2014-04-01 11:08:00 · 16652 阅读 · 7 评论 -
为C#添加位域特性
最近项目中由于要对数据进行压缩,所以产生了为C#添加类似C++中的位域的特性;网上已经有些内容了,但是感觉还不是很好用,所有自己写了一个,分享出来。原创 2016-07-02 23:44:59 · 5356 阅读 · 0 评论 -
【Unity】新的UI系统技巧2
1. 定制一个刻度条相关的控件,如下:基本原理是继承Graphic类,并重写OnPopulateMesh函数,用到一些基本的OpenGL画矩形的算法。比较有参考的是制作控件的习惯和编辑器的使用,从而使工程模块化,提供工作效率。代码如下:using UnityEngine;using UnityEngine.UI;using System.Collections;using ...原创 2016-07-26 09:33:25 · 1564 阅读 · 0 评论 -
【OpenGL】透视和ZBuffer
除了Graphic Pipeline外,ZBuffer是我最想介绍的部分了,因为有一些很酷实现都依赖于此(比如Shadow、Field Of View、SSOA)。先提出问题吧:是什么环节下的产物,有什么特性,可以用在哪些地方。为了具有说服力,我们以公式推导的形式给出结论。公式推导利用了中学的知识“相似三角形法则”,虽然有些繁琐但并不复杂。另外,文章的组织流程大致是沿着Graphic Pipeline的顺序进行的,其中剖析了一个正方形面片的显示过程。这个过程大致为:点->三角形->光栅化->透视矩阵->属性原创 2016-03-11 23:59:45 · 15029 阅读 · 4 评论 -
手工使用Protobuf-net工具来序列化对象
如果用C#中Runtime的序列化方式,体积太大,因为序列化了好多类型信息。这个时候用protobuf是最好的选择。在Unity中,可以使用Protobuf-net。 下面是手工写proto的例子:[ProtoContract]public class Student { public Student() { } // 缺省构造函数一定要有,否则不能调用Deserialize原创 2017-02-16 19:39:01 · 5080 阅读 · 0 评论 -
【Unity】新的UI系统技巧
从Unity4.6开始,集成了新的UI系统。这篇文章将记录新的UI系统的一些使用技巧,内容将不断增加~~~1)给人物加血条效果把要挂载的父节点的RectTransform中的锚点设置位buttonLeft。并获得当前的Canvas中的CanvasScaler,计算出缩放因子(比如下面是按照y来进行缩放的) CanvasScaler scaler = GetCo...原创 2015-01-11 23:46:39 · 10102 阅读 · 1 评论 -
Unity中状态机模式的简单封装
游戏中的逻辑少不了用状态机。但是面对复杂的状态(比如战斗角色控制,复杂的UI状态控制等),用状态机模式是最合适不过的了。结合C#的特点,我对状态机模式进行了简化。完善的fsm:public abstract class FSM<T> : MonoBehaviour { static System.Action FuncVoid = () => {}; p...原创 2017-09-19 00:51:48 · 1288 阅读 · 0 评论 -
【Unity】技巧集合2
转发,请保持地址:http://blog.youkuaiyun.com/stalendp/article/details/46707079相关的文章:【Unity】技巧集合1. 调试相关 Debug.DrawRay(transform.position, newDir, Color.red); void OnDrawGizmos() { UnityEditor.Han...原创 2015-07-01 10:12:10 · 11117 阅读 · 0 评论 -
一个有趣的Unity多线程练习例子
这里将记录一些C#线程相关的信息,将持续更新,最总将形成一个工具类,方便在Unity中使用。一些Tips:1)Monitor VS. MutexDifference between mutex and monitor.The biggest difference between the two is the scope: a mutex's scope is system-w...原创 2018-02-09 15:26:16 · 3377 阅读 · 0 评论 -
【Shader】Signed Distance Fields
关键词:distance Field realtime, SDF: Signed Distance FieldA simple and efficient method is presented which allows improved rendering of glyphs composed of curved and linear elements. A distance field ...原创 2019-01-22 10:56:19 · 3017 阅读 · 0 评论 -
【Unity】技巧集合
转发,请保持地址:http://blog.youkuaiyun.com/stalendp/article/details/17114135这篇文章将收集unity的相关技巧,会不断地更新内容。1)保存运行中的状态unity在运行状态时是不能够保存的。但在运行时编辑的时候,有时会发现比较好的效果想保存。这时可以在 “Hierarchy”中复制相关对象树,暂停游戏后替换原来的,就可以了。2)L原创 2013-12-04 10:27:35 · 37294 阅读 · 9 评论 -
【OpenGL】Shader实例分析(十)- 钻石效果
好久没有写文章了,赶紧补几篇。最近研究了一个玻璃折射的效果(用在砖石上),虽然没有达到最满意的效果,还是先分享出来,待以后有更好的想法再补充。先看效果吧:这里面有两个效果,左边是unity的免费插件Gem Shader,右边的是我自己实现的,我将分别介绍这两个效果的实现方法。一、知识补充:两个shader都使用了CubeMap...Shader "FX/Diamond"原创 2016-03-01 21:34:06 · 15920 阅读 · 2 评论 -
【Unity】FlappyBird剖析-附源码
Flappy Bird不用多说了,一款极其简单,但是又很火的游戏。我在得知这款疯狂的游戏后,就有一种把它重现的冲动,然后花了我4个多小时,产生出了一个可以玩的版本,分享给大家(文末尾付下载链接)。原创 2014-02-12 00:14:40 · 39758 阅读 · 18 评论 -
【OpenGL】Shader实例分析(五)- 边缘检测
这片文章将介绍基于法线的边缘检测方法原创 2014-04-08 00:02:02 · 20516 阅读 · 2 评论 -
【OpenGL】Shader实例分析(二)- Heart
转发请保持地址:http://blog.youkuaiyun.com/stalendp/article/details/22221597这片文章将介绍怎么用Shader来绘制一个跳动的心脏。这里会涉及到一些数学知识。先看效果图:源代码如下:// Created by inigo quilez - iq/2013// License Creative Commons Attributi原创 2014-03-26 23:15:07 · 20656 阅读 · 7 评论 -
【OpenGL】Shader实例分析(三)- 等待标识
写了个等待标识,不过效率估计不是很高。结果如下:Shader "stalendp/waitIcons" { CGINCLUDE #include "UnityCG.cginc" #pragma target 3.0 struct v2f原创 2014-03-31 18:42:40 · 6562 阅读 · 1 评论 -
【OpenGL】Shader技巧集合
这篇文章将收集unity中使用shader的相关技巧和特效,会不断地更新内容。关于在Unity中使用shader的介绍,请参考《【OpenGL】使用Unity来学习OpenGL》常用的内置uniformiResolution =》_ScreenParamsiGlobalTime => _Time.yglFragCoord => float4 sp:WPOS // 需要 #pr原创 2014-01-24 22:46:56 · 14646 阅读 · 0 评论 -
【OpenGL】Shader实例分析(八)- 彩色光圈
研究了一个彩色光圈效果,感觉挺不错的,分享给大家,效果如下:原创 2014-11-01 23:56:15 · 13729 阅读 · 4 评论 -
【OpenGL】Shader实例分析(九)- AngryBots中的主角受伤特效
AngryBots是Unity官方的一个非常棒的例子,很有研究价值。好久之前就研究过,由于例子的内容丰富,一时间不知道从哪入手写文章分析。这一段时间研究shader技术比较多一些,就从shader的这一方面开始吧。首先分析其中的一个屏幕特效:当主角受到攻击时会出现的全屏效果(postEffect),效果如下原创 2014-11-07 01:03:59 · 21374 阅读 · 3 评论 -
【OpenGL】Shader实例分析(一)-Wave
转发请保持地址:http://blog.youkuaiyun.com/stalendp/article/details/21993227这篇文章主要分析一个Shader,从而感受shader的魅力,并学习相关shader的函数的用法。先看Shader运行的效果:下面是代码:原创 2014-03-24 22:33:19 · 34312 阅读 · 18 评论 -
【OpenGL】使用Unity来学习OpenGL
转发,请保持地址:http://blog.youkuaiyun.com/stalendp/article/details/11492525OpenGL是原理性和实践性比较强的一门技术,在学习的时候,如果能够跟着书中的例子,一边调试一边学习,效果将很好(这属于实验的一种类型吧,能够吧知识形象化,有助于学习兴趣的提高)。市面上有许多深入浅出的书籍讲的很好,比如《OpenGL SuperBible 5th原创 2013-09-09 22:39:53 · 34575 阅读 · 3 评论 -
【OpenGL】Shader实例分析(七)- 雪花飘落效果
研究了一个雪花飘落效果,感觉挺不错的,分享给大家原创 2014-10-30 18:48:43 · 24138 阅读 · 4 评论 -
【OpenGL】Shader实例分析(六)- 卡牌特效
本文将介绍怎么通过alpha通道来隐藏信息,并实现卡牌特效;本文的核心是,利用图片的alpha通道来隐藏信息,达到节省资源的效果原创 2014-06-15 15:44:30 · 16760 阅读 · 9 评论 -
【Unity】技巧集合3
1. Node.js读取Excel文本相关https://www.npmjs.com/package/read-excel-file2. 血条位置更新:相关参考:RectTransformUtility// 更新血条位置void LateUpdate() { var sPos = RectTransformUtility.WorldToScreenPoint(Camera...原创 2019-02-10 19:10:35 · 519 阅读 · 0 评论