03 2016 档案
摘要:在Unity中StartCoroutine/yield return这个模式到底是怎么应用的? 比如你要一个方法进行一个比较耗时的复杂运算~同时又想让脚本流畅的进行其他操作而不是卡在那里等该方法执行完毕;这个时候你就可以创建一个协同程序来调用该方法。 一个协同程序在执行过程中,可以在任意位置使用yi
阅读全文
摘要:回到 Animator深入系列总目录 测试Unity版本为5.2.1 人形动画的接口都有标注 本列表不包含所有标注为过时的方法 1.Vector3 angularVelocity { get; } [人形动画]获得Avatar相对于最后一帧的角速率 2.bool applyRootMotion {
阅读全文
摘要:NGUI多分辨率下完美分布式协同开发:不同分辨率下相对于屏幕坐标的Perfab数据不再丢失 NGUI多分辨率下完美分布式协同开发不同分辨率下相对于屏幕坐标的Perfab数据不再丢失 开发问题 原因分析 案例 完美过程 案例分析 实现过程 NGUI多分辨率下完美分布式协同开发不同分辨率下相对于屏幕坐标
阅读全文
摘要:游戏目录结构之最佳实践 前置条件 1.多人协作开发,git管理 2.游戏不大,所有Scene合并到一起Scene中,eg.RoleScene、MapScene、StoreScene 3.Master一人管理Scene,防止多人修改产生主场景(二进制)产生冲突 目标 1.多人并行开发,互不干扰影响 2
阅读全文
摘要:Unity3D的特殊目录名称 Unity预留了一些目录名称,这些目录有着特殊的含义。比较重要的有: Resources这个目录下的所有文件都会被打包到发布版本中,程序可以通过文件路径来访问它们。这个太有用了,像RPG游戏里面很多策划编辑的数据都可以保存到这里。可以使用UnityEngine.Reso
阅读全文
摘要:首先需要声明的是“语法糖”这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换;而且可以提高开发编码的效率,在性能上也不会带来损失。这让java开发人员羡慕不已,呵呵。 1. 经过简化的Property 早些时候我们这样声明Property 千篇一律的这样声明,没有多大意义,
阅读全文
摘要:通常你会发现你不能修改正在使用的那些类,无论它是基础的数据类型还是已有框架的一部分,它提供的方法让你困苦不堪。不过。。C# 提供了一种巧妙的方式来让你扩充已有的类,也就是我们今天要讲的扩展方法。 扩展方法由于很方便而被经常使用到,我们更愿意叫他语法糖豆(syntactic sugar),一个实用样例
阅读全文
摘要:1 //父子节点相关的: 2 parent 变量表示Transform的父节点 3 root 表示它的根节点,如果没有父节点,它会返回自己 4 //根据名字查找子节点 5 Transform Find(string name) 6 //判断该Transform是否某Transform的子节点 7 bool IsChildOf(Transform node) 8...
阅读全文
摘要:1 //创建一个名为"Player"的游戏物体 2 //并给他添加刚体和立方体碰撞器. 3 player=new GameObject("Player"); 4 player.AddComponent("Rigidbody"); 5 player.AddComponent("BoxCollider"); 6 7 //创建一个没有名称的游戏物体 8 //并给他添加...
阅读全文
摘要:如何在Unity中实现全局管理类?由于Unity脚本的运行机制和面向组件编程(COP)的思想,实现起来和普通的方式略有差别。 第一种方式是使用静态类。适合存储一些全局的变量,如游戏当前关卡、玩家得分等。实现方式和普通的C#静态类没有差别。注意使用静态类就没有必要继承MonoBehaviour了。 如
阅读全文
摘要:unity3d打包的所有文件是会被记录而且被排序的。所以这大大方便了我们分析为何打包文件如此之大,以及怎么减少打包文件。 Textures 176.1 mb 70.1% Meshes 7.7 mb 3.0% Animations 14.1 mb 5.6% Sounds 12.4 mb 4.9% Sh
阅读全文
摘要:Spine效率低 Unity项目加载spine动画,经常会出现卡顿的情况,如游戏中瞬间播放一个动画,打开一个带spine动画的界面。尤其是SkeletonRenderer.Awake时,会瞬间出现大量的GC Alloc,造成瞬间的卡顿,像我们游戏一个角色动画的时间在100~200ms 原因分析 原来
阅读全文
摘要:unity添加新脚本的时候,可以定制【开发者姓名】【开发日期】【文件描述】【版权声明】等,省的到时候不知道谁写的,也没有个描述,关键是TNND连个背锅的人都没有 其实unity已经给我们提供了新建脚本的模板,非常的简单,只需要简单的修改下模板即可 步骤如下: 1. 修改模板内容如下: Unity.a
阅读全文
摘要:游戏发布,语言本地化需要繁体中文和简体中文 iOS8版本之前没问题,iOS9上无法正常识别这两种语言 原因是在iOS9上,Unity通过Application.systemLanguage返回的简体中文和繁体中文都是SystemLanguage.Chinese,真尼玛坑爹啊,摔手机砸电脑~ 亲测Un
阅读全文
摘要:Tags和Layers分别表示是Unity引擎里面的标签和层,他们都是用来对GameObject进行标识的属性,Tags常用于单个GameObject,Layers常用于一组的GameObject。添加Tags和Layers的操作如下: "Edit" -> "Project Settings" ->
阅读全文
摘要:前置说明: 我们用来做sprite 的图片,通常会留有很多空白的地方,我们在画完了sprite之后,这些地方很可能就没有什么作用了。如果想避免这些资源上的浪费,我们可以把各个sprite做成图集,把图片上的空间尽量利用得充实一点。这时候,我们就需要一个制作图集的工具。 其实这个功能要自己写也不难的,
阅读全文
摘要:GameObjectFindTransformFind查找游戏对象 前置条件 相关API 1 GameObjectFind 2 TransformFind 3 其他查找 实际测试 即使隐藏root节点gameObject也能进行查找的方法 GameObjectFindTransformFind查找游
阅读全文
摘要:gameObject.renderer.enabled //是控制一个物体是否在屏幕上渲染或显示 而物体实际还是存在的 只是想当于隐身 而物体本身的碰撞体还依然存在的 GameObject.Destroy() //表示移除物体或物体上的组件 代表销毁该物体 实际上该物体的内存并没有立即释放 而是在你下下个场景中槽释放内存资源,就是你a场景中Destroy了 一般是在c...
阅读全文
摘要:1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 namespace CSharpTest 5 { 6 struct Dog 7 { 8 public int _nFeet; 9 public string _sound; 10 ...
阅读全文
摘要:C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。 Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示
阅读全文
摘要:一、概念 当const在函数名前面的时候修饰的是函数返回值。 当const在函数名后面表示是常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。 二、原理: 我们都知道在调用成员函数的时候编译器会将对象自身的地址作为隐藏参数传递给函数,在const成员函数中,既不能改变thi
阅读全文
摘要:1、非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误)2、表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中, 任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用);3、唯一的例外是对于mutable修饰的成员。 加了
阅读全文
摘要:转自:http://blog.csdn.net/justlovepro/archive/2007/11/02/1863734.aspx 有这么几点不同: 1.struct 是值类型,class是对象类型 2.struct 不能被继承,class可以被继承 3.struct 默认的访问权限是publi
阅读全文
摘要:class和struct最本质的区别是class是引用类型,而struct是值类型,它们在内存中的分配情况有所区别。 什么是class? class(类)是面向对象编程的基本概念,是一种自定义数据结构类型,通常包含字段、属性、方法、属性、构造函数、索引器、操作符等。在.NET中,所有的类都最终继承自
阅读全文