摘要: ”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项。例:代码:”G/通用格式”。10显示为10;10.1显示为10.1。2、 “#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。例:代码:”###.##”,12.1显示为... 阅读全文
posted @ 2014-07-23 15:24 凌霄神采奕奕 阅读(873) 评论(0) 推荐(0) 编辑
摘要: Unity 自带具有一个平面的原始对象,但一个简单的平面在2D游戏或GUI可能是有用的,在任何情况下作出一个好的开始例子。一个最小的平面包含四个顶点,界定两个三角形的边角。第一件事就是设置顶点数组。我们假设,这个平面在X和Y轴上(就是XOY平面),让参数变量确定其宽度和高度。我们将按顺序、左下角、右下角,左上角,右上角提供顶点。var vertices: Vector3[] = new Vector3[4];vertices[0] = new Vector3(0, 0, 0);vertices[1] = new Vector3(width, 0, 0);vertices[2] = new Ve 阅读全文
posted @ 2013-08-16 10:44 凌霄神采奕奕 阅读(1995) 评论(0) 推荐(0) 编辑
摘要: 让我们来一起粗步认识一下NavMesh的简单使用首先我们建立一个新场景,在新场景我们创建 一个地形或者创建一个Plane,然后在其上面用Cube或者其它的建立一些障碍物再创建自己需要为其设置自动寻路的Cube,可以为它改个名字,我们在这里将其改名为walker再创建一个walker要自动到达的位置,创建一个Cube,改名为endposition;准备工作做好了,让我一起来尝试下NavMesh打开Navigation,Windows->Navigation在Hierarchy层次窗口中将所有障碍物选上,在Navigation窗口,将Navigation Static打上勾,选择一个Navi 阅读全文
posted @ 2013-07-22 11:55 凌霄神采奕奕 阅读(1117) 评论(0) 推荐(0) 编辑
摘要: 无论是模型资源还是UI资源,最好是先把他们放在Prefab中,然后在做成Assetbundle。我们以模型来举例,Assetbundle中可以放一个模型、也可以放多个模型,它是非常灵活了那么最需要考虑的就是模型空间占用的问题。比如我们有两个完全一样的模型,但是他们身上绑定的脚本不一样,此时需要把这两个模型放在两个不同Prefab中。如下图所示,我们分别对这两个Prefab打包,我们可以清晰的看到两个相同的Prefab打包在一起只占1M空间,而将他们分别打包会占1 + 1 = 2M空间。 Prefab在打包的同时会把模型身上的所有材质、贴图、组件、脚本全部包含进去。 由此可得相同的模型尽量... 阅读全文
posted @ 2013-07-04 20:53 凌霄神采奕奕 阅读(1238) 评论(0) 推荐(0) 编辑
摘要: Unity4的Mecanim动画很早以前就有体验过,迟迟没有加到项目中有两个原因,今天写这篇博客来记录我在做的过程中遇到的一些问题。1.以前的代码代码量比较多,修改起来动的地方太多了。2.使用Mecanim动画,还得需要美术的动画做配合才行。在3.x中播放动画的时候使用Play()或CrossFade(),直接播放动画 或淡入淡出播放动画。1 animation.Play("name");2 animation.CrossFade("name");也可以使用队列播放,让动画形成一个队列。1 animation.Play("name") 阅读全文
posted @ 2013-07-04 15:20 凌霄神采奕奕 阅读(13072) 评论(2) 推荐(0) 编辑
摘要: 如何理解工具、正确使用Unity引擎确实需要讨论,在选择Unity之前你或许需要了解下这个引擎实际开发过程中的技术特点、以及适应的游戏产品类型,gamelook热心读者Fxcarl昨天就这个问题专门撰文一篇,来帮助大家了解Unity游戏开发、分享心得,推荐阅读。文/FXCarl代码驱动带来的技术题游戏碎片化。U3D 引擎有个很有力的特色,就是实时编译运行。这意味着无论在任何时候,只要按下运行图标,当前的场景就会进入可执行状态。这导致了游戏在开发的过程中经常陷入一种不应当的自信状态。同时也导致了游戏内容长期处在碎片状态下,并低估游戏功能整合时可能遇到的困难。资源管理是 U3D 引擎的一个难点。U 阅读全文
posted @ 2013-02-18 14:56 凌霄神采奕奕 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 在Inspector的数组(Array)中插入或删除数据 – 在Unity中编辑数组非常方便!——直到某一天你打算从中间删除或插入数据……这似乎是不可能完成的任务,但它确实可以完成——插入数据(复制一个数据),选中数组中的数据然后Ctrl-D(windows)、Command-D(Mac)。删除数组中间的数据:Shift-Delete两次(第一次清空数据,第二次删除数据)。在Inspector文本编辑框中换行 – Mac只需Option-Return,而Windows下这个功能……被“遗漏”了……一般情况下你需要从别的文本编辑器(例如记事本)中拷贝过来带有换行的文本——这实在有些蹩脚,于是有人 阅读全文
posted @ 2013-02-01 18:37 凌霄神采奕奕 阅读(769) 评论(0) 推荐(0) 编辑
摘要: cg的类型转换是强制类型转换,也可以是隐式转换,如果是隐式转换的话只可以从低精度转换到高精度,比如:float a = 1.0;half b = 2.0;float c = a+b;//float c = a + (float)b;flaot d = a +2.0;//编译时 2.0 做float类型;swizzle 操作符: 用于去除向量变量类型中的分量;swizzle操作符后的x y z w分别表示向量的第一个 第二个 第三个 第四个元素;所有流程控制语句的返回值都必须是bool型,不可以是0或者1;vs_2_x,vp30,vp40中profile支持for和while;禁止是用递归,保留 阅读全文
posted @ 2013-01-31 16:32 凌霄神采奕奕 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 屏幕自适应NGUI可以比较方便的实现屏幕自适应,但是它的官方教程里面针对这个问题没有详细的教程,所以可能在实现的时候会走比较多的弯路。以下是我在开发过程中找到的一个比较方便的实现方法。主要组件1. UIAnchor这个是用来确定控件在屏幕中的位置,另外有一篇教程专门讲它的功能,所有不会再赘述2. UIStretch这个是用来做缩放的组件。老版本的NGUI是集成在UIAnchor上的。新版本的UIStretch提供了4种缩放方式:Horizontal:只缩放水平方向Vertical:只缩放垂直方向Bose:缩放两个方向BasedOnHeight:基于高度等比缩放然后基于这些我自己实现了一个Bas 阅读全文
posted @ 2013-01-14 16:20 凌霄神采奕奕 阅读(4291) 评论(0) 推荐(0) 编辑
摘要: using UnityEngine;using System.Collections;public class AnimatedUVs : MonoBehaviour{ public int materialIndex = 0; public Vector2 uvAnimationRate = new Vector2( 1.0f, 0.0f ); public string textureName = "_MainTex"; Vector2 uvOffset = Vector2.zero; void LateUpdate() { uvOffset += ( uvAnimat 阅读全文
posted @ 2013-01-05 11:04 凌霄神采奕奕 阅读(779) 评论(0) 推荐(0) 编辑