Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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# AR基础-控制图像跟踪预制件 我使用AR基金会,我想控制产生器预置时间线。 我正在尝试创建一个简单的AR应用程序。想象一下,我正在跟踪一个图像,其中我正在生成跟踪图像预置。假设这个预制件是一个龙的模型,在它的时间轴上有一些火的效果。我想在通过AR Foundation实例化预制时间线时控制它。例如,我希望通过单击按钮播放火灾动画_C#_Unity3d_Augmented Reality_Instantiation_Timeline - Fatal编程技术网

C# AR基础-控制图像跟踪预制件 我使用AR基金会,我想控制产生器预置时间线。 我正在尝试创建一个简单的AR应用程序。想象一下,我正在跟踪一个图像,其中我正在生成跟踪图像预置。假设这个预制件是一个龙的模型,在它的时间轴上有一些火的效果。我想在通过AR Foundation实例化预制时间线时控制它。例如,我希望通过单击按钮播放火灾动画

C# AR基础-控制图像跟踪预制件 我使用AR基金会,我想控制产生器预置时间线。 我正在尝试创建一个简单的AR应用程序。想象一下,我正在跟踪一个图像,其中我正在生成跟踪图像预置。假设这个预制件是一个龙的模型,在它的时间轴上有一些火的效果。我想在通过AR Foundation实例化预制时间线时控制它。例如,我希望通过单击按钮播放火灾动画,c#,unity3d,augmented-reality,instantiation,timeline,C#,Unity3d,Augmented Reality,Instantiation,Timeline,我可以在预置上放置一个侦听器以在运行时触发时间线吗?请问我怎么做?我是否认为我需要以某种方式与实例化的预置进行通信 这就是对象,我想在点击按钮后触发它的时间线播放 这是一个简单的代码,我想用它来控制实例化的prefab的时间线 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Playables; public class TimelineContr

我可以在预置上放置一个侦听器以在运行时触发时间线吗?请问我怎么做?我是否认为我需要以某种方式与实例化的预置进行通信

这就是对象,我想在点击按钮后触发它的时间线播放

这是一个简单的代码,我想用它来控制实例化的prefab的时间线

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Playables;

public class TimelineController : MonoBehaviour
{
    public PlayableDirector playebleDirector;

    public void Play()
    {
        playebleDirector.Play();
    }

}

如果我没弄错你的问题,你首先需要的是在场景中“预告”的东西,不管是不是龙被创造了,比如控制器。 例如,您的控制器可以负责生成龙。当您的龙繁殖时,存储该引用(
gameobjectdragon=Instantiate(dragonPreaf);
)。它也可以有你的按钮参考

这样,您可以将龙的行为添加到按钮中,如:

button.onClick.AddListener(() => { dragon.dragonSpitFire(); }); //with lambda function
button.onClick.AddListener(dragon.dragonSpitFire); //without lambda function

在“dragonSpitFire”方法中,可以放置时间线或动画开始方法,如timeline.Play()

我已经通过事件和代理解决了这个问题。所有启动的对象都订阅了事件,并触发负责播放时间线的功能。

谢谢你,洛坦,你肯定让我走上了正确的轨道。我终于通过活动和代表解决了这个问题。欢迎你的Mathef!如果有助于让更多人更快地找到答案,请记住将此答案标记为正确(左侧的勾号):D
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Playables;

public class TimelineController : MonoBehaviour
{
    public PlayableDirector playebleDirector;

    public void Play()
    {
        playebleDirector.Play();
    }

}