Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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# Unity如何将一个平面分割/切片为2by2..3by3..4by4。。因此,一个并使每个瓷砖成为一个实例_C#_Unity3d - Fatal编程技术网

C# Unity如何将一个平面分割/切片为2by2..3by3..4by4。。因此,一个并使每个瓷砖成为一个实例

C# Unity如何将一个平面分割/切片为2by2..3by3..4by4。。因此,一个并使每个瓷砖成为一个实例,c#,unity3d,C#,Unity3d,我想做一个和弦演奏盒 盒子(正方形)中会有一个或多个球 正方形通常有6条边。在每一边,我想以交互方式将其除以2by2,3by3,以此类推 例如,如果我用2*2平面做一面,我的“瓷砖”总数将是24 我称分割的矩形为“平铺”。如果球与瓷砖碰撞,则会播放一些音符。这意味着我的磁贴将成为播放音符的按钮 我使用了处理,自从我听说Unity有很好的物理引擎,我就试着用Unity做我的项目。所以我对Unity和C不熟悉,但我确实懂一些编程语言 我的问题是,如何通过输入一些输入并将其作为一个实例来交互式地实时

我想做一个和弦演奏盒

盒子(正方形)中会有一个或多个球

正方形通常有6条边。在每一边,我想以交互方式将其除以2by2,3by3,以此类推

例如,如果我用2*2平面做一面,我的“瓷砖”总数将是24

我称分割的矩形为“平铺”。如果球与瓷砖碰撞,则会播放一些音符。这意味着我的磁贴将成为播放音符的按钮

我使用了处理,自从我听说Unity有很好的物理引擎,我就试着用Unity做我的项目。所以我对Unity和C不熟悉,但我确实懂一些编程语言


我的问题是,如何通过输入一些输入并将其作为一个实例来交互式地实时划分平面,以便它可以作为一个独立的按钮来工作?

最简单的方法是在长方体的六个侧面使用6个平面(带碰撞器)。 然后,您可以使用unity的
Collider.onCollisionCenter(碰撞)
方法检测碰撞,并获得球接触到飞机的
接触点。

然后可以使用
Transform.InverseTransformPoint
将该点转换为命中平面的局部空间。得到的是一种规格化点(即受平面比例的影响)。根据平面的轴,必须对x和y值进行平移,使其介于0和1之间(例如,如果轴居中,则两个轴上的值都为-0.5)

使用这些标准化坐标,您可以逻辑地“划分”平面(例如,x上0和0.5之间的命中点和y上0和0.5之间的命中点将是象限0)。这样就省去了在每个长方体侧面处理多个对象的麻烦,这些对象必须以无可见方式对齐etcpp