Exemple #1
0
    private void CreateSlide()
    {
        if (!presentationManager)
        {
            EditorUtility.DisplayDialog("Error", "please press setup button first", "OK");
            return;
        }

        CreateSlidesFolder();

        GameObject s = new GameObject(slideName, typeof(PresentationSlide));

        s.transform.SetParent(presentationManager.transform);
        Undo.RegisterCreatedObjectUndo(s, "PresentationSlide Create");
        AssetDatabase.CreateAsset(TimelineAsset.CreateInstance(typeof(TimelineAsset)), "Assets/SlidesTimeLine/" + slideName + ".playable");

        if (!playableDirector.GetComponent <Animator>())
        {
            playableDirector.gameObject.AddComponent <Animator>();
        }


        playableDirector.playableAsset = AssetDatabase.LoadAssetAtPath("Assets/SlidesTimeLine/" + slideName + ".playable", typeof(TimelineAsset)) as PlayableAsset;

        // Add Animation Track
        TrackAsset t = (playableDirector.playableAsset as TimelineAsset).CreateTrack(typeof(AnimationTrack), null, "");

        playableDirector.SetGenericBinding(t, playableDirector.GetComponent <Animator>());

        // Fetch Slides
        presentationManager.FindAllSlide();

        // Add the new timeline to presentation manager
        presentationManager.AddNewSlideTimeLine(playableDirector.playableAsset);
    }
Exemple #2
0
    public void NextMove()
    {
        var dirTime = _director.time;

        if (dirTime < 159)
        {
            foreach (var timing in _timingList)
            {
                if (timing > dirTime)
                {
                    if (_director.GetComponent <PauseController>().TimelineWasPaused())
                    {
                        Button1.SetActive(true);
                        Button2.SetActive(false);
                    }
                    _director.time = timing;
                    stopTimeline._firstTimeLineWasPaused = false;
                    _director.GetComponent <AudioSource>().Stop();
                    _director.playableGraph.GetRootPlayable(0).SetSpeed(1);

                    break;
                }
            }
        }
    }
Exemple #3
0
    public void CreateSlide(string slideName)
    {
        CreateSlidesFolder();

        GameObject s = new GameObject(slideName, typeof(PresentationSlide));

        s.transform.SetParent(transform);
        Undo.RegisterCreatedObjectUndo(s, "PresentationSlide Create");
        AssetDatabase.CreateAsset(TimelineAsset.CreateInstance(typeof(TimelineAsset)), "Assets/SlidesTimeLine/" + slideName + ".playable");

        if (!timelineDirector.GetComponent <Animator>())
        {
            timelineDirector.gameObject.AddComponent <Animator>();
        }


        timelineDirector.playableAsset = AssetDatabase.LoadAssetAtPath("Assets/SlidesTimeLine/" + slideName + ".playable", typeof(TimelineAsset)) as PlayableAsset;

        // Add Animation Track
        TrackAsset t = (timelineDirector.playableAsset as TimelineAsset).CreateTrack(typeof(AnimationTrack), null, "");

        timelineDirector.SetGenericBinding(t, timelineDirector.GetComponent <Animator>());

        // Fetch Slides
        FindAllSlide();

        // Add the new timeline to presentation manager
        AddNewSlideTimeLine(timelineDirector.playableAsset);
    }
Exemple #4
0
    private void Bind(PlayableDirector VFX)
    {
        Animator animator         = VFX.GetComponent <Animator>();
        var      animationBinding = VFX.playableAsset.outputs.First(c => c.streamName == "Animation Track");

        VFX.SetGenericBinding(animationBinding.sourceObject, animator);

        AudioSource audioSource        = VFX.GetComponent <AudioSource>();
        var         audioSourceBinding = VFX.playableAsset.outputs.First(c => c.streamName == "Audio Track");

        VFX.SetGenericBinding(audioSourceBinding.sourceObject, animator);
    }
Exemple #5
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player")
     {
         myDirector.GetComponent <PlayableAsset>();
         myDirector.Play();
     }
 }
Exemple #6
0
    // Start is called before the first frame update
    void Start()
    {
        currentDirector = currentDirector.GetComponent <PlayableDirector>();
        director1       = director1.GetComponent <PlayableDirector>();
        character       = GetComponent <CharacterScriptv1>();
        cutscene1       = GameObject.Find("Cutscene1Cameras");
        cutscene2       = GameObject.Find("Cutscene2Cameras");
        cutscene3       = GameObject.Find("Cutscene3Cameras");

        //currentDirector = director1;
    }
