Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
C# I';我想把光线投射到一个由x轴和z轴产生的假想平面上_C#_Unity3d - Fatal编程技术网

C# I';我想把光线投射到一个由x轴和z轴产生的假想平面上

C# I';我想把光线投射到一个由x轴和z轴产生的假想平面上,c#,unity3d,C#,Unity3d,我有我的编辑器相机,我想在它正在看的地方生成对象,以及在实例化基本体时由unity完成。我理解您问题的标题,您希望从场景视图相机对穿过世界原点的全局XZ轴进行光线投射,并将对象放置在命中位置 找到“编辑”或者更好的说是可以使用的SceneView摄像头 然后,如果要从中创建光线,请使用,例如,如果要考虑鼠标位置,请使用 var ray = camera.ScreenPointToRay(Input.mousePosition); 或者仅仅是摄像机矢量 或者,如果您是从内部调用此功能,您也可以使

我有我的编辑器相机,我想在它正在看的地方生成对象,以及在实例化基本体时由unity完成。

我理解您问题的标题,您希望从场景视图相机对穿过世界原点的全局XZ轴进行光线投射,并将对象放置在命中位置

找到“编辑”或者更好的说是可以使用的SceneView摄像头

然后,如果要从中创建光线,请使用,例如,如果要考虑鼠标位置,请使用

var ray = camera.ScreenPointToRay(Input.mousePosition);
或者仅仅是摄像机矢量

或者,如果您是从内部调用此功能,您也可以使用

然后,对于针对全局XZ平面的光线投射,可以使用数学模型

然后可以使用


据我所知,您想从场景视图摄影机对穿过世界原点的全局XZ轴进行光线投射,并将对象放置在命中位置

找到“编辑”或者更好的说是可以使用的SceneView摄像头

然后,如果要从中创建光线,请使用,例如,如果要考虑鼠标位置,请使用

var ray = camera.ScreenPointToRay(Input.mousePosition);
或者仅仅是摄像机矢量

或者,如果您是从内部调用此功能,您也可以使用

然后,对于针对全局XZ平面的光线投射,可以使用数学模型

然后可以使用


我找到了解决问题的办法,但最终我不需要这么做

要回答您的问题:


请更具体地说明你到底想达到什么目的。。e、 g.在>前繁殖,具体哪个摄像头?“前面”有多远

我需要在XZ平面和来自编辑器视图相机的光线投射快照的交点处实例化我的机器人预制,无论它有多远


是的,正如雨果在先前的回答中所说,我成功地使它发挥作用。

我找到了解决问题的方法,但最终我不需要这样做

要回答您的问题:


请更具体地说明你到底想达到什么目的。。e、 g.在>前繁殖,具体哪个摄像头?“前面”有多远

我需要在XZ平面和来自编辑器视图相机的光线投射快照的交点处实例化我的机器人预制,无论它有多远


是的,正如雨果在之前的回答中所说,我成功地使它发挥作用。

到目前为止,你都尝试了什么?你能提供代码片段吗?另外,我要说清楚,你是在编辑器模式下创建对象,还是在游戏模式下创建对象?@HighedBagel我到目前为止还没有尝试过任何东西。仍然在收集关于如何做的信息。我正在做的是从URDF文件导入机器人,一切正常,但我需要在某处实例化我的机器人,我想在编辑器的摄像机前实例化它编辑:我可能发现了一些东西。我将尝试将:与“Camera.current”一起使用。请更具体地说明您试图实现的目标。。e、 g.在哪个摄像机前产卵?“在前面”有多远?到目前为止你试过什么?你能提供代码片段吗?另外,我要说清楚,你是在编辑器模式下创建对象,还是在游戏模式下创建对象?@HighedBagel我到目前为止还没有尝试过任何东西。仍然在收集关于如何做的信息。我正在做的是从URDF文件导入机器人,一切正常,但我需要在某处实例化我的机器人,我想在编辑器的摄像机前实例化它编辑:我可能发现了一些东西。我将尝试将:与“Camera.current”一起使用。请更具体地说明您试图实现的目标。。e、 g.在哪个摄像机前产卵?“前面”有多远?
var ray = new Ray(camera.transform.position, camera.transform.forward);
var ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);
// Creates a XZ plane going through world origin
var plane = new Plane(Vector3.up, Vector3.zero);
if(plane.Raycast(ray, out var distance)
{
    var hitPoint = ray.GetPoint(distance);

    // Spawn your object and set its position to hitPoint
}