List
이미지 트래킹에 출력된 오브젝트의 좌표
Posted Date: 2019-03-18 7:22     Edited Date: 2019-03-19 7:24     Writer: inactive

Please provide your development details as below;

1. SDK Version:

4.1버전

 

2. Development Environment: (eg. Unity-Android, Unity-iOS, Native Android, Native iOS)

안드로이드-유니티 개발중.


3. Tracker/Scanner:

INSTANT TRACKER

 

4. License Type(Free / Pro-One Time Fee / Pro-Subscription / Enterprise):

FREE

 

5. Target Device(Optional): 

GALAXY S6 EDGE PLUS

 

현 지금 이미지트래킹으로 뽑아낸 오브젝트입니다.

 

여기서 문제가 조작키를 누르면 이미지트래킹된 바닥으로 움직이는것이 아닌.. 카메라가 기준으로 움직인다는 점입니다..ㅜㅜ

자세히는 안보이지만 첫번째 사진에는 캐릭터가 바닥 위에 Y축이 고정되어 있다가.

조작키를 누르면 카메라가 바라보는 시점을 기준으로 캐릭터 Y축이 고정이 되는것입니다...

바닥에 이미지트래킹이 된 상태에서 캐릭터가 바닥을 평지라고 인식하는 VECTOR3좌표가 없을까요? 설명이 어려울려나..

 

혹시 몰라 동영상 남길게요..

https://www.youtube.com/watch?v=WHCP4ikPrz4&t=9s

4초~13초

https://www.youtube.com/watch?v=khavGQ7Dy3c

초반게임나오는 부분


We can assist better if you attach screenshots of issues.

Posted Date: 2019-03-18 7:38     Edited Date: 2019-03-18 7:38     Writer: inactive

아까 삭제하신 질문도 보았는데 캐릭터가 어떤식으로 움직이신다는지 잘 모르겠네요. 

혹시 플레이영상 올려주실수있나요?

 

Leo

Maxst Support Team

Posted Date: 2019-03-18 7:53     Edited Date: 2019-03-18 7:53     Writer: inactive

가상버튼을 누르면 한칸한칸 0.1f만큼 이동하도록 만들었습니다.

https://www.youtube.com/watch?v=aqlrX1CD6L4

현실세계의 바닥을 평면으로 인지하고 움직이게 하고싶습니다..

Posted Date: 2019-03-19 1:41     Edited Date: 2019-03-19 3:40     Writer: inactive

ImageTracker의 Inspector 항목을 보시면 최하단에 World Center Mode라는 항목이 있습니다. 

디폴트로 CAMERA로 설정되어 있는데 TARGET으로 변경하시고 좌표를 움직이시면 됩니다. 

 

이미지 트래커블 하위에 간단하게 cube를 만들어 증강시킨 후 아래와 같은 스크립트를 적용하여

상하좌우 키를 통해 원하는 방향으로 움직이는 것을 확인하였습니다. 참고하세요. 

 

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

public class CubeControl : MonoBehaviour
{
    private float horizontal_key = 0.0f;
    private float vertical_key = 0.0f;

    //접근해야 하는 컴포넌트는 반드시 변수에 할당한 후 사용
    private Transform tr;

    //이동속도 변수
    public float moveSpeed = 0.1;

    //회전속도 변수
    public float rotateSpeed = 100.0f;
    
    // Start is called before the first frame update
    void Start()
    {
        //스크립트 처음에 Transform 컴포넌트 할당
        tr = GetComponent();
    }

    // Update is called once per frame
    void Update()
    {
        horizontal_key = Input.GetAxis("Horizontal");
        vertical_key = Input.GetAxis("Vertical");

        Debug.Log("H=" + horizontal_key.ToString());
        Debug.Log("V=" + vertical_key.ToString());

        //전후좌우 이동 방향 벡터 계산
        Vector3 moveDir = (Vector3.forward * vertical_key) + (Vector3.right * horizontal_key);

        //Translate(이동 방향 * 속도 * 변위값 * Time.deltaTime, 기준좌표)
        tr.Translate(moveDir.normalized * moveSpeed * Time.deltaTime, Space.Self);

        //Vector3.up 축을 기준으로 rotSpeed만큼의 속도로 회전 -> 마우스 회전 이벤트
        tr.Rotate(Vector3.up * Time.deltaTime * rotateSpeed * Input.GetAxis("Mouse X"));
    }
}
 

감사합니다.

 

Leo

Maxst Support Team