回答編集履歴
1
質問者コメントを受けて参考画像、スクリプト、動画へのリンクを追記しました。
answer
CHANGED
@@ -1,1 +1,38 @@
|
|
1
|
-
基点にしたい位置に空のゲームオブジェクトを配置し、そのオブジェクトの位置とキューブとの相対座標を取るのが簡単だと思います。
|
1
|
+
基点にしたい位置に空のゲームオブジェクトを配置し、そのオブジェクトの位置とキューブとの相対座標を取るのが簡単だと思います。
|
2
|
+
|
3
|
+
|
4
|
+
### 質問者コメントを受けて追記
|
5
|
+
|
6
|
+
空のゲームオブジェクトを基点とする位置に置きます。下図はシーンビューでの表示。
|
7
|
+

|
8
|
+
|
9
|
+
スクリプトは以下のような感じ。
|
10
|
+
```C#
|
11
|
+
using UnityEngine;
|
12
|
+
|
13
|
+
public class RelativePostion : MonoBehaviour
|
14
|
+
{
|
15
|
+
// インスペクターから指定する
|
16
|
+
public Transform basePoint; // 基点となるゲームオブジェクトのTransform
|
17
|
+
public Transform movingCube; // 動かすCube
|
18
|
+
|
19
|
+
private void Update ()
|
20
|
+
{
|
21
|
+
Debug.Log ( RelativePos () );
|
22
|
+
}
|
23
|
+
|
24
|
+
// 相対座標を返す
|
25
|
+
private Vector2 RelativePos ()
|
26
|
+
{
|
27
|
+
// Cube と 基点となるオブジェクトとの相対座標
|
28
|
+
var relativePos = movingCube.position - basePoint.position;
|
29
|
+
|
30
|
+
return relativePos;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
```
|
34
|
+
|
35
|
+
参考動画です。(※ 上記コードはUI表示に関する内容を含みません)
|
36
|
+
[動画はこちら](https://twitter.com/onionslice2/status/989180123520712707)
|
37
|
+
|
38
|
+
以上です。
|