作者存档: 朱坤乾 - 第29页

对unity3d弱智的js编辑器无语了

变量大小写都无法自动检测出来。

unity3d awake与start的区别

awake与start的共同点是都只会被调用一次。

awake调用在start之前,所有game object初始化完成后,调用awake,调用顺序是随机的。

所以awake的作用是设置game object之间的关联。

unity3d js优化

1、unity3d中,变量应该使用静态类型,避免使用动态类型,这一点可以提供20倍的效率。

2、为了避免开发人员一不小心使用动态类型,unity3d中提供#pragma strict,用来强制使用静态类型,当使用动态类型时会提供编译错误。

3、缓存已经查找的组件:

例:下面一段代码很普通。

function Update () {
transform.Translate(0, 0, 5);
}

实际上修改一下,可以更高效:

private var myTransform : Transform;
function Awake () {
myTransform = transform;
}

function Update () {
myTransform.Translate(0, 0, 5);
}

这种改动,能压榨出最后一点性能。但这种改动,有时候并不能取到非常明显的效果。这种优化可取也可不取。

4、使用固定长度的数组。

unity3d中arrayList及array拥有可变长度特性,这种特性在游戏中并不是很合适。

unity3d中推荐使用固定长度集合,在开发中基本可以推算出所需要的最大长度。指定长度后,遍历的速度基本是线性的。

5、避免执行不必要的操作。

简单来说,就是如果一个对象,已经不在可视范围之内,附加在该对象上的代码完成没有必要执行。

unity3d提供了3种方式

1)使用OnBecomeVisible()及OnBecomeUnvisible()

function OnBecameVisible () {
enabled = true;
}

function OnBecameInvisible () {
enabled = false;
}

这种方式的缺点是,在某些情况,当对象从屏幕上不可见之后,依旧希望AI继续执行。

2) 使用OnTriggerEnter() 及OnTriggerExit()

function OnTriggerEnter (c : Collider) {
if (c.CompareTag(“Player”))
enabled = true;
}

function OnTriggerExit (c : Collider) {
if (c.CompareTag(“Player”))
enabled = false;
}

这种方式就比较合适一些,当玩家靠近时,才开始进行计算,当玩家远离后,就不会再被执行。

3) 这种就简单了,使用 yield 每次暂停5秒。

 

unity3d daltaTime

Time.deltaTime是上一次frame完成需要的时间。

也即每次调用时间隔的时间。因为每frame都会被调用一次。

3ds max模型导入unity3d

导入后的文件没有对应的材质。

在网上搜索了一下资料,看到普遍提供的解决方案是在unity3d中自己手动再设置一遍材质。

unity3d js 编辑器

推荐:

http://www.arsoftware.co.uk/products/unityscript-editor

 

拥有语法提示等功能,比unity3d自带的编辑器强不少。

在局域网上根据IP反查计算机名

nbtstat -A IP地址

unicode中的字节顺序标记。

字节顺序标记

您在使用 Unicode 时另一个常出现的概念是字节顺序标记。BOM 用于指示处理器如何将连续文本置于字节序列中。如果将最不重要的字节置于初始位置,这称为 “little-endian”;如果将最重要的字节置于初始位置,此方法称为 “big-endian”。BOM 也可用作识别文本文件编码的参考。例如,记事本根据保存文件时所用的编码,将 BOM 添加到每个文件的开头。此签名将允许记事本在稍后重新打开该文件。表 2 显示了各种编码的字节顺序标记。UTF-8 BOM 标识编码格式而非文档的 BOM – 因为每个字符由一个字节序列表示。

表 2:特定编码的字节顺序标记 (U+FEFF) 的二进制表示。

0x2029段落分隔符

今天在UMD中看到出现了0x2029这个字符,这个字符是unicode中用来做段落分隔符,平时使用较多的是行分隔符’\n’,在此mark一下。

 

  • 新行(换行)符 ('\n')、
  • 后面紧跟新行符的回车符 ("\r\n")、
  • 单独的回车符 ('\r')、
  • 下一行字符 ('\u0085')、
  • 行分隔符 ('\u2028') 或
  • 段落分隔符 ('\u2029)。

UMD电子书格式

UMD手机电子书格式,是Universal Mobile Document的简称。因其压缩比例高,支持多种功能,很多电子书被做成UMD格式