Exemple #7
0
    private void Start()
    {
        capsuleColl           = GetComponent <CapsuleCollider>();
        capsuleColl.isTrigger = true;

        // 다른 Scene에 있는 플레이어 GO를 찾아, 플레이어 GO를 필요로 하는
        // 타임라인(실질적으로는 Playable Director 컴포넌트)에 바인딩.
        if (GameObject.FindWithTag("Player"))
        {
            GameObject player = GameObject.FindWithTag("Player");

            // 오두막 안으로 들어가는 타임라인부터 할당.
            // 트랙 정보는 Timeline에 있기 때문에 PlayableDirector 컴포넌트에서 할당되어 있는 TimelineAsset을 가져온다.
            // PlayableAsset 클래스가 TimelineAsset의 부모(슈퍼) 클래스이기 때문에 형변환 가능.
            TimelineAsset tmp = comeIn.playableAsset as TimelineAsset;
            // PlayableDirector.SetGenericBindding(a, b) a = 오브젝트(b)를 바인딩할 트랙, b = 트랙(a)에 바인딩할 오브젝트.
            // TimelineAsset.GetOutputTrack(n) n = 타임라인에 있는 n+1번째 트랙을 반환한다. (인덱스는 0부터 시작하니깐)
            comeIn.SetGenericBinding(tmp.GetOutputTrack(2), player);

            // 오두막 밖으로 나가는 타임라인에 할당.
            tmp = comeOut.playableAsset as TimelineAsset;
            comeOut.SetGenericBinding(tmp.GetOutputTrack(0), player);

            // 보스와 닥터 타임라인에 할당.
            tmp = timeline.playableAsset as TimelineAsset;
            timeline.SetGenericBinding(tmp.GetOutputTrack(2), player.GetComponentInChildren <Camera>().gameObject);
        }

        if (comeIn.GetComponent <QuickOutline>())
        {
            leftOutline = comeIn.GetComponent <QuickOutline>();
        }
        if (comeOut.GetComponent <QuickOutline>())
        {
            rightOutline = comeOut.GetComponent <QuickOutline>();
        }

        forwardTrigger.SetActive(false);
    }
Exemple #8
0
    public void OpenAnimation(PlayableDirector dir)
    {
        if (director)
        {
            return;
        }

        director = Instantiate(dir);
        director.gameObject.SetActive(true);
        sRigidBody.useGravity    = false;
        sRigidBody.isKinematic   = true;
        sCapsuleCollider.enabled = false;
        director.Play();
        director.extrapolationMode = DirectorWrapMode.Loop;
        if (director.GetComponent <Camera>())
        {
            director.GetComponent <Camera>().enabled = false;
        }
        if (director.GetComponent <AudioListener>())
        {
            director.GetComponent <AudioListener>().enabled = false;
        }
        isAniamtion = true;
    }
Exemple #9
0
        static void DoPlayTimeline(PlayableDirector playableDirector, GameObject player)
        {
            player.SetActive(false);

            var bindingDic = playableDirector.playableAsset.outputs;

            bindingDic.ForEach(delegate(PlayableBinding playableBinding)
            {
                if (playableBinding.outputTargetType == typeof(Animator))
                {
                    if (playableBinding.sourceObject != null)
                    {
                        playableDirector.GetComponent <PlayableDirectorHelper>().BindPlayer(player);
                    }
                    playableDirector.SetGenericBinding(playableBinding.sourceObject, player);
                }
            });
        }
 // Use this for initialization
 void Start()
 {
     timeline = timeline.GetComponent <PlayableDirector>();
 }
 public override void OnPlayableCreate(Playable playable)
 {
     director = (playable.GetGraph().GetResolver() as PlayableDirector);
     events   = director.GetComponent <TimelineControllerEvents>();
 }
Exemple #12
0
 // Start is called before the first frame update
 void Start()
 {
     updatePosition = updatePosition.GetComponent <CutSceneMovement>();
     director       = director.GetComponent <PlayableDirector>();
 }
Exemple #13
0
 void OnEnable()
 {
     _mainAudioSource = director.GetComponent <AudioSource>();
     _pauseController = director.GetComponent <PauseController>();
 }
Exemple #14
0
 void OnEnable()
 {
     _pauseController = director.GetComponent <PauseController>();
 }