Т.е. у меня есть только x и z координаты, но нет высоты терейна при Instantiate объекта. Как можно узнать высоты террейна в заданной точке?
Пробовал так, но у меня ссылка на террейн всегда null (
Синтаксис:
Используется csharp
Terrain myTer = (Terrain)GetComponent(typeof(Terrain));
GameObject pl = (GameObject)Instantiate(Resources.Load("Main/MainPlayer"));
pl.transform.position = new Vector3((float)obj["x"].DoubleValue, 0, (float)obj["y"].DoubleValue);
print(myTer.SampleHeight(pl.transform.position));
GameObject pl = (GameObject)Instantiate(Resources.Load("Main/MainPlayer"));
pl.transform.position = new Vector3((float)obj["x"].DoubleValue, 0, (float)obj["y"].DoubleValue);
print(myTer.SampleHeight(pl.transform.position));
Разобрался
Синтаксис:
Используется csharp
Terrain myTer = Terrain.activeTerrain;
GameObject pl = (GameObject)Instantiate(Resources.Load("Main/MainPlayer"));
pl.transform.position = new Vector3((float)obj["x"].DoubleValue, myTer.SampleHeight(new Vector3((float)obj["x"].DoubleValue, 0, (float)obj["y"].DoubleValue)), (float)obj["y"].DoubleValue);
GameObject pl = (GameObject)Instantiate(Resources.Load("Main/MainPlayer"));
pl.transform.position = new Vector3((float)obj["x"].DoubleValue, myTer.SampleHeight(new Vector3((float)obj["x"].DoubleValue, 0, (float)obj["y"].DoubleValue)), (float)obj["y"].DoubleValue);