読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】オブジェクトの大きさを一括で変更する

回転とか移動とか拡大縮小とか 3D Unity エディタ拡張・エディタ機能

オブジェクトのサイズを一括で変更します。

これは「ゲームのサイズを適正なサイズに設定する」事に特に効果があります。

f:id:tsubaki_t1:20151004232250p:plain

Unityのボックスの1は1mとして扱われています。このため、物理演算を2dチックなゲームに組み込むと動きが「ふわっと」や「モッサリ」と表現される事が多々あります。

なんだか物理演算が遅いと感じる場合は、ほぼスケールが大きいせいです。スケールは小さければ小さいほど早く、大きければ大きいほど遅いです。

巨大ロボットが3次元戦闘する系や小さいキャラクターが跳ね回る系のゲームは、だいたい20㎝~30㎝くらいの間で作られてるように見えます。

tsubakit1.hateblo.jp

左の玉は30㎝、右が1mです。大きさが違うだけでかなり動きがゆっくりします。
(当然、カメラの映す範囲も違います)

f:id:tsubaki_t1:20151004234451g:plain

ということでステージを作成後に「ステージを小さくする」欲望が生まれる事が多々ある訳ですが、オブジェクトを全選択し縮小すると、下のように個別に縮小されてしまします。

f:id:tsubaki_t1:20151004232658p:plain

f:id:tsubaki_t1:20151004232340p:plain

これは単純に「個別のオブジェクトサイズを各々小さくする」操作が行われる為です。

比率を維持したままオブジェクトを縮小したい場合、左上のpivotをcenterに設定します。

f:id:tsubaki_t1:20151010203159g:plain

比率を維持したままオブジェクトを縮小したい場合、オブジェクトをグループとして一括で縮小する必要があります。

操作としては、親オブジェクトを設定し親オブジェクトを縮小します。

f:id:tsubaki_t1:20151004232623p:plainf:id:tsubaki_t1:20151004232523p:plain

ちなみに、このフローを行う場合は「選択→オブジェクトの中に配置」を行う必要がある訳ですが、その際にはSelectionが地味に役立ちます。

  • Ctrl+Alt+1 → オブジェクトの選択状態を保存
  • Ctrl+Shift+1 → 保存したオブジェクトの選択状態を再現

tsubakit1.hateblo.jp

この縮小した状態で縮小したくないオブジェクトが存在する場合は、下のスクリプトで何とか出来ます一応は。

tsubakit1.hateblo.jp