いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

Unityのアンカー、ピボットを分かりやすく解説

アンカー、ピボットが分かりにくいです。ここで簡単な例を2つ挙げ、整理しておきます。これなら分かりやすい……はずです。

キャンバス上には座標(ローカル座標と呼びましょう)があります。今、キャンバス上にパネル(UI部品)が配置してあるとします(インスペクタで見ると、パネルがCanvasの子となっている)。パネルの位置はキャンバス上のローカル座標で表されます。ローカル座標の原点(この点をアンカーと言う)は、インスペクタでパネルを見ると分かります。「アンカー」の欄(「Anchors」と書いてあるところのすぐ上)が

のときはキャンバスのちょうど真ん中が原点です。

のときはキャンバスの左下が原点です(他も同様)。

パネルには広さがありますから、パネル上の点を決めておき(この点をピボットと言う)、その点のローカル座標がパネルの位置ということになります。インスペクタでパネルを見て、「ピボット」の欄が(0.5,0.5)ならパネルの真ん中の点のローカル座標がパネルのキャンバス上の位置です。(1, 1)ならパネルの右上隅のローカル座標がパネルの位置となります。

例えば、次の例ではキャンバス(白い大きな枠)にパネル(薄緑色の長方形)が配置されています。アンカーがキャンバスのちょうど真ん中(「middle, center」)、ピボットはパネルのちょうど真ん中(Pivot 0.5, 0.5)です。ですから、△が4個集まったマークを原点とし、パネルの中央はローカル座標(127.21, 114)です。

例をもうひとつ。次ではアンカーがキャンバスの左下(「bottom, left」)、ピボットが(1, 1)です。キャンバスの左下の隅が原点、パネルの右上隅がピボットでその座標が(692, 232.02)です。

 

さあ、これで大丈夫! 「ピボットってなんだっけ?」……みたいになったらこのページを見ましょう!!