自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿童木的博客

不能则学,不知则问,耻于问人,决无长进。

  • 博客(51)
  • 收藏
  • 关注

原创 Unity3D Json序列化与反序列化存储到ScriptableObject

不懂ScriptableObject创建的请看之前文章ScriptableObject的创建。拿到策划给我们这样一个Excel表格,我们需要先通过Json在线编辑器将它转换为Json,看图: 将Excel内容全选复制转换成这样: 复制内容丢到JSON在线编辑器里边,并且给内容添加一个大括号,以及添加个属性名,最后把最后一个‘,’去掉,看图: 然后点击这个东西将内容复制下来,在Unity某个文件

2017-01-21 09:51:26 6367

原创 Unity3D 动画系统的StateMachineBehaviours

创建动画状态机脚本:using System;using UnityEngine;using System.Collections;public class AnimatorStateMachine : StateMachineBehaviour{ public Action<int> EnterStateCallBack; public Action<int> ExitStat

2017-01-20 13:54:08 6419

原创 Unity3D 单利模式

using UnityEngine;using System.Collections;public class Singleton<T> : MonoBehaviour where T : MonoBehaviour{ private static T instance; /** Returns the instance of this singleton.

2017-01-20 08:59:27 2204

原创 Unity3D 实例化UGUI自适应的预设

拉个预设如图: public GameObject m_Prefab; void Start () { GameObject go=Instantiate(m_Prefab); go.transform.SetParent(transform); }我们直接实例化这个设置好自适应的UGUI预设,如果我们直接实例化会这样: 这样的结果完全不

2017-01-19 23:38:27 2312

原创 C# 位运算符

表:位运算符 A=60,B=13; 运算符 描述 实例 $ 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100 l 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A l B) 将得到 61,即为 0011 1101 ^ 如果存在于其中一个操作数中但不同时存在于两个

2017-01-19 22:32:30 1311

原创 C# 斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。1. static int Func(int n) { if (n <=

2017-01-19 21:24:43 2639

原创 C# Lambda表达式

首先先看下委托:delegate int GuangChaoshi(int a);static void Main(string[] args){ GuangChaoshi gwl = JieZhang; Console.WriteLine(gwl(10) + ""); //打印20,委托的应用 Console.ReadKey();}public sta

2017-01-19 20:46:56 521

转载 C# 匹配中文字符串的4种正则表达式分享

本文介绍在C#中使用匹配中文的正则表达式,包括纯中文、有中文、中文开头、中文结尾等几个正则表达式示例。在正则表达式中,中文可以通过Unicode编码来确定正则表达式范围。 在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5]。所以,在此基础上,我们可以得到如下一些正则表达式。1、匹配字符串全部是中文字符的正则表达式 代码如下:“^[\u4e00-\u9

2017-01-19 17:57:32 7791 3

原创 Unity 5.x中的AssetBundle(二)

二、AssetBundle下载Unity 5.x中的AssetBundle(一)一、Downloading AssetBundles(下载资源包) 这里有两种方式下载AssetBundles: 1、非缓存方式下载:通过创建一个WWW类对象来下载(WWW www = new WWW(url)),这种方式不会缓存到本地存储的文件中。 2、缓存方式下载:通过使用WWW.Loa

2017-01-19 15:53:40 2603

原创 Unity 5.x中的AssetBundle(一)

最近在研究lua,接触了AssetBundle,恩,记录下学习心得吧。 官方文档:https://docs.unity3d.com/Manual/AssetBundlesIntro.html一、为AssetBundle起名字,并打包官方的图,在Inspector检查器窗口的底部是AssetBundle菜单,从第一个下拉框中选择或设置AssetBundle的名称,第二个下拉框是附加选项

2017-01-19 15:49:35 2831

原创 C# 正则表达式的使用

参考:http://www.cnblogs.com/youring2/archive/2009/11/07/1597786.html 在原文的基础上增加一些自己的理解实例。目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、

2017-01-19 15:01:14 923

转载 C#堆和栈的区别

原文:http://www.cnblogs.com/codingsilence/archive/2011/02/28/2146584.html解释1、栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小解释2、存放在栈中时要管存储顺序,保持着先进后出的原则,他是一片连续的内存域,有系统自动分配和

2017-01-19 09:43:21 669

转载 C#详解值类型和引用类型区别

原文:http://blog.csdn.net/qiaoquan3/article/details/51202926首先,什么是值类型,什么是引用类型?在C#中值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中。 值类型(value type):byte,short,int,long,float,double,decimal,char,bool 和 struct 统称

2017-01-18 23:43:58 390

转载 Unity&Shader案例篇—膨胀效果

原文:http://www.manew.com/thread-99195-1-1.html一、前言首先,来看一下效果图,如图所示: 这个效果要使得摄像机的Clear Flags为Solid Color模式,如果为其他模式可能会看不到外部那一圈光环。二、实现原理1、Shader部分:将需要使用两个Pass块,两个Pass块里输出的颜色不同,并最终使用透明度混合得到最后输出的像素颜色。●第一个Pass

2017-01-16 17:47:39 2192

转载 Unity&Shader案例篇—声纳光波效果

原文:http://www.manew.com/thread-98405-1-1.html一、前言睡前再来一篇吧,明天周一了,加油吧!废话不多说了,先上效果图如图所示,前面两个的效果图是两种模式下的: 不同效果,最后一章图片是在其中一种模式下,场景进行了精心布置后的效果图。看效果图会不自觉的认为实现这个效果是不是要在场景中的物体中进行绘制,如果真是要这样做的话那是在是太耗性能了(毕竟都工作了,本人

2017-01-15 23:44:52 2467

转载 Unity&Shader案例篇—绘制雪花

原文:http://www.manew.com/thread-98360-1-1.html一、前言 之前有个案例讲到了Unity&Shader案例篇—绘制雨滴,没有看过的童鞋可以在回去看看,这一篇其实思路和绘制雨滴是一样的。首先,用代码C#生成顶点和面片,然后用Shader代码渲染,最后在用C#代码控制Shader的参数使得雪花飘起来。飘动的时候加点噪声处理,使得雪花的飘落更符合真实。上一篇加班太

2017-01-15 22:41:52 4048

转载 Unity&Shader高级案例篇—图形命令缓冲

原文http://www.manew.com/thread-97942-1-1.html一、前言上一章讲的到底有什么用呢?带着此疑问你可以耐心的看看这篇的介绍。继上一篇文Unity&Shader高级篇-渲染路径(Rendering Paths),本篇其实算是中渲染管线的一个拓展。当然也要在理解了上一章的内容之后看这篇的例子就会有一个形象的概念。在中已经有了很多开发者可见的图形渲染功能,诸如标准着色器

2017-01-15 22:18:04 1407

转载 Unity&Shader高级篇-渲染路径(Rendering Paths)

原文:http://www.manew.com/thread-97939-1-1.html一、前言在的Camera中常常会看到一个Rendering Paths的选项,里面有5个选项,其中两个比较重要的选项分别是“Deferred Shading”和“Forward Rendering”,在我还是初学Unity的时候,并没有在意太多。如今随着学习Shader的深入慢慢领会到了这两个渲染路径的重要性。

2017-01-15 22:07:20 2086

转载 Unity&Shader案例篇—屏幕渐暗效果

原文http://www.manew.com/thread-97757-1-1.html一、前言两种实现方法得到的效果是一样的,侧重点不一样,择其良者而用之。二、第一种方案1、效果图如图所示:2、制作步骤首先是C#脚本部分,前面的几章基础篇里面已经提到过这个脚本了,代码如下:using UnityEngine;using System.Collections;public class OVRScr

2017-01-15 21:28:08 1966

转载 Unity&Shader案例篇—绘制雨滴

原文http://www.manew.com/thread-97668-1-1.html一、前言先上效果图,本文不只是简单的绘制雨滴,同时处理了摄像机不同朝向看到的雨滴下落的方向也不一样。二、方法1、绘制雨线:绘制雨使用的是C#脚本绘制的,脚本为:using UnityEngine;using System.Collections;public class Debris : MonoBehavio

2017-01-15 20:58:47 2000

原创 C# 二进制读写与序列化和反序列化

可参考雨松大神:http://www.xuanyusong.com/archives/1919 http://www.xuanyusong.com/archives/1901文章将实现数据存储为二进制文件,然后通过二进制文件解析数据。二进制文件读写操作: //写入二进制文件 public static void WriteByteValues() {

2017-01-15 00:16:52 4078

转载 C# XML序列化和反序列化

原文:http://www.cnblogs.com/nhxy/archive/2010/11/16/1878409.html本文描述如何使用CLR中的StringWriter,XmlSerializer将对象, 对象集合序列化为Xml格式的字符串, 同时描述如何进行反序列化。看代码就能理解,直接上代码了:案例1:using System; using System.Collections.Gen

2017-01-14 20:00:53 590

原创 C# 特性

参考:https://msdn.microsoft.com/zh-cn/library/e8kc3626(v=vs.110) http://www.runoob.com/csharp/csharp-attribute.html特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是

2017-01-14 17:48:49 513

转载 C# Lambda表达式

原文地址:http://www.cnblogs.com/kingmoon/archive/2011/05/03/2035696.htmlLambda表达式“Lambda表达式”是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambd

2017-01-14 10:53:39 414

原创 Unity ScriptableObject的创建

代码很简单,直接上代码了。using UnityEngine;using UnityEditor;using System.IO;using System;public class ScriptableObjectCreater : EditorWindow{ string className; string scriptableObjectName; [MenuIte

2017-01-12 10:05:05 3900 1

原创 C# 枚举类型的扩展

随机获得一个枚举public static T RandomEnum<T>() { T[] results = Enum.GetValues(typeof(T)) as T[]; Random random = new Random(); T result = results[random.Next(0, results.Length)];

2017-01-12 09:13:27 2406

原创 tolua 学习笔记 插件的使用

参考文章http://blog.csdn.net/u010665359/article/details/50950989tolua导入插件思路:其实框架里面都已经做好了扩展接口ToLuaExport.cs 里面的ProcessExtends函数。注意:extendName = “ToLua_” + className.Replace(“.”, “”); 这是tolua约束好的格式以Tolua开头,也

2017-01-11 22:09:40 5459 2

原创 Unity 判断鼠标上下左右拖动

很简单,直接上代码,解释都在注释中。public class InputController:MonoBehaviour,IPointerDownHandler,IDragHandler,IPointerUpHandler { private float fingerActionSensitivity = Screen.width * 0.05f; //手指动作的敏感度,这里

2017-01-11 17:51:42 6851 1

原创 Unity Mask遮挡模型忽略UI

在做ui栏滚动的时候,物品上下滚动,当某个物品在顶格或者在底格的时候,这时候需要滚出去,会有一部分在ui上,一部分要消失,如图:箭头指向的部分需要隐藏掉。开始吧,需要两个相机,一个ui相机,一个ui模型相机,ui结构如下重点在这,3dmask是一个Quad,需要创建一个shader,在SubShader中添加ColorMask 0不懂的直接复制下面代码:Shader "基础纹理/mesh"{

2017-01-11 12:01:58 7238 1

转载 Shader案例篇二《镜子2》

一、前言上一篇介绍了有关镜子的制作,有关理论部分的内容我会在后续相关的文章中陆续介绍,莫急,我先趁着自己脑子还是对此技术比较热,趁热打铁尽早把实现部分先写出来。上一章的介绍制作的镜子其实只是一个取巧的方法,并不能做到实时的反射出实物,但是思路还是比较有意思的。Mirrors3.gif 下载附件 二、中制作原理1、简单说明:其实这个原理就是用一个摄像机去拍镜子上面的物体将得到的图像投影给Plane,

2017-01-10 08:52:22 1287

转载 Shader案例篇—《镜子1》

废话不多说先上效果图,我使用的是在.3.3版本。Mirror.gif 下载附件 一、原理1、首先要准备的素材是三个,对没错,就是三个因为镜子里面的那个物体其实是实物的复制体而已;一个Plane作为镜子,还有一个实物和虚物体。2、新建一个材质使用下面的Shader代码,并将此材质球赋给那个虚物体 ? 0102030405060708091011121314151617181920212223

2017-01-10 08:48:07 1477

转载 Unity&Shader基础篇-常用函数的使用与案例

原文:http://www.manew.com/thread-97247-1-1.html1、前言继前面的系列文章之后,本篇继续讲解Cg的常用函数的使用案例,帮助巩固Cg语言的基础知识。这些函数都可以在Cg的教程里The Cg Tutorial找到示例代码和函数意义。本文讲解几个常用的函数,分别有1、Step(a,x):如果x小于a返回0;如果x>或=a返回12、Clamp(x,a,a):如果x小于

2017-01-09 23:52:45 3770

原创 tolua 学习笔记 资源加载、数据读取

对list.lua不熟悉的可以参考http://blog.csdn.net/Jason_520/article/details/54238020UI监听事件http://blog.csdn.net/jason_520/article/details/54233497效果大概就是这样:运行游戏,点击显示面板按钮,显示另一个面板,并且读取资源显示对应内容。附上lua代码:--UITranScript.l

2017-01-09 23:30:57 4592 1

转载 Unity&Shader案例篇—五子棋

原文:http://www.manew.com/thread-96916-1-1.html1、前言上篇Unity&Shader基础篇-绘制网格+圆盘已经讲到了通过绘制网格和圆盘的结合实现了在网格中绘制棋子的效果,但是遗憾的是只能绘制一个点,一旦点击其他的网格交叉点,点就会绘制到新的位置。那么,是不是可以通过保存上一个点状态来实现同时绘制多个点的效果,进而实现五子棋呢。答案是肯定可以的,接下来就是要讲

2017-01-09 22:36:38 2620 1

转载 Unity&Shader基础篇-绘制网格+圆盘

原文:http://www.manew.com/thread-96594-1-1.html1.前言:上一章中Unity&Shader基础篇-绘图2D图形中学习了怎么画出一个棋盘网格,首先来完善一下这个shader代码。首先,添加属性,属性包括网格的线的宽度,网格的颜色等。完整的代码如下:Shader "Unlit/Scenes_001_1"{ Properties {

2017-01-09 22:32:11 3358

转载 Unity&Shader基础篇-绘图2D图形

原文: http://www.manew.com/thread-96453-1-1.html本章和接下来的几章都会是在屏幕上绘制2D的图像,因此需要建立一个绘制的平面,类似于UI系统的一个Panel。代码如下:using UnityEngine;using System.Collections;[ExecuteInEditMode]public class Panel: MonoBehaviou

2017-01-09 21:03:34 3356

原创 tolua 学习笔记 链表list.lua

关于数据结构的内容可以查看之前的文章http://blog.csdn.net/jason_520/article/details/54173685。LuaFramework_UGUI中有一个list.lua,它是一个双向链表,即一个元素有两个指针,指向它的前一个元素和后一个元素。这里的元素指的是table,获取值的方式是:xxx.value。同C#的链表类似。本文笔者参考学习文章http://blo

2017-01-08 23:08:04 4265

原创 Lua 中自己实现string.Split

方法1:function mysplit(inputstr, sep) if sep == nil then sep = "%s" end local t={} ; i=1 for str in string.gmatch(inputstr, "([^"..sep.."]+)") do

2017-01-08 17:31:50 3898

原创 tolua 学习笔记 UI监听事件

编写UI事件监听脚本,参考雨松大神:http://www.xuanyusong.com/archives/3325以及http://blog.csdn.net/lyh916/article/details/44570503using UnityEngine;using System.Collections;using UnityEngine.EventSystems;namespace LuaF

2017-01-08 13:32:56 4734 4

原创 Lua 数据结构

数组虽然Lua可以自定义下标,但在Lua中习惯上数组的下标从1开始,Lua的标准库与此习惯保持一致,因此如果你的数组下标也是从1开始你就可以直接使用标准库的函数,否则就无法直接使用。a={};for i=1,1000 do a[i]=0;endprint("数组 a 的长度:" .. #a); --计算长度操作符 #squares={1,2,3,4,5}; --在一个表达式中初始化数组

2017-01-07 14:38:47 2171

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除