Unity3d学习
yangyong0717
这个作者很懒,什么都没留下…
展开
-
关于NGUI中将Prefab拖入Hierarchy窗口出现很多UI Root的解决办法
今天将NGUI中的Prefab拖入到Hierarchy窗口时,总是出现很多的UI Root,如下图,当把Prefab Toolbar放在这个位置时:将Prefab Tool Bar拖入到Hierarchy窗口后,会出现很多UI Root如下图:解决办法1:将Prefab Tool Bar移动到能够覆盖Hierarchy窗口和Scene窗口的交界线,如下图:原创 2017-04-28 09:53:11 · 1895 阅读 · 0 评论 -
Unity在导入官方Assets出现“提示上下文不存在SessionState”问题的解决办法
我在导入官方教程里面的Survival Shooter时候出现一些问题,总是提示'UnityEditor.SessionState' is inaccessible due to its protection level.问题如下:最后解决的办法是,因为官网提供的Assets的Unity适用版本如下:最后,换了一个版本使用了Unity4.7.1,因为刚才使用的是5.5.3。重新导原创 2017-05-19 10:29:03 · 4048 阅读 · 1 评论 -
关于Unity中Rigidbody组件的各个变量的含义
刚体能让你的游戏对象被物理引擎所控制,它能通过受到推力和扭力来实现真实的物理表现效果。所有游戏对象必须包含刚体组件来实现重力、通过脚本施加力、或者与其他对象进行交互,这一切都通过NVIDIA的PhysX物理引擎来实现。属性Mass 质量,单位为Kg,建议不要让对象之间的质量差达到100倍以上Drag 空气阻力,为0表示没有阻力,infinity表示立转载 2017-05-19 15:02:59 · 10843 阅读 · 0 评论 -
Unity中移动物体的几种常用方法
简介:在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。1. 通过Transform组件移动物体 Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale)。 其实所有的移动都会导致position的改变,这里所说的通过Transform组件来移原创 2017-05-19 16:20:22 · 3387 阅读 · 0 评论 -
Unity3D的UGUI—Canvas的渲染顺序及层次关系总结
转自http://blog.csdn.net/kingsea168/article/details/50252733之前一直用NGUI开发界面,但看到现在的unity的新版本的UGUI也不错,这几天专门学习了一下,用过NGUI的人都知道NGUI的渲染顺序或者层级关系是Deapth(深度)决定,而UGUI的界面是用Canvas(画布)进行布局的,它的渲染顺序有所不同,下面我进行了总结:转载 2017-06-06 15:03:10 · 11115 阅读 · 0 评论 -
如何在Unity中使用OpenGL函数绘制动态曲线图
通常GL在Unity中的用法是1.在camera上贴脚本,并在OnPostRender()里执行。2.挂在任何GameObject上,在OnRenderObject()里执行。注意: 1.GL的线等基本图元并没有uv. 所有是没有贴图纹理影射的,shader里仅仅做的是单色计算或者对之前的影像加以处理。2.GL所使用的shader里必须有Cull off指令,否则显示会变成原创 2017-06-07 18:46:15 · 6623 阅读 · 1 评论 -
关于Unity3D的UGUI中RectTransform组件的各属性的解释
最近因为准备做一个用户操作界面,用到UGUI时候,对RectTransform中的很多属性不是很理解,有的时候需要调整很久,找到一个博客作者写的很详细,主要是把Pivot中心轴、Anchor锚点之间的联系和区别讲的很透彻,很有参考价值,分享到这里:原文链接:RectTransform组件介绍前言最近要做UI,有时候需要在代码中调整改变UI控件的属性,比如位置、大转载 2017-09-15 14:18:18 · 3705 阅读 · 2 评论 -
Unity3D中Button的按钮点击事件
Unity UGUI 按钮绑定事件的方式多种,下面介绍几种比较常见的。对于其中4种,该博客里面介绍的比较清楚,可以进行参照,原博客地址:http://www.cnblogs.com/isayes/p/6370168.html下面我原创 2017-09-15 19:27:40 · 48061 阅读 · 0 评论 -
关于Unity3D的学习平台
作为全球顶尖的游戏、AR/VR引擎开发公司, Unity坚持“Democratize Development, Solve Hard Problems, Enable Success”的三大原则,致力于将游戏开发变简单。我们提供的工具与资源包括:Unity Asset Store、Unity Cloud Build、Unity Analytics、Unity Ads、Unity Certifi原创 2017-09-10 19:29:29 · 1201 阅读 · 0 评论 -
关于Unity里面UGUI的Text字体无法显示以及尺寸无法改变的问题
UGUI的Text在使用的过程中,有一些小的细节需要注意,不然总是会出现意想不到的问题。首先如果Text的字体无法显示可能原因就是问题1:可能原因是Text设置的字体太大,超过了文本框的最大限制,这时候需要调整Font Size和Scale的尺寸,如果数值合适便会解决问题。问题2:可能原因是勾选了字体的Best Fit,会导致后面调整Font Size的大小无法改变。取消勾选,即可进行调整原创 2017-09-19 09:26:00 · 11078 阅读 · 0 评论 -
如何将Proe中的装配体导入到3DMAX
对于SolidWorks,Proe等三维造型软件,如何将装配好的组件导入到3DMAX中,并且能够进行编辑?因为SW,Proe对于建立机械模型的方便性,所以有时候需要在这些三维软件建立三维模型。但是如果对装配体进行导入总是无法达到预期的目标,导入的装配体会变成一个整体无法再分离出其中的零件。那么可行的解决的办法主要有两种,自己亲自试验了一下:方法1:如果是Proe文件,可以先将装配体导出原创 2017-09-21 18:14:33 · 7190 阅读 · 3 评论 -
Unity获取物体自身坐标轴的方向以及沿着该方向运动的方法
有时候对于一个游戏对象,需要其沿着自身的坐标轴方向进行运动,那么首先如何获取自身的坐标轴方向?获取自身的坐标轴方向可以通过transform组件进行获取(负方向加负号即可) Vector3 moveDirection = transform.right; 获取自身的x轴的方向 Vector3 moveDirection = transform.forward; 获取自身的z轴的方向原创 2017-10-27 10:51:25 · 53389 阅读 · 4 评论 -
Unity Stand Assets Example Project 里面的很多成员变量前面加m_意思?
Unity在很多时候在声明变量的时候会在前面加m_例如public Vector3 m_position;这里m_position表示是类里的成员变量,作用域是整个类.这是C#编程里约定俗成的写法,便于区分和以后的代码维护,是编程规范的一部分。并没有其它特殊含义,建议大家也按照官方的这种声明方法,便于以后进行管理。原创 2017-05-10 10:11:41 · 2265 阅读 · 0 评论 -
Unity3D中[SerializeField]特性的使用
在Unity3d中Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系。也就是说凡是显示在Inspector 中的属性都同时具有Serialize功能。1. public 变量在没有加入任何Attribute的前提下,public变量是默认被视为可以被Serialize的。所以public声明的变量在Insp原创 2017-05-09 21:50:55 · 88414 阅读 · 4 评论 -
Unity制作UI界面时,在Sprite和UITexture之间如何选择?
UITexture与Sprite的区别?UITexture的功能在屏幕显示图片和Sprite类似,但它会消耗单独的DrawCall(性能开销) 去渲染,它是独立的存在,拥有自己独立的材质球和Shader。所以它会比Sprite占用更多的内存。使用UITexture,遵循下面的规律:1. 当图片过大,不适合图集时候,考虑使用UITexture, 并要尽量保证图片大小是2的N次方,这样在U翻译 2017-04-26 15:10:39 · 3140 阅读 · 0 评论 -
Unity中关于transform.root和transform.parent的区别和联系?
最近一直不知道官方说明的transform.root返回层次最高的变换是什么意思,所以找了一些资料终于搞明白了。首先假如有A,B,C三个不同脚本,分别挂载在下面的假设条件下:1.假设你在场景中新建了个GameObject(假设名字叫RootObject),在上面挂了个脚本C。2. 然后在这个物体下面又新建了个GameObject,假设叫ChildObject1_1,并在ChildO原创 2017-05-11 15:49:55 · 13398 阅读 · 0 评论 -
Unity脚本类的继承关系
前言学习Unity开发引擎的初学者会接触大量的脚本类,而这些类之间的关系往往容易被忽略。本文对Unity引擎开发中的一些常用类及其关系进行了简单的归纳总结。转载地址:http://blog.csdn.net/duzixiUnity常用脚本类继承关系图对Unity开发稍有了解的朋友都知道,在Unity开发框架中有4个基本层次:工程(应用程序)、场景、游戏对象和组件。在脚本转载 2017-05-11 16:25:16 · 5406 阅读 · 0 评论 -
Unity动画控制组件UIPlayTween
NGUI中有Tween动画组件为什么还需要使用UIPlayTween?首先Tween不能满足游戏场景的实际需求,Tween设置比较简单但是存在一些使用的问题。例如:1. Tween动画在场景启动之后会直接进行播放,不能根据实际需求进行控制。2. 当需要对Tween动画进行事件关联的时候,Tween动画无法满足要求。鉴于上面的很多缺点,Tween动画很少单独使用,大部分情况下都是配合原创 2017-05-04 20:17:58 · 1956 阅读 · 0 评论 -
Unity3D-Certain Event
Certain Event-在满足某些条件下,由Unity自动调用的的函数,成为必然事件。下面介绍一下常用的必然事件: 名称 触发条件翻译 2017-04-23 11:45:24 · 564 阅读 · 0 评论 -
Unity协程(Coroutine)原理深入剖析
记得去年6月份刚开始实习的时候,当时要我写网络层的结构,用到了协程,当时有点懵,完全不知道Unity协程的执行机制是怎么样的,只是知道函数的返回值是IEnumerator类型,函数中使用yield return ,就可以通过StartCoroutine调用了。后来也是一直稀里糊涂地用,上网google些基本都是例子,很少能帮助深入理解Unity协程的原理的。 本文只是从Uni转载 2017-05-14 17:06:23 · 498 阅读 · 0 评论 -
Unity3D如何创建多个UIRoot?
当我们在场景中使用NGUI已经创建了3DUI和2DUI之后,如何还想再创建另外的UI,则UI选项会变化灰色而无法再次进行创建,因为默认的情况下场景中,不允许有多个UIRoot出现。而且大部分情况下也不需要多个UIRoot。如果确实需要可以通过以下方法进行解决:1. 如图出现这种情况后:2. 分别选择Hierarchy视图的UIRoot对象,在Inspector视图下面,右键点击Re原创 2017-05-06 09:42:38 · 2179 阅读 · 0 评论 -
Unity的学习步骤
在学习了基本的C#、计算机图形学等基本知识之后,如何开始学习Unity3D,搜索了一些答案归纳为这样几个阶段:初学者,先从Unity官网的视频开始看起,学习地址https://unity3d.com/cn/learn/tutorials,跟着视频做出你的第一个游戏吧,所有的资源,代码在Asset Store都可以下载到。熟练者,关注Unity圣典和Unity User Manu原创 2017-05-14 19:43:22 · 1341 阅读 · 0 评论 -
NGUI如何获取组件?
在Unity中获取UI组件的方法很多,大致常用的主要有一下几种:方法1:引用物体声明Public GameObject变量,然后在Start()等函数里面进行获取组件,代码形式 如下(以获取UIButton为例):Public GameObject targetObject;void Start(){UIButton theButtonComponent = targe原创 2017-05-06 14:48:01 · 768 阅读 · 0 评论 -
如何将UI对象的一个物体作为另一个物体的子物体?
可以利用NGUI提供的静态成员函数NGUITools.AddChild()方法,该方法可以将一个物体作为另一个物体的子物体。NGUITools.AddChild(GameObject ParentObject, GameObject ChildObject,)该方法传入两个参数,一个作为父物体,一个作为子物体。使用方法如下;using UnityEngine;using System.Colle原创 2017-05-06 20:56:40 · 1219 阅读 · 0 评论 -
NGUI中EventDelegate时间委托的使用方法
EventDelegate是用于底层进行消息传递和调用的事件委托类型,主要用于对对象事件的监听和处理。它实际上是一个能够持有对某个方法的引用的类。下面以一个UIButton的单击事件为例,将ClickTheButton挂载到EventDelegate下面进行回调。源代码如下:using UnityEngine;using System.Collections;public原创 2017-05-07 10:06:08 · 3463 阅读 · 0 评论 -
关于Unity中NGUI的相机深度问题
源自Unity3D NGUI实战教程第二章Unity场景中的每个Camera都有自己的渲染速度。在创建NGUI时,在UI Root对象下面会自动创建一个 Camera 对象,并附加UI Camera组件。其实这个相机和普通相机类似,根据其Depth的值,影响 UI 的渲染顺序。具体Camera 参数值的设置规律如下:1. 相机的Depth决定画面的顺序:高Depth相机所看到的画面永远翻译 2017-04-25 15:35:59 · 1901 阅读 · 0 评论 -
Unity关于MeshCollider碰撞体无法触发碰撞事件
Unity为对象添加网格碰撞体之后,仍然无法发生碰撞。后来发现组件的属性Is Triggle进行了勾选,取消之后能够发生正常的碰撞。//为游戏对象,添加碰撞体GameObject blank;private float moveSpeed = 1.0f; if(!blank.GetComponent()) { blank.AddC原创 2017-10-25 11:08:02 · 13218 阅读 · 0 评论