private Vector3 PointSDir(Vector3 ori, RiverData.Direction a, RiverData.Direction b) { Vector3 result = new Vector3(ori.x, ori.y, ori.z); var amodify = RiverData.GetDirectionDir(a); var bmodify = RiverData.GetDirectionDir(b); result += amodify / 2; result += bmodify / 2; return(result); }
private Vector3 DownRightEx(Vector3 center, RiverData.Direction dir) { Vector3 result = new Vector3(); var vector = RiverData.GetDirectionDir(dir); var noiseDir = (NoiseVector(center)).normalized; var direx = (-vector + noiseDir).normalized; var dirleft = Vector3.Cross(direx, Vector3.up); result = center + (direx + dirleft) * 0.5f; return(result); }
private Vector3 BorderLeftEx(Vector3 center, RiverData.Direction dir) { Vector3 result = new Vector3(); var vector = RiverData.GetDirectionDir(dir); var noiseModify = NoiseModify(center); //Vector3 noiseDir = new Vector3(noiseModify.x - center.x, 0, noiseModify.z - center.z); var noiseDir = (NoiseVector(center)).normalized; var direx = (vector + noiseDir).normalized; var dirleft = Vector3.Cross(direx, Vector3.up); result = center + (direx + dirleft) * 0.5f; return(result); }