我正在制作一个使用可选ARCore的应用程序。这意味着我在运行时启用和禁用了ARCore设备。我注意到,即使您禁用并重新启用了ARCore设备,检测到的表面仍将存在。
是否可以重置检测到的表面数据?我希望用户每次打开AR内容都重新开始。
我在其他线程中找到了答案,但是所有这些都涉及从ARCore设备上强行销毁ARCoreSession脚本,然后将脚本重新添加回它。这似乎..愚蠢和低效。
答案 0 :(得分:0)
使用ARCore删除场景中仅检测到的平面(不破坏并重新创建ArSession
)不是一个好习惯。替代方法是删除所有ArAnchors
个旨在容纳Renderables
的内容。尽管最可靠的方法是销毁当前的ArSession
并重新创建一个新的# Karatsuba multiplication implementation in python
import numpy as np
import sys
def algo_recurs(val1, val2):
sys.setrecursionlimit(sys.getrecursionlimit() + 1) # Changes the recursion limit every time
n = len(str(val1))
#print(n)
divVal = 10**(n/2)
a = val1 / divVal # a = 12
b = val1 % divVal # b = 34
c = val2 / divVal # c = 43
d = val2 % divVal # d = 21
if(len(str(val1)) == 2):
prob1 = a * c
prob2 = b * d
prob3 = (a+b)*(c+d) - prob1 - prob2
finalResult = prob1*(divVal*divVal)+prob3*divVal+prob2
return(finalResult)
else:
prob1 = algo_recurs(a,c)
prob2 = algo_recurs(b,d)
prob3 = algo_recurs((a+b),(c+d)) - prob1 -prob2
finalResult = prob1*(divVal*divVal)+prob3*divVal+prob2
return(finalResult)
multiplicand = int(input("Enter the multiplicand:"))
multiplier = int(input("Enter the multiplier:"))
output = algo_recurs(multiplicand, multiplier)
print(output)
。
有关更多详细信息,请参见此GitHub问题#253:Clear Planes and Anchors。
和...
查看StackOverflow帖子How to remove all planes in ARCore了解更多信息。