
Unity3D
大头狗
一个很菜的老程序员
展开
-
NGUI系列教程一
首先导入NGUI package,这里我们选用的是2.6.3版本的NGUI。在unity工程窗口中点击右键选择 Importpackageàcustom package,选择你下载的NGUI插件,导入完成后效果如图:1.选择菜单NGUIàOpen the UI Wizard,弹出创建UI对话框。点击Layer窗口右边对应的按钮,弹出层选择对话框,在这里我们选择AddLa转载 2014-12-27 11:41:33 · 833 阅读 · 0 评论 -
Unity中资源打包成Assetsbundle的资料整理
最近在研究Unity中关于资源打包的东西,网上看了一堆资料,这里做个整合,说整合,其实也就是Ctrl-C + Ctrl-V,不是原创首先为了尊重原创,先贴出原创者的文章地址:http://blog.youkuaiyun.com/kenkao/article/details/24290063http://blog.youkuaiyun.com/janeky/article/details/17652021转载 2015-05-18 11:54:06 · 13797 阅读 · 0 评论 -
unity的一些特殊目录
Hidden FoldersFolders that start with a dot (e.g. ".UnitTests/", ".svn/") are ignored by Unity. Any assets in there are not imported, and any scripts in there are not compiled. They will not show转载 2015-10-10 15:20:14 · 775 阅读 · 0 评论 -
关于NGUI中一些控件的说明
我开始学Unity的时候,NGUI就已经是3.6.8版本了,对于有一些NGUI的插件,我至今都不太清楚它的用处现在我整理了网上搜来的一些控件说明,希望对大家有用: 一、UIRoot概述(原文地址:http://blog.youkuaiyun.com/huang9012/article/details/19411635)UIRoot总是放在NGUI UI层级的最上层。它用来使原创 2015-11-13 07:16:40 · 4104 阅读 · 0 评论 -
Unity编译指令
Unity includes a feature named "Platform Dependent Compilation". This consists of some preprocessor directives that let you divide your scripts to compile and execute a section of code exclusively f转载 2015-11-14 14:22:03 · 2368 阅读 · 0 评论 -
Unity着色器常用关键字及属性
看了好多次shader,不过还是感觉无从下手的去写shader,然后看shader的效果个人认为还是因为shader基础打得不够扎实,顾特意再重温shader相关书籍的时候,看见有些常用关键字时,把他记录下来希望这对学习unity shader的同学来说有些用原创 2015-11-18 17:49:14 · 5799 阅读 · 0 评论 -
编写Unity3D着色器的三种方式
本文装载于:http://liweizhaolili.blog.163.com/blog/static/1623074420151595340733/过了2个星期,又来继续说着色器了。这两个星期发生的事情有点多。不管你会不会写Unity3D的shader,估计你会知道,Unity3D编写shader有三种方式,这篇东西主要就是说一下这三种东西有什么区别,和大概是怎样用的。先来列转载 2016-01-19 23:59:32 · 4572 阅读 · 0 评论 -
Unity3d 着色器语法(Shader)
本文转载于:http://www.omuying.com/article/27.aspxShader "name" { [Properties] Subshaders [Fallback] } 定义了一个着色器。着色器拥有一个 Properties 的列表。着色器包含一个子着色器的列表(SubShaders)。并且至少包含一个(SubShader)。当加载一个着色器时,Unity 将遍转载 2016-01-20 00:05:42 · 1240 阅读 · 0 评论 -
Unity3D屏幕特效合成
屏幕合成的原理其实很简单,只是把原来屏幕渲染的东西,通过一个特定的着色器改变内容成为新的画面,然后替代了原来的画面。需要的东西有这么几样:1、一个着色器程序2、Camera.OnRenderImage(RenderTexture,RenderTexture)方法3、Graphics.Blit方法本文转载于:http://www.gopedu.com/article/1066转载 2016-01-20 00:15:05 · 994 阅读 · 0 评论 -
Unity渲染队列
老是忘记渲染队列有哪些,这东西在写shader时还是挺重要的,今天特地整理一番默认情况下,unity会根据物体与摄像机的距离来决定渲染顺序,但是在特殊情况下,我们需要控制物体的渲染顺序,这时使用Tags模块就可以了。原创 2016-01-28 16:50:24 · 4861 阅读 · 0 评论 -
Unity Shader 内置函数
编写Unity Shader时有很多内置函数,在网上查找了一些,把他们记录了下来,以供大家参考使用参考网址:http://www.cppblog.com/lai3d/archive/2008/10/23/64889.html这个是MSDN上的,DirectX Documentation里也有,其实也就是HLSL的内置函数Intrinsic Fun原创 2016-02-17 14:46:38 · 79753 阅读 · 3 评论 -
关于Unity中的_MainTex_ST的一些疑惑
本文转载于:http://blog.sina.com.cn/s/blog_471132920101dayd.html问:(1) TRANSFORM_TEX是做什么的(2)float4 _MainTex_ST 中的_MainTex_ST变量也没有用到,为啥非要声明一下?答:(1)简单来说,TRANSFORM_TEX主要作用是拿顶点的uv去和材质球的ti转载 2016-01-19 23:57:20 · 13884 阅读 · 0 评论 -
[UnityShader]渲染队列、ZWrite和ZTest
本文转载于:http://blog.youkuaiyun.com/lyh916/article/details/45317571参考链接:http://blog.youkuaiyun.com/zhuyingqingfen/article/details/18979547http://blog.youkuaiyun.com/lysc_forever/article/details/13614449h转载 2016-08-04 11:19:31 · 915 阅读 · 0 评论 -
Lua模拟C#的类继承
写Lua的都知道Lua语言本身是不提供类继承这个概念的,但是我们可以根据Lua提供的设置元方法的特性来模拟类的建立以下是我写的一个模拟C#类继承的Lua方法,即只能继承一个父类,但可以继承多个接口我这个模拟构造类时,父类一定要放在第一个参数位,后面跟着的都是接口(也可以第一个参数就是接口)构造类对象时,只会传构造参数去调用父类的构造方法,但是接口不会调用构造方法(C#接口本来就没有构造原创 2017-05-14 12:53:49 · 1455 阅读 · 0 评论 -
Unity+NGUI性能优化方法总结
原文地址:http://blog.youkuaiyun.com/zzxiang1985/article/details/433392731 资源分离打包与加载 游戏中会有很多地方使用同一份资源。比如,有些界面会共用同一份字体、同一张图集,有些场景会共用同一张贴图,有些会怪物使用同一个Animator,等等。可以在制作游戏安装包时将这些公用资源从其它资源中分离出来,单独打包。转载 2015-05-09 14:26:10 · 1613 阅读 · 0 评论 -
Unity中使用UGUI与ScrollView的练习
一、相关组件ScrollRect Mask Grid Layout Group Scrollbar 二、步骤1、创建一个Panel,命名为ScrollRect,添加 ScrollRect组件2、在ScrollRect下创建一个子Panel,命名为Grid,添加Grid Layout Group 组件3、在Grid下,创建一个Image,按Ctrl+D ,Copy出多转载 2015-05-06 20:39:32 · 61809 阅读 · 3 评论 -
Unity面试题目
本文转载于:http://bbs.9ria.com/thread-288394-1-1.html1. 请简述值类型与引用类型的区别答:区别:1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。2.值类型存取快,引用类型存取慢。3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。4.栈的内存是自动释放转载 2015-09-16 16:42:37 · 1778 阅读 · 0 评论 -
NGUI系列教程二
接下来我们创建一个Label,NGUIàOpen the Widget Wizard,打开widgetTool对话框,在Template中选择Label,确定AddTo右侧选项为panel,点击,Add To完成Label创建。1.Label属性窗口如图1.下面的节奏可能有点快,大家可以先熟悉一下上面讲的流程,再进行下面的学习。接下来我们依次创建Button和Input,因为这两个转载 2014-12-27 18:02:12 · 602 阅读 · 0 评论 -
NGUI系列教程三
接下来我们再来看Progress Bar和Slider,对比参数我们可以发现,Progress Bar和slider的明显区别在于slider多一个Thumb选项,这里的Thumb就是我们拖动的时候点击的按钮。 Empty 和Full选项其实就是前景和背景的Spirit。这里大家都已经熟悉了,我们看Slider和ProgressBar的根节点,也可以发现,Slider之比Proge转载 2014-12-27 18:03:55 · 525 阅读 · 0 评论 -
NGUI系列教程四(自定义Atlas,Font)
今天我们来看一下怎么自定义NGUIAtlas,制作属于自己风格的UI。第一部分:自定义 Atlas1 . 首先我们要准备一些图标素材,也就是我们的UI素材,将其导入到unity工程中。2. 全选我们需要用到的UI素材。选择菜单NGUI-->Open the Atlas Maker(快捷键 Alt +shift+M)。打开Atlas Maker窗口,如图我们可以看到,刚才选择的图转载 2014-12-27 19:45:39 · 689 阅读 · 0 评论 -
NGUI系列教程五(角色信息跟随)
在一些网络游戏中,我们常常可以看到角色的上方显示着角色的名称,等级,血量等信息。它们可以跟随角色移动,并且可以显示和隐藏。今天我们就来学习一下这些功能的实现方法。1. 新建unity工 程,导入NGUI插件。对于字体按钮等的制作方法参见以前的系列教程。这里我们直接开始学习制作方法。首先新建一个2DUI,设置UI的层为NGUI。新 建完成后,使用菜单NGUI -->Create a Panel转载 2014-12-27 19:53:34 · 545 阅读 · 0 评论 -
NGUI系列教程七(3D视图&ScrollView)
今天我们通过一个综合的例子来讲解NGUI的3dUI 和ScrollView。本例结合是了NGUI官方自带例子中的Example 6 - Draggable Window和Example 7 - Scroll View (Panel)两个场景的内容来讲的,帮助大家更好的理解这两个场景的内容。如果大家对这两个场景都很精通的话,可以忽略此教程。最终实现结果如下图:1.首先新建一个场景,通过菜单N转载 2014-12-28 09:01:38 · 895 阅读 · 0 评论 -
获取NGUI的输入框内容的方法
研究了一下NGUI如何获取输入框内容的方法,简单总结如下NGUI获取UIInput输入框输入内容的方法,脚本如下:using UnityEngine;using System.Collections;public class LoginController : MonoBehaviour { public UIInput usernameLabel; //用户名输入框对象原创 2014-12-28 09:35:57 · 8161 阅读 · 2 评论 -
NGUI系列教程六(序列帧动画)
今天我给大家讲一下如何使用NGUI做序列帧动画。本节主要包括两方面内容,分别是使用UIspirit和使用UITexture 做序列帧动画。废话不说了,下面开始。还要在啰嗦一句,首先大家要准备一些序列帧的素材图片,最好是大图和小图各一套。我们先来将使用UISpirit做序列帧动画,这个方法只适合使用小图。在使用UISpirit 之前大家还要把准备好的序列帧图片做成Atlas,如何做Atlas转载 2014-12-28 09:00:36 · 968 阅读 · 0 评论 -
【Unity】技巧集合
转发,请保持地址:http://blog.youkuaiyun.com/stalendp/article/details/17114135这篇文章将收集unity的相关技巧,会不断地更新内容。1)保存运行中的状态unity在运行状态时是不能够保存的。但在运行时编辑的时候,有时会发现比较好的效果想保存。这时可以在 “Hierarchy”中复制相关对象树,暂停游戏后替换原来的,就可以了。(其实这个转载 2015-04-23 16:02:44 · 2549 阅读 · 0 评论 -
unity中对象池运用
最近在研究对象池在unity中的运用对象池,通常用于在那些需要经常创建又销毁的对象比如我们场景中的小怪,经常需要创建和销毁,我们就可以在小怪销毁的时候,不真正的销毁而是,而是把它放入对象池中等到下一次我们需要创建小怪的时候,再从对象池中取出来由于对象池的对象没有真正销毁,而手机的内存又是如此宝贵,所以我们需要注意对象池中对象的数量,不然很容易就爆内存了对于对象池,我们也可以参考原创 2015-04-23 16:32:40 · 6535 阅读 · 0 评论 -
Unity寻路系统跟摄像机实战
这两天研究了一下unity的寻路系统跟摄像机的一些东西在游戏中,我们经常会用到寻路这个功能,以前的做法多数是使用A*算法而unity中自己带有了一套寻路系统供我们使用,关于这个这个用法,我们可以从《unity 4.x从入门到精通》的第九章了解到如何生成一个寻路网格本文重点是展示这个寻路系统的使用效果,结合《unity 4.x从入门到精通》上摄像机相关的知识(185-189页),来做一个原创 2015-04-21 20:05:09 · 1843 阅读 · 0 评论 -
Unity中的资源加载方法
Unity 3D里有两种动态加载机制: 一是Resources.Load; 一是通过AssetBundle; 其实两者本质上没有什么区别。Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有这么一个加载过程,只是转载 2015-04-29 17:51:54 · 17246 阅读 · 1 评论 -
AssetBundle机制相关资料收集
本文转载于http://www.cnblogs.com/realtimepixels/p/3652075.html最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化.Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resource转载 2015-04-28 17:10:39 · 1504 阅读 · 1 评论 -
Unity3D优化总结
对项目优化有很多,如:mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等,前面发过一篇【整理】unity3d优化总结篇 现在继续补上,该内容为本人经验以及网上收集整理,希望大家有更好的优化方法,能够继续跟帖,一起探讨,共同进步。优化: 1. 更新不透明贴图的压缩格式为ETC 4bit,因为android市场的手机中的GPU有多种,每家的转载 2015-09-01 14:48:30 · 2581 阅读 · 0 评论 -
【转载】Shader中为何法线转换要用视图矩阵的转逆矩阵
本文转载于:http://blog.youkuaiyun.com/christina123y/article/details/5963679许多计算都在眼睛坐标系中完成,一个常用的就是光照需要在这个空间中实现,因为眼睛位置决定了光照效果,否则的话,很难实现镜面光。因此我们需要将法线坐标转换到眼睛坐标系中。在OpenGL ES 2.0中,将一个顶点转换至眼睛坐标系中,通过:vertexEyeSpace转载 2017-06-08 00:04:32 · 2201 阅读 · 0 评论