碰撞在 PC 模拟器上有效,但在 android 设备上无效
Collision work on pc emulator but not on android device
我有 2 个带有对撞机的对象。球体对象("ball")应该与网格("goal")发生碰撞:
- 球体碰撞器
- 网格对撞机
它们都是非 kimetric。
我使用下一个代码:
function OnCollisionEnter(theCollision : Collision){
if(theCollision.gameObject.name == "goal" )
{
(tm.GetComponent(TextMesh) as TextMesh).text = "enter1";
forceAmount.z=-1000;
rb.AddForce(forceAmount);
}
}
代码在 unity 模拟器中运行完美
但是当我将它构建为 apk 文件并安装在我的 android 平板电脑上时,它不起作用。
谁能帮我解决这个问题?
Unity 的做法是将游戏对象设置为 Tag
。标签的使用是轻量级的,您可以从编辑器中设置标签,然后使用:
if (theCollision.gameObject.tag == "goal")
我遇到了类似的问题——在编辑器中检测到碰撞,但在 Android 中未检测到。我通过将半径从 0.5 调整到 20 来解决它。
我遇到了同样的问题,似乎 Unity 将标签部署到 android 设备时出现了一些问题。
在我的场景中,我有一个 RigidBody 和一个 PreFab(设置为触发器)。在我的代码中,我设置了 OnTriggerEnter 以检查触发的项目的标签,如果它与我的 PreFab 标签相同,我将隐藏触发的项目。
此代码在我的编辑器中完美运行,但是,当我将此解决方案部署到 android 设备时它不起作用。
在测试和修改一些东西之后,解决问题的方法是为我的 PreFab 使用 pre-defined 标签之一(而不是我使用的自定义标签 "PickUpItem")。
在我看来,unity 5 向 android 设备发送自定义标签时出现问题,但对于预设标签,它工作正常。
我在 2019 年才 运行 解决这个问题。在阅读了一些评论后,似乎仍然存在将标签部署到 Android 的错误。我正在使用
if(col.gameObject.tag == "tagName")
但我将其更改为检查 gameObject.name
并且有效。
2019 年这里出现同样的问题,是我删除了一些未使用的标签后造成的。这只是重新启动 Unity 的问题。
我有 2 个带有对撞机的对象。球体对象("ball")应该与网格("goal")发生碰撞:
- 球体碰撞器
- 网格对撞机
它们都是非 kimetric。
我使用下一个代码:
function OnCollisionEnter(theCollision : Collision){
if(theCollision.gameObject.name == "goal" )
{
(tm.GetComponent(TextMesh) as TextMesh).text = "enter1";
forceAmount.z=-1000;
rb.AddForce(forceAmount);
}
}
代码在 unity 模拟器中运行完美 但是当我将它构建为 apk 文件并安装在我的 android 平板电脑上时,它不起作用。
谁能帮我解决这个问题?
Unity 的做法是将游戏对象设置为 Tag
。标签的使用是轻量级的,您可以从编辑器中设置标签,然后使用:
if (theCollision.gameObject.tag == "goal")
我遇到了类似的问题——在编辑器中检测到碰撞,但在 Android 中未检测到。我通过将半径从 0.5 调整到 20 来解决它。
我遇到了同样的问题,似乎 Unity 将标签部署到 android 设备时出现了一些问题。
在我的场景中,我有一个 RigidBody 和一个 PreFab(设置为触发器)。在我的代码中,我设置了 OnTriggerEnter 以检查触发的项目的标签,如果它与我的 PreFab 标签相同,我将隐藏触发的项目。
此代码在我的编辑器中完美运行,但是,当我将此解决方案部署到 android 设备时它不起作用。
在测试和修改一些东西之后,解决问题的方法是为我的 PreFab 使用 pre-defined 标签之一(而不是我使用的自定义标签 "PickUpItem")。
在我看来,unity 5 向 android 设备发送自定义标签时出现问题,但对于预设标签,它工作正常。
我在 2019 年才 运行 解决这个问题。在阅读了一些评论后,似乎仍然存在将标签部署到 Android 的错误。我正在使用
if(col.gameObject.tag == "tagName")
但我将其更改为检查 gameObject.name
并且有效。
2019 年这里出现同样的问题,是我删除了一些未使用的标签后造成的。这只是重新启动 Unity 的问题。