1
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
//////////////////////////////////////////////////////
|
||||
// MicroSplat
|
||||
// Copyright (c) Jason Booth
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace JBooth.MicroSplat
|
||||
{
|
||||
public class MicroSplatRuntimeUtil
|
||||
{
|
||||
// convert to/from regular UVs to terrain UVs, which are expressed in units per tile instead of tiles per terrain
|
||||
public static Vector2 UnityUVScaleToUVScale(Vector2 uv, Terrain t)
|
||||
{
|
||||
float w = t.terrainData.size.x;
|
||||
float h = t.terrainData.size.z;
|
||||
uv.x = 1.0f / (uv.x / w);
|
||||
uv.y = 1.0f / (uv.y / h);
|
||||
return uv;
|
||||
}
|
||||
|
||||
public static Vector2 UVScaleToUnityUVScale(Vector2 uv, Terrain t)
|
||||
{
|
||||
float w = t.terrainData.size.x;
|
||||
float h = t.terrainData.size.z;
|
||||
|
||||
if (uv.x < 0)
|
||||
uv.x = 0.001f;
|
||||
if (uv.y < 0)
|
||||
uv.y = 0.001f;
|
||||
|
||||
uv.x = w/uv.x;
|
||||
uv.y = h/uv.y;
|
||||
return uv;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user