Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 如何更改光线投射的前进方向_Unity3d - Fatal编程技术网

Unity3d 如何更改光线投射的前进方向

Unity3d 如何更改光线投射的前进方向,unity3d,Unity3d,我的unity3d项目中有一个对象 不知何故,它的脸正朝着团结的方向。 所以,如果我将光线投射到“向前”,光线实际上指向对象的上方。 如果光线投射到“向下”,则光线指向对象的前方 如何纠正这一点 代码如下: function Update () { //scan var fwd = transform.TransformDirection (Vector3.down); var hit : RaycastHit; if (Physics.Raycast (tr

我的unity3d项目中有一个对象

不知何故,它的脸正朝着团结的方向。 所以,如果我将光线投射到“向前”,光线实际上指向对象的上方。 如果光线投射到“向下”,则光线指向对象的前方

如何纠正这一点

代码如下:

function Update () 
{

    //scan
    var fwd = transform.TransformDirection (Vector3.down);
    var hit : RaycastHit;
    if (Physics.Raycast (transform.position, fwd, hit, 50)) 
    {
       var distance = hit.distance;

       print('distance = ' + distance);
    }
    else
    {
        print('Raycast did not hit anything');
    }
}

我相信你必须改变物体的局部旋转,使其指向你想要的方向。我相信蓝色箭头代表前进方向

我已经编辑了我的问题。这可能会让人困惑。因此,您希望在对象的前进方向上进行光线投射,但您的代码不使用transform.forward。为什么?我可能遗漏了一些东西,但解决方案不是将对象设置为直线,使其面像应该的那样指向前方吗?我刚刚注意到unity3d中有一个全局、局部和三色箭头。现在,我选择对象,然后在全局和局部之间切换。我可以看到这个三色箭头在变化。当我切换到全局时,绿色箭头指向此方向。当我切换到本地时,绿色箭头指向该方向。现在,这个绿色箭头必须表示对象左/右/前/后的一侧。对吗?我从搅拌机里导入了这个东西。我在blender中制作,然后将其导出到.obj,然后将.obj导入unity3d项目。可能是blender中的对象位置影响了导出到.obj.casper时的三色箭头位置。是的,我已使用blender重新定向对象,以便在导入到unity时,对象的面朝向蓝色箭头指向的位置。