UnityでGameObjectの原点ではなく、指定した点を中心にScaleを変更する方法。 rotationは原点と回転軸を指定して回転できる RotateAround があるけど、Scaleには無いので作った。 タッチパネルの2本指操作や、両手VRコントローラで拡大させる時に、拡大の中心を動的に変更できて便利。 /// pivot を中心に、target のScaleを変化させる public void ScaleAround(GameObject target, Vector3 pivot, Vector3 newScale) { Vector3 targetPos = target.transform.localPosition; Vector3 diff = targetPos - pivot; float relativeScale = newScale.x / target.