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

素人のUnity覚書と奮闘記

transform

カメラを領域内でドラッグ移動させたい&カメラのズーム処理(2D)

やりたいこと ドラッグ処理 1:カメラにコライダーを追加する カメラがX90度回転している理由 2:スプライトを配置 3:Rayを飛ばすクラスを作る 4:ヒット判定とドラッグ判定 ドラッグ判定が2重チェックな理由 5:ドラッグ処理を追加する ドラッグ領域…

移動距離が変わっても、指定した速度で等速直線移動させたい

やりたいこと 使うメソッド コード 到達したら消滅したい場合 やりたいこと ・移動距離が変わっても、指定した速度で直線移動し、到達したら止まる。 魔法師の魔法攻撃処理で悩んだのでメモ。 全体の移動距離から1フレームの移動距離(つまり速度)を割り出…

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

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

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

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

親の回転を無視したい

親の回転角度を引いて相殺すればええやん?って思ったら、簡単にいかなかったのでメモ。 2018/11/24 修正変更 勘違いしてたかも!なので修正します。 やりたいこと オブジェクトの相関図 コード 実行結果 考え方 やりたいこと 親(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…