Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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# 检查三维空间中对象的滑动_C#_Unity3d - Fatal编程技术网

C# 检查三维空间中对象的滑动

C# 检查三维空间中对象的滑动,c#,unity3d,C#,Unity3d,我正在写一个团结的游戏。基本前提是,在3d空间中,屏幕上有一些物体,你可以通过滑动来破坏它们。我已经做了大部分的硬移植,但在一些我认为应该相当简单的事情上卡住了 我已经写了一个触摸控制器,它可以显示出刷卡的开始、结束和方向。如何使用此选项检查屏幕坐标中的滑动线是否与三维空间中的对象相交?我观察过光线,但除了相机之外,我在任何地方都无法让它工作。我的对象确实有一个碰撞器,我也尝试(短暂地)使用碰撞器边界。只是似乎无法破解它 如果您有任何帮助,请使用“Camera.ViewportPointToRa

我正在写一个团结的游戏。基本前提是,在3d空间中,屏幕上有一些物体,你可以通过滑动来破坏它们。我已经做了大部分的硬移植,但在一些我认为应该相当简单的事情上卡住了

我已经写了一个触摸控制器,它可以显示出刷卡的开始、结束和方向。如何使用此选项检查屏幕坐标中的滑动线是否与三维空间中的对象相交?我观察过光线,但除了相机之外,我在任何地方都无法让它工作。我的对象确实有一个碰撞器,我也尝试(短暂地)使用碰撞器边界。只是似乎无法破解它


如果您有任何帮助,请使用“Camera.ViewportPointToRay”根据扫描的像素拍摄光线。屏幕的左下角是(0,0),右上角是(1,1)。

向我们展示一些您尝试过的代码。物理。如果你做得正确,Raycast应该可以工作。现在不行——我在工作。我试过使用屏幕到世界坐标和我正在检查的对象的深度值从输入行的开始到结束进行强制转换,但没有成功。如果没有我尝试过的例子,没有人能解释的话,我回家后会编辑这个问题。这种方法到底有什么问题?您试图光线投射到的对象是否具有碰撞器组件?是的,目标对象(用于测试的立方体)具有长方体碰撞器。我根本无法使用上面的方法让它注册任何点击。我说的“应该”有效(使用对象的Z深度从开始位置到结束位置检查光线)对吗?请确保您完全理解layermask属性在光线投射函数中的工作原理。