到目前为止,我的ARCore项目将视频始终一致地显示在图像之上,但是为了更深入地了解,我希望能够将3D对象和静止图像也融合在一起。例如,对于具有三个扫描图像点的海报,我想让一个播放视频,另一个显示一个立方体,第三个显示一个图像。 多种显示器,用于显示不同的对象。我的问题是我似乎无法集成简单的多维数据集,我认为这是因为:
-我的可视化器对象是一个Quad,并且涉足对象的位置
-considering it is added to the visualizer prefab
无法正确调用我的多维数据集预制对象-此外,我似乎无法称呼图像而不是视频,这就是我对此缺乏知识。
我的AugmentedImageVisualizer似乎很适合视频播放:
import matplotlib.pyplot as plt
fig, axs = plt.subplots(...)
# ...
fig.suptitle("your title")
AugmentedImageController非常简单,但是我还没有进行任何编辑来适应3D对象的添加:
public class AugmentedImageVisualizer : MonoBehaviour
[SerializeField] private VideoClip[] _videoClips;
public AugmentedImage Image;
public GameObject[] Models;
private VideoPlayer _videoPlayer;
void Start()
{
_videoPlayer = GetComponent<VideoPlayer>();
_videoPlayer.loopPointReached += OnStop;
}
private void OnStop(VideoPlayer source)
{
gameObject.SetActive(false);
}
void Update()
{
if (Image == null || Image.TrackingState != TrackingState.Tracking)
{
Models[Image.DatabaseIndex].SetActive(false);
return;
}
if (!_videoPlayer.isPlaying)
{
_videoPlayer.clip = _videoClips[Image.DatabaseIndex];
_videoPlayer.Play();
Models[Image.DatabaseIndex].SetActive(true);
}
transform.localScale = new Vector3(Image.ExtentX, Image.ExtentZ, 1);
}
想知道是否可以添加多个可视化工具,可以向其中添加新的对象,视频和图像。 (例如视频已在项目中的方式) Goal is to allow adding extra files to display on visualizer
我在想一种方法,可以将Visualizer脚本制作为空白,并为视频调用一个四边形,为一个添加了3D对象的空白,为图像调用另一个四边形。但这感觉正在偏离我到目前为止的水平。
不确定哪种路径可行,请使用一个AugmentedImageVisualizer,或者是否可以创建多个用于显示不同对象的Visualizer。如何使其更具模块化,以便显示其他媒体,但仍保留添加和删除视频,对象和图像的功能,并保持锚定顺序
答案 0 :(得分:0)
我假设您正在将资产中的预制件设置为AugmentedImageVisualizer类,是否尝试实例化它们?
默认的ARCore增强型不从资产分配预制件,脚本位于带有3D对象的预制件中。
还尝试将对象移动到图像的中心,因为您可能会将对象投射到远离视图的地方。
对不起,我的英语。
示例:
将其放在模型中每个项目的开始空白处。
GameObject.Instantiate(Models[Image.DatabaseIndex], Image.CenterPose.position, new Quaternion());