/// <summary> /// Converts a world position to a chunk coordinate /// 将世界位置转换为块坐标 /// </summary> /// <param name="worldPosition">The world-position that should be converted</param> /// <returns>The world position converted to a chunk coordinate</returns> public int3 WorldPositionToCoordinate(float3 worldPosition) { float3 localPosition = worldPosition - new float3(transform.position.x, transform.position.y, transform.position.z); return(localPosition.FloorToMultipleOfX(ChunkSize) / ChunkSize); }
public static int3 WorldPositionToCoordinate(float3 worldPosition, int3 chunkSize) { return(worldPosition.FloorToMultipleOfX(chunkSize) / chunkSize); }
/// <summary> /// Converts a local position to a chunk coordinate /// 将本地位置转换为块坐标 /// </summary> /// <param name="worldPosition">The world-position that should be converted</param> /// <returns>The world position converted to a chunk coordinate</returns> public int3 LocalPositionToCoordinate(float3 localPosition) { return(localPosition.FloorToMultipleOfX(ChunkSize) / ChunkSize); }
int3 PositionToChunkCoord(float3 pos) { return(pos.FloorToMultipleOfX(chunkSize)); }
/// <summary> /// Converts a world position to a chunk coordinate /// </summary> /// <param name="worldPosition">The world-position that should be converted</param> /// <returns>The world position converted to a chunk coordinate</returns> public int3 WorldPositionToCoordinate(float3 worldPosition) { return(worldPosition.FloorToMultipleOfX(ChunkSize) / ChunkSize); }