Unity3D发布到虚拟机(WindowsXp虚拟机),使用第一人称鼠标失灵的解决方法

  昨晚,将自己做的第一个完全不成形的Demo发布了,在安装的VMWare里运行,VMWare中安装的是纯净版的XP(Sp3),Demo的场景中使用了第一人称(First Person Controller),并修改了其中的MouseLook.cs 文件,在其代码中加入了一条语句,使得在行走时,只有按住右键(具体的是“Fire2”)才可以晃动视角,这样就实现了在场景中左键可以去点击一些物体而产生相应的功能事件。代码如下:

 

public class MouseLook : MonoBehaviour
{

    public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
    public RotationAxes axes = RotationAxes.MouseXAndY;
    public float sensitivityX = 15F;
    public float sensitivityY = 15F;

    public float minimumX = -360F;
    public float maximumX = 360F;

    public float minimumY = -60F;
    public float maximumY = 60F;

    float rotationY = 0F;

    void Update()
    {

        if (Input.GetAxis("Fire2") == 0) return;

        if (axes == RotationAxes.MouseXAndY)
        {
        }
..

但是产生了一个怪问题,未发布前在Window8.1 中运行是正常的,发布后摄像机(主角)就只能移动,却不能正常的(使用右键)转动方向了,问了群里还有同行,提出了几个观点

1)有可能是虚拟机显卡驱动或者VMTools的问题

2)有可能是代码不兼容XP

3)有可能是C#代码解析不对,可尝试转换成JS版

今天早上,又好事搜索了一下,发现了这篇贴子 “解决在VMware中Unity3D鼠标键盘响应异常问题”,照着修改了一下,代码可以正常的执行了。 感谢啊,,

2013-07-10_184610.jpg

2013-07-10_184716.jpg

 

PS:搜索时发布的不是这个作者的原创贴,那个链接中的图片已失效,但是引用的人却保留了作者的原地址,作者的链接中的图片是好用的,以后我们都要这样啊,

 

posted @ 2015-06-27 11:15  二十二号同学  阅读(...)  评论(... 编辑 收藏