ドット絵ゲームを作っていて、近傍の整数座標を取得して移動させたいことが多かったので作っておきました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UnitManager : MonoBehaviour {
public static Vector2 AdjustUnit(Vector2 vec){
return new Vector2 ((int)(vec.x + 0.5f * Mathf.Sign(vec.x)), (int)(vec.y + 0.5f * Mathf.Sign(vec.y)));
}
}
Vector2 intVec = UnitManager.AdjustUnit(floatVec);
で近傍の整数座標を取得できます。
Vector2 vec = UnitManager.AdjustUnit(vec);
とすると、座標を整数座標に書き換えることができます。
これだけ作っておくとどこからでも呼び出せるので非常に便利。
コメント