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# 精灵更换后自动重新安装BoxR2D_C#_Unity3d - Fatal编程技术网

C# 精灵更换后自动重新安装BoxR2D

C# 精灵更换后自动重新安装BoxR2D,c#,unity3d,C#,Unity3d,我有一个带有精灵渲染器和BoxCollizedR2D的预置,我在游戏中使用它来制作子弹 我为每种类型的子弹使用的精灵都有不同的大小,因此,当我实例化一个子弹时,精灵的大小与我预制的通用子弹不同,boxcollider并不总是与精灵的大小匹配 我注意到在我的游戏对象中添加boxcollider时,它会自动适应精灵。有没有办法从脚本中进行此自动调整调用?或者唯一的方法是在运行时添加碰撞器?您可以将碰撞器自动调整为精灵的大小,如下所示: renderer.bounds.size 这会给你雪碧的大小

我有一个带有精灵渲染器和BoxCollizedR2D的预置,我在游戏中使用它来制作子弹

我为每种类型的子弹使用的精灵都有不同的大小,因此,当我实例化一个子弹时,精灵的大小与我预制的通用子弹不同,boxcollider并不总是与精灵的大小匹配


我注意到在我的游戏对象中添加boxcollider时,它会自动适应精灵。有没有办法从脚本中进行此自动调整调用?或者唯一的方法是在运行时添加碰撞器?

您可以将碰撞器自动调整为精灵的大小,如下所示:

renderer.bounds.size
这会给你雪碧的大小

然后可以相应地设置当前碰撞器的大小:

 Vector3 v = renderer.bounds.size; 

 BoxCollider2D b = collider2D as BoxCollider2D;

 b.size = v;

谢谢你,这正是我需要的。为了更好地测量,我应该补充一点,如果比例不是(1,1,1)值,那么应该将边界大小除以对象的比例,以便碰撞器适合精灵大小。