地表のオブジェクトをタッチで移動させるサンプルソースです。
currentPosition.y = 1f;
の部分でオブジェクトのy位置(高さ)は固定しています。
using UnityEngine;
using System.Collections;
public class TouchMove: MonoBehaviour {
private Vector3 objectPosition;
private Vector3 mouseOffset;
void OnMouseDown() {
this.objectPosition = Camera.main.WorldToScreenPoint(transform.position);
this.mouseOffset= transform.position - Camera.main.ScreenToWorldPoint
(new Vector3(Input.mousePosition.x, Input.mousePosition.y, objectPosition.z));
}
void OnMouseDrag() {
Vector3 currentMousePosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, objectPosition.z);
Vector3 currentPosition = Camera.main.ScreenToWorldPoint(currentMousePosition) + this.mouseOffset;
currentPosition.y = 1f;
transform.position = currentPosition;
}
}
メインカメラのアングルはXを水平にZを垂直に見えるようにしてください。
0 件のコメント:
コメントを投稿