嘿伙计们,我和ARKit和Unity有一个小问题。
在我正在制作的游戏中,当玩家死亡时我正在重新加载我的场景,但是当重新加载场景时,所有游戏对象仍然处于与上一个会话相同的位置。我想让所有物体在重新加载场景时返回到它们的起始位置。
我看到一些关于位置和旋转的变量在代码中被标记为“静态”。我尝试更改它们但是我遇到了很多编译错误。
有没有人知道解决这个问题?
答案 0 :(得分:4)
创建此方法并在想要重置场景时调用它:
using UnityEngine.XR.iOS;
.
.
.
public void ResetScene() {
ARKitWorldTrackingSessionConfiguration sessionConfig = new ARKitWorldTrackingSessionConfiguration ( UnityARAlignment.UnityARAlignmentGravity, UnityARPlaneDetection.Horizontal);
UnityARSessionNativeInterface.GetARSessionNativeInterface().RunWithConfigAndOptions(sessionConfig, UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors | UnityARSessionRunOption.ARSessionRunOptionResetTracking);
}
答案 1 :(得分:1)
我找到了解决方案!
在"!UnityEditor"中的ARCameraManager脚本中添加这些代码行。一部分。
org.apache.commons.jelly.JellyTagException: jar:file:/D:/Softwares/buildTools/Jenkins/war/WEB-INF/lib/jenkins-core-2.84.jar!/lib/form/descriptorList.jelly:84:76: <st:include> org.apache.commons.jelly.JellyTagException: jar:file:/D:/Softwares/buildTools/Jenkins/war/WEB-INF/lib/jenkins-core-2.84.jar!/lib/form/nested.jelly:33:22: <d:invokeBody> Cannot get property 'class' on null object
at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:726)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:281)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
现在,每次重新加载场景时,所有AR元素(平面,锚点,摄像机跟踪数据)都会重置。