分类 问题 下的文章

There are inconsistent line endings in the 'xxx' script. Some are Mac OS X (UNIX) and some are Windows.问题解决

在Window上使用Visual Studio编辑Unity3D脚本时常会出现类似如下警告:

警告 1 There are inconsistent line endings in the 'Assets/DubugTest.cs' script. Some are Mac OS X (UNIX) and some are Windows.
This might lead to incorrect line numbers in stacktraces and compiler errors. Many text editors can fix this using Convert Line Endings menu commands. 0 0 解决方案“UnityVS.TestUnityVS”?(1 个项目)

虽然不影响使用,但一堆警告信息着实让人不爽,继续往下看。

用Notepad2的“查看->显示换行编码"查看发现通过Unity3D编辑器创建的脚本文件是以"LF"结尾(Unix平台),MonoDevelop IDE创建的也是以“LF”结尾(Unix平台),而直接用Visual Studio创建的文件是以“CR LF”结尾(Windows平台)。由于换行编码不一致导致报以上警告。

解决办法

- 阅读剩余部分 -

Unity prefab实例属性不随预制源改变的问题

现象

今天遇到一个修改了prefab源的属性后,prefab实例属性不随着改变的问题。

操作步骤:

  1. 在Unity Editor中创建prefab对象Player;
  2. 托一个Player的实例p1出来;
  3. 修改Player预制对象的z属性;
  4. p1的z属性未跟着变;

在Unity组件手册中这么说的:

Inheritance 继承

Inheritance means that whenever the source Prefab changes, those changes are applied to all linked GameObjects. For example, if you add a new script to a Prefab, all of the linked GameObjects will instantly contain the script as well. However, it is possible to change the properties of a single instance while keeping the link intact. Simply change any property of a prefab instance, and watch as the variable name becomes bold. The variable is now overridden. All overridden properties will not be affected by changes in the source Prefab.

继承是指当预置源发生变化,这些变化将应用于所有已链接的游戏对象。例如,如果添加一个新的脚本到预置,所有已链接的游戏对象都将立刻包含该脚本。但是,它有可能改变一个单独实例的属性,同时保持链接。改变任何一个预置实例的属性,可以看到变量名称变为粗体,现在该变量可以被重写,所有的重写属性不会影响预置源的变化。

那么,p1.z应该随着Player.z改变才对。

解决

- 阅读剩余部分 -

解决在VMware中Unity3D鼠标键盘响应异常问题

在VMware中装了Unity,写了个Demo,用到了First Person Controller。正常效果应该是第一人称视角,方向键控制行走,鼠标控制视角。

但运行后可以行走,视角无法移动。在我另一电脑(物理机)上没问题。

找到控制视角的脚本MouseLook.cs,里面

else if (axes == RotationAxes.MouseX)
{
    print(Input.GetAxis("Mouse X"));
    transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
}

打印结果:0

鼠标位移获取始终为0,怀疑是因为虚拟机里对鼠标的搜索和物理机不同。
找到VMware设置鼠标捕获方式,如下图:

- 阅读剩余部分 -

Flex mxmlc命令行编译错误: Java heap space解决方法

用Flex mxmlc命令行编译ActionScript工程时,报如下异常:

错误: Java heap space

原因是JVM heap内存空间不足,得改一下JVM参数

mxmlc命令行编译时JVM参数设置在 sdk/bin/jvm.config中,找到下面这行:

# Arguments to VM
java.args=-Xmx384m -Dsun.io.useCanonCaches=false

-Xmx384m表示JVM在编译时可用的最大内存数,把值改大一点,我这里改成-Xmx512m问题解决