Example #1
0
    // 스테이지 생성 준비작업
    public void LoadStage(StageTargetType stageTargetType_)
    {
        if (stage != null)
        {
            return;
        }
        SetStageTargetType(stageTargetType_);

        // 원점에 스테이지 객체 생성. 어차피 타겟 오브젝트를 원점으로 사용할 것이므로 타겟 하위에 생성하지는 않는다.
        // AR 타겟의 추적 상태가 먼저 바뀌고 스테이지가 생성되는 것 막기 위해 스테이지를 명시적으로 먼저 생성
        GameObject obj = Instantiate(
            prefabStage
            , Vector3.zero
            , Quaternion.identity) as GameObject;

        stage = obj.GetComponent <Stage>();

        stage.SetVisible(false); // 안보이는 상태로 생성 후, 마커 추적이 가능해지면 보임

        // AR 타겟 생성
        if (stageTargetEventHandler != null)
        {
            stageTargetEventHandler.BuildNewTarget(stageTargetType);
        }

        SetState(State.Stage);
    }
Example #2
0
 // 스테이지 상태 변경, 씬 오브젝트 정리
 private void SetStageTargetType(StageTargetType stageTargetType_)
 {
     if (stageTargetType == stageTargetType_)
     {
         return;
     }
     stageTargetType = stageTargetType_;
 }
 // 타입에 따른 템플릿 구하기
 private ImageTargetBehaviour GetTargetTemplate(StageTargetType stageTargetType)
 {
     if (stageTargetType == StageTargetType.Normal)
     {
         return(targetTemplate_Normal_Extended);
     }
     else if (stageTargetType == StageTargetType.Large)
     {
         return(targetTemplate_Large_Extended);
     }
     else
     {
         return(null);
     }
 }
    // 새 타겟을 생성한다.
    public void BuildNewTarget(StageTargetType stageTargetType)
    {
        if (trackable != null)
        {
            Debug.Log("Target already created");
            return;
        }

        // 타겟 종류에 따른 템플릿 선택
        ImageTargetBehaviour targetTemplate = GetTargetTemplate(stageTargetType);
        if (targetTemplate == null) { return; }

        // 타겟 생성 시도
        lastTargetType = stageTargetType;
        string trackableName = targetTemplate.TrackableName;
        // Debug.Log("BuildNewTarget " + trackableName + " size:" + targetTemplate.GetSize());
        mTargetBuildingBehaviour.BuildNewTarget(trackableName, targetTemplate.GetSize().x);
    }
    // 새 타겟을 생성한다.
    public void BuildNewTarget(StageTargetType stageTargetType)
    {
        if (trackable != null)
        {
            Debug.Log("Target already created");
            return;
        }

        // 타겟 종류에 따른 템플릿 선택
        ImageTargetBehaviour targetTemplate = GetTargetTemplate(stageTargetType);

        if (targetTemplate == null)
        {
            return;
        }

        // 타겟 생성 시도
        lastTargetType = stageTargetType;
        string trackableName = targetTemplate.TrackableName;

        // Debug.Log("BuildNewTarget " + trackableName + " size:" + targetTemplate.GetSize());
        mTargetBuildingBehaviour.BuildNewTarget(trackableName, targetTemplate.GetSize().x);
    }
 // 타입에 따른 템플릿 구하기
 private ImageTargetBehaviour GetTargetTemplate(StageTargetType stageTargetType)
 {
     if (stageTargetType == StageTargetType.Normal)
     {
         return targetTemplate_Normal_Extended;
     }
     else if (stageTargetType == StageTargetType.Large)
     {
         return targetTemplate_Large_Extended;
     }
     else
     {
         return null;
     }
 }