
unity3d
文章平均质量分 87
一片
这个作者很懒,什么都没留下…
展开
-
unity篇-官方序列化接口 ISerializationCallbackReceiver
unity篇-官方序列化接口 ISerializationCallbackReceiver 简介 官方提供的解决方案 Dictionary的序列化的泛型解决方案 简介在unity中,序列化一直是个很头疼的问题,尽管官方支持了许多类型,但一些自定义类型和常用,比如Dictionary不能序列化,让人大呼头疼。不过幸运的是,ISerializationCallbackRecei...转载 2020-01-24 11:37:50 · 2318 阅读 · 0 评论 -
【Unity】iOS状态栏的显示
iOS系统上方有一个表示时间,wifi状态,电量等等信息的状态栏。在某些app开发时需要显示这个状态栏。Unity中提供了显示状态栏的设置。具体在Player Settings的Resolution and Presentation下面Status Bar Hidden默认为true。将其设为false并选择一种Status Bar的形式(默认,半透明,不透明)设置好之后build,...转载 2020-01-17 14:48:28 · 1712 阅读 · 0 评论 -
【Unity游戏开发】你真的了解UGUI中的IPointerClickHandler吗?
一、引子 马三在最近的开发工作中遇到了一个比较有意思的bug:“TableViewCell上面的某些自定义UI组件不能响应点击事件,并且它的父容器TableView也不能响应点击事件,但是TableViewCell上面的Button等组件却可以接受点击事件,并且如果单独把自定义UI控件放在一个UI上面也可以接受点击事件”。最后马三通过仔细地分析,发现是某些自定义的UI组件实现方法的问题。通常...转载 2019-12-07 06:08:36 · 2264 阅读 · 0 评论 -
[unity3D基础知识]NGUI中深度depth和z轴关系 (转载)
问题源自一个帖子,因为上传的图比较多,就另开了这个贴写下自己的试验结果,原帖在下面链接中http://game.ceeger.com/forum/read.php?tid=8911#infoNGUI中是用depth来控制sprite显示顺序的,本来这很好用,但碰到上面帖子中的问题时却不好解决了,于是我试验了下。以下是一些总结,不对的地方请指正。下面的内容可能看起来比较绕,这样的话只需实转载 2013-07-10 02:03:55 · 3098 阅读 · 2 评论 -
[unity基础教程]操作transform.localPosition的时候请小心
移动GameObject是非常平常的一件事情,一下代码看起来很简单:transform.localPosition += new Vector3 ( 10.0f * Time.deltaTime, 0.0f, 0.0f );但是小心了,假设上面这个GameObject有一个parent, 并且这个parent GameObject的localScale是(2.0f,2.0f,2.0转载 2013-07-13 02:08:10 · 12998 阅读 · 0 评论 -
[unity基础教程]Unity3D NGUI事件 UIEvents
UIEvents-事件系统void OnHover (bool isOver):当鼠标移出或者悬停在某个碰撞器上的时候返回布尔值.在触摸设备上不会有作用.void OnPress (bool isDown):当鼠标或者触摸到碰撞器发生布尔值返回.void OnSelect (bool selected):当鼠标或者触摸从OnPress发生后的释放将会返回这个布尔值.void OnC转载 2013-07-13 00:57:02 · 1481 阅读 · 0 评论 -
[unity基础教程] Unity3D 一个物体在两个物体间移动
public var Target : Vector3; function Awake () { Target = PointA.transform.position; } function Start () { } function Update () { if (AllowMove == true) {转载 2013-07-13 02:07:19 · 5514 阅读 · 0 评论 -
C#内置事件机制在Unity3D应用
nity3D是現在越來越流行的3D遊戲引擎,它支援JavaScript,c#和Boo語言。如果你是個Unity3D的愛好者,但只會JavaScript。這裏有一篇文章關於處理事件和消息傳遞,也許更適合你。A Useful Messaging System你知道C#有一個內置的事件機制嗎?這個東東在Unity3D裏也非常好用。下面舉一個例子。 為了回應一個GameObject的事转载 2013-06-30 10:00:40 · 1540 阅读 · 0 评论 -
[unity基础教程]在Unity3D中动态创建对象和创建Prefab原型对象的三种方式
u3d里动态创建对象,需要使用prefab而创建的时候 MonoBehaviour.Instantiate( GameObject orignal) 需要一个作为原型的对象。本文提供三种方式获得prefab对象。 方式一:使用脚本的public字段直接在Project视图里找到做好的prefab,将其拖拽到指定脚本的指定public GameObject 字转载 2013-07-15 15:02:13 · 1625 阅读 · 0 评论 -
NGUI核心组件
UICamera脚本是所有功能性UI的关键组件。它的责任是向它所在的摄像机渲染出来的所有有碰撞体的对象发送NGUI事件。如果在场景中你有一个摄像机,确保它上面挂载了UICamera脚本。如果你有多个摄像机,确保至少有一个用于渲染UI的摄像机挂载了UICamera。将这个脚本挂载在场景的主摄像机上,你场景中具有碰撞和的物体就可以接收到诸如OnClick,OnHover,OnDrag等NGUI事件。转载 2013-07-16 01:39:38 · 795 阅读 · 0 评论 -
[unity基础教程]全面理解Unity加载和内存管理
最近一直在和这些内容纠缠,把心得和大家共享一下:Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质上我理解没有什么区别。Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有转载 2013-07-18 11:04:40 · 1104 阅读 · 0 评论 -
[unity基础教程]UI方案及制作细节(NGUI/EZGUI/原生UI系统)
http://blog.sina.com.cn/s/blog_5b6cb9500101bplv.html一、方案选择U3D项目的UI方案总的来说就三个,NGUI、EZGUI、用U3D原生UI。U3D官方说的新UI系统迟迟不出来,在新UI系统出来之前,任何项目使用U3D原生UI做技术方案的就是找死。那一套可以说未经过任何优化的UI系统简直要转载 2013-07-19 03:31:56 · 2324 阅读 · 0 评论 -
Unity bundle的制作和使用
Unity有个很好的功能,大致是很多专注于PC的engine没有提供的(因为没有必要),就是能加载主包外的资源,这个主包外的资源,unity把它叫做bundle。这个功能的提供,主要是在web上或者是ios、android等设备上,主包太大的话,会遇上下载主包时间太长,体验不佳;或者是有些市场直接就限制了主包的大小。制作的bundle的方式,这里只讲bundle中连scene都转载 2013-07-19 15:04:12 · 1084 阅读 · 0 评论 -
[unity基础教程]Unity3D实现动态加载游戏资源(转)
用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载。比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕。应该优先加载用户附近的场景资源,在游戏的过程中,不影响操作的情况下,后台加载剩余的资源,直到所有加载完毕。 本文包含一些代码片段讲述实现这个技术的一种方法。本方法不一定是最好的,希望能抛砖引玉。代码是C#写的,用到了Json转载 2013-07-19 14:46:06 · 1213 阅读 · 0 评论 -
[unity基础教程]关于Unity3D中Resources动态加载NGUI图片的方法!
在NGUI中有些图片我需要动态进行变更或者加载,怎么办?首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~NGUI加载图片的方法其实是加载NGUI生成的atlas,大家可以看看NGUI的图集文件(一个material、一个prefab,一张图集),我们要做的就是动态加载这个prefab(它有UIAtlas属性),然转载 2013-07-20 07:04:09 · 1162 阅读 · 0 评论 -
[unity基础教程]史上最简单效果最好的unity3D分辨率适应教程!(版本已经更新2013.5.3
版本已经更新:请查看最底部附件 注意:会持续更新 转自:http://game.ceeger.com/forum/read.php?tid=8297&fid=2你还在用NGUI的分辨率适应方式吗?你还在用2DTooKit分辨率适应方式吗?如果你还用那么说明你已经OUT啦! 下面我来讲讲这几天编写的一套分辨率适应方式,适用于任何分辨率,并且简单易上手,还支持横屏和竖屏,只需要你填写转载 2013-07-20 07:07:42 · 1561 阅读 · 0 评论 -
[unity3D基础知识]之Unity3d 旋转中Quaternion的数学知识及各个函数说明
本文介绍了四元数以及如何在OpenGL中使用四元数表示旋转。Quaternion 的定义四元数一般定义如下: q=w+xi+yj+zk其中 w,x,y,z是实数。同时,有: i*i=-1 j*j=-1 k*k=-1四元数也可以表示为: q=[w,v]其中v=(x,y,z)是矢量,w是标量,虽然v是矢量,但转载 2013-07-05 08:55:25 · 1362 阅读 · 0 评论 -
NGUI制作显示tooltip需要注意的地方
NGUI中有代码UITooltip是用来做tooltip用的。这里不展示怎么样用这个东西,因为NGUI的Example中有例子,我们来看一下其中的原理,同时也说一下几个在使用中容易发生问题的地方。内部原理:1,UICamera的FixedUpdate()每帧运行的最后,会查看在当前鼠标下是否有带collider的控件,有的话就会给该控件发OnTooltip(转载 2013-07-19 20:53:20 · 1455 阅读 · 0 评论 -
Unity利用NGUI实现自定义鼠标
Unity4.0开始支持hardware鼠标,只要在setting中配置一下相关选项就可以。同时,官方文档上也说明了,hardware鼠标跟software鼠标的某个差别在于,hardware每个不同的平台会用不同的格式,大小也是限死的。所以,software鼠标就还具备很大的价值。方法一:1、在某个UIRoot(2D)的panel下面,利用NGUI的菜单创建出一个sprite,把转载 2013-07-19 20:54:20 · 917 阅读 · 0 评论 -
让NGUI支持超链接(Hyperlink,彩色、可点击)
最近为了让NGUI支持这个功能,对NGUI内部做了一番加强,在不改变其设计思路的情况下,利用其原有的基础,加入了超链接功能,涉及的改动地方较多,无法一一叙述。文后会放出下载地址,有改动的代码,需要的可以用到自己的项目中。 改动后的功能 1、支持自定义消息。这个信息会在用户点击超链接后通过消息发送出来,用于应用代码判断超链接的性质、功能等。2、沿用Label本转载 2013-07-19 20:55:59 · 1163 阅读 · 0 评论 -
unity3d,卸载,清除原先的licence
出于各种原因,我们有可能会遇上需要卸载unity3d,重新安装一个不同版本的licence。这个时候,新unity3d会在重新安装后出现无法激活的现象。下面是相关的步骤,能解决这个问题:1,卸载unity2,删除这个文件夹WinXP/Vista: C:/Documents and Settings/All Users/Application Data/P转载 2013-07-19 20:56:43 · 11664 阅读 · 2 评论 -
[unity基础知识]之Unity3d之Vector3 学习与应用
今天的目标是Vector3 和部分 Transform。先说Vector3。首先是Vector3的中英文APIStructRepresentation of 3D vectors and points.表示3D的向量和点。This structure is used throughout Unity to pass 3D positions an转载 2013-06-30 14:00:40 · 3042 阅读 · 0 评论 -
[unity3D基础知识]之Quaternion(四元数)和旋转
本文介绍了四元数以及如何在OpenGL中使用四元数表示旋转。Quaternion 的定义四元数一般定义如下: q=w+xi+yj+zk其中 w,x,y,z是实数。同时,有: i*i=-1 j*j=-1 k*k=-1四元数也可以表示为: q=[w,v]其中v=(x,y转载 2013-07-05 02:37:11 · 18200 阅读 · 0 评论 -
Unity3D研究院之主角面朝方向一定区域内对象角度计算
转自:http://www.xuanyusong.com/archives/1977在上代码之前请大家跟我先做几个简单的练习题,角度向量的计算一定要学会,不然后面的东西会很难懂。1.已知3D坐标,和一个旋转角度,以及一段距离,求目标点的3D坐标。已知当前点为Target,目标点沿着Target的Y轴旋转30度,沿着Target的X轴延伸10米求目标点的3D坐标?转载 2013-07-26 01:47:59 · 1207 阅读 · 0 评论 -
[unity教程]游戏的物理和数学:Unity中的弹道和移动目标提前量计算
弹道计算是游戏里常见的问题,其中关于击中移动目标的自动计算提前量的话题,看似简单,其实还是挺复杂的数学。网上这方面的资料还真不多,而且都是写的含含糊糊。抽空总结一下自己的方法。讨论的前提是,假设目标是在3D空间里以匀速直线方式运动。1.直线弹道在不考虑重力和空气阻力影响的情况下,子弹的弹道呈直线运动。这种情况下,其实是个纯平面几何空间的问题,不需要微积分和线代知识。转载 2013-07-26 01:50:19 · 2916 阅读 · 2 评论 -
Unity3D 多开
有时候想做一些参考工作,就要开启两个项目彼此之间做个比较,不如多开试试,其实效果就像eclipse指定不同工作空间来多开是一样的:1.找到unity3D的快捷图标。2.右键 --> 属性3.在路径后面补上 -projectPath 就像这样ok了。转载 2013-07-27 11:27:41 · 984 阅读 · 0 评论 -
[unity基础教程]Unity3D中世界坐标转如何化成屏幕坐标?
Unity3D中世界坐标转如何化成屏幕坐标呢?使用函数:Camera.WorldToScreenPoint原型:function WorldToScreenPoint (position : Vector3) : Vector3返回值:Vector3 中 x,y是屏幕中的位置,z是坐标到摄像机的距离,屏幕左下方是(0,0),右上方是(pi转载 2013-08-03 01:24:55 · 1756 阅读 · 1 评论 -
[unity3d] iTween文档解析
AudioFrom:pitch和volum属性提供的是初始值audioTo: pitch和volum属性提供的是终结值audioUpdate:pitch和volum属性提供的是终结值 此方法用于Update()方法中CameraFadeAdd:创建一个对象可以模拟摄相机的淡入淡出。CameraFadeDepth:改变摄相机的淡入淡出深度(对象为Ca转载 2013-07-28 15:57:03 · 939 阅读 · 0 评论 -
[插件教程] Unity3D itween 缓动类简单用法解析教程插件下载
iTween.MoveBy(gameObject,iTween.Hash("delay",0,"y",0.2f,"looptype","pingpong","easetype","easeInQuad","time",.1));复制代码为例。记得放在start中。。。什么是iTween?iTween是一个动画库,用它可以轻松实现各种动画、晃动、旋转、移动、褪转载 2013-07-28 15:59:40 · 2581 阅读 · 0 评论 -
[unity基础教程] unity Mathf 数学运算(C#)
Mathf 数学运算Mathf.Abs绝对值计算并返回指定参数 f 绝对值。Mathf.Acos反余弦static function Acos (f : float) : float以弧度为单位计算并返回参数 f 中指定的数字的反余弦值。Mathf.Approximately近似static function Approximately (a转载 2013-07-28 00:26:34 · 1789 阅读 · 0 评论 -
unity 事件(委托)
头段时间做NGUI的时候,老大给我优化了很多,用到了C#的事件。由于我之前不是学C#的,下来花了点时间看了一下事件。我老大主要把事件用于对UI界面的切换。下面我们来看看代码吧。我的例子很简单的。 EventManager.cs using System;using System.Collections.Generic; public class E转载 2013-08-04 15:24:21 · 1016 阅读 · 0 评论 -
Unity3d Transform.DetachChildren使用
用处:当想销毁物体,但需保留子物体时可以这样Transform.的成员函数:分离当前物体上所有子物体[javascript] view plaincopytransform.DetachChildre转载 2013-08-03 21:42:42 · 7953 阅读 · 0 评论 -
[unity3D基础教程]Unity3D材质与着色器 Materials and Shaders
There is a close relationship between Materials and Shaders in Unity. Shaders contain code that defines what kind of properties and assets to use. Materials allow you to adjust properties and assign a转载 2013-07-27 23:55:48 · 3823 阅读 · 0 评论 -
iTween动画包教程专题
简介:如果你还不知道iTween是什么,这里就和大家简单介绍下:iTween是由官方论坛用户pixelplacement1 (论坛名)写的一个快速动画实现的辅助开发脚本.也即一个动画辅助脚本类。如果你经常使用Flash AS,你就会知道Tween这个词,AS中也有很多Tween(过渡动画)的功能代码。特点:可能很多人不理解,既然2.6版本有了动画编辑器,为什么还需要用这个动转载 2013-07-28 15:58:17 · 1420 阅读 · 0 评论 -
itween 参数类型easeTypes的显示demo
http://www.robertpenner.com/easing/easing_demo.html转载 2013-08-07 09:23:19 · 952 阅读 · 0 评论 -
[unity 基础教程]给着色器shader添加透明属性
我有个shader文件。内容如下Shader "HSB_HSV_Colorpicker" { Properties { _MainTex ("Texture", 2D) = "white" {} _HueShift("HueShift", Float) = 0} SubShader { Tags { "RenderType" = "Opaque" } CGPROGRAM翻译 2013-08-07 21:13:55 · 2466 阅读 · 0 评论 -
如何用 svn 管理 unity3d 项目
1、在Uniyt里面, Edit->project settings->editor 里面选择metafile 2、提交的时候仅提交Assets 和 ProjectSettings 两个目录下所有东西,忽略掉其他所有目录和文件 3、提交的时候.metafile也要提交OK了,你就可以用svn来做unity的版本控制了 1、在Uniyt转载 2013-08-10 16:20:44 · 893 阅读 · 0 评论 -
(转载)Unity3d事件函数
Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结。Awake当前控制脚本实例被装载的时候调用。一般用于初始化整个实例使用。Start当前控制脚本第一次执行Update之前调用。Update每帧都转载 2013-08-25 04:26:35 · 977 阅读 · 0 评论 -
Unity3D协同程序(Coroutine)
摘要下:1.coroutine, 中文翻译“协程”。这个概念可能有点冷门,不过百度之,说是一种很古老的编程模型了,以前的操作系统里进程调度里用到过,现在操作系统的进程调度都是根据 时间片和优先级来进行轮换,以前是要程序自己来释放cpu的控制权,一直不释放一直也就占用着cpu,这种要求程序自己来进行调度的编程模型应该就叫“协 程”了。协程和线程差不多,线程的调度是由操作系统完成的转载 2013-08-27 11:34:50 · 14849 阅读 · 3 评论 -
NGUI UIEventListener
UIEventListener.cs 对一些常用的事件进行了封装和继承。一,常用事件:void OnClick ():点击事件;void OnDoubleClick ():二次或多次点击事件void OnHover (bool isOver):手指覆盖事件;void OnPress (bool isPressed):手指点击事件,包含按下、抬起;isPres转载 2013-08-15 15:27:32 · 5360 阅读 · 0 评论