-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
changing transform doesn't work. Do you have any idea?
Move my gameObject up from existing position in AR world but none of it works.
I'm trying to do transform.DOMove(....) to move the gameObject up AR World. I also tried changing the localposition
But none of that works. Object ie. prefab stays at same position.
How do we move the object that's instantiated in AR World?
I have commented the code in which I'm also directly modifying the transform but doesn't work either.
DOTween is free Tweening package to Tween an Object
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.iOS;
using DG.Tweening;
using UnityEngine.UI;
public class TestHitControl : MonoBehaviour {
public GameObject obj;
private UnityARSessionNativeInterface m_session;
// Use this for initialization
void Start () {
DOTween.Init(false, true, LogBehaviour.ErrorsOnly);
m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface ();
}
// Update is called once per frame
void Update () {
if (Input.touchCount > 0) {
if (Input.GetTouch (0).phase == TouchPhase.Began) {
createGameObject ();
}
}
}
void createGameObject(){
Vector3 screenPos = Camera.main.ScreenToViewportPoint (Input.GetTouch (0).position);
ARPoint point = new ARPoint{ x= screenPos.x,y=screenPos.y };
ARHitTestResultType[] resultTypes = {
ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent,
// if you want to use infinite planes use this:
//ARHitTestResultType.ARHitTestResultTypeExistingPlane,
ARHitTestResultType.ARHitTestResultTypeHorizontalPlane,
ARHitTestResultType.ARHitTestResultTypeFeaturePoint
};
foreach (ARHitTestResultType resultType in resultTypes)
{
List<ARHitTestResult> hitResults = m_session.HitTest (point, resultType);
if (hitResults.Count > 0) {
GameObject currentObj = GameObject.Instantiate (obj);
currentObj.transform.position = UnityARMatrixOps.GetPosition (hitResults [0].worldTransform);
currentObj.transform.rotation = UnityARMatrixOps.GetRotation (hitResults [0].worldTransform);
currentObj.transform.LookAt (new Vector3(Camera.main.transform.position.x, currentObj.transform.position.y, Camera.main.transform.position.z));
myText.text = currentObj.transform.position.ToString();
StartCoroutine(SlideUp(currentObj));
//new WaitForSeconds(10f);
//obj.transform.DOMove(currentObj.transform.position + (Vector3.up * 100), 10);
}
}
}
IEnumerator SlideUp(GameObject currentObj) {
yield return new WaitForSeconds(1f);
obj.transform.DOMove(currentObj.transform.position + (Vector3.up * 100), 10);
}
}
Metadata
Metadata
Assignees
Labels
No labels