Roba Memo - 素人のUnity覚書と奮闘記

素人のUnity覚書と奮闘記

transform

ドラッグする時にオブジェクトがカーソルに自動でセンタリングしないようにする

Unityでゲームオブジェクトをドラッグさせると、動かした瞬間にゲームオブジェクトがカーソルの位置に移動してしまう。 大きい画像を少しずつドラッグさせたい場合は、困る。 ということで、自動センタリングをさせない方法をメモ。 コード Vector3 offset; …

Transform.Rotate()が途中で変になる

やりたいこと 問題点 解決策 やりたいこと ゲームオブジェクトをクリックで時計回りに30度ごと回転させ、現在の回転角度を知りたい。 問題点 obj = 回転させたいオブジェクト rot = Z角度を保持する変数 GameObject obj; float rot; obj.transform.Rotate …

親の回転を無視したい

親の回転角度を引いて相殺すればええやん?って思ったら、簡単にいかなかったのでメモ。 やりたいこと オブジェクトの相関図 コード 実行結果 考え方 相殺の仕方 逆方向について やりたいこと 親(3Dゲームオブジェクト)が回転しても、子(スプライト)が…

GameObjectのwidthを取得する

いわゆるココのwidthを取得したい場合。 コード 説明 コード GameObject gauge; float gaugeWidth; void Start () { gauge = gameObject.transform.Find ("HP/gauge").gameObject; gaugeWidth = gauge.GetComponent<RectTransform> ().sizeDelta.x; } 説明 ・ widthはfloat</recttransform>…

○秒で○度 オブジェクトを回転する

やりたいこと 例えば、ボタンを押したら、3秒かけて360度回転したい場合 開店後は停止する。 コード [SerializeField]GameObject handle; bool rotStart = false; float speed = 3.0f; float rotAngle = 360f; float variation; float rot; void Start () { …

オブジェクトを回転させる その2

使うメソッド //回転させる public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self); //回転角度を取得する public Vector3 localEulerAngles; 30度ずつ時計回りするスクリプト public void OnRotation (GameObject target) { target.tr…

オブジェクトを回転させる

使うメソッド gameObject.transform.rotation = Quaternion.Euler(float x, float y, float z); 使い方 例えば、ゲームオブジェクトを時計回りで30度ずつ動かしたい場合。 [Global.cs] public float second; public GameObject hariS; void Awake () { har…