Опять встрял и не пойму в чем дело.
Есть два скрипта Plant, Grid. В скрипт Plant я достаю терраин из Grid
public class Grid : MonoBehaviour {
public static Terrain thisTerrain;
void Awake () {
thisTerrain = (Terrain)GetComponent<Terrain>();
}}
public class Plant : MonoBehaviour {
void Start ()
{
transform.position.y = (float)Grid.thisTerrain.SampleHeight(transform.position);
}}
А компилятор кричит что ошибка в строке transform.position.y = (float)Grid.thisTerrain.SampleHeight(transform.pos ition);
error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position'. Consider storing the value in a temporary variable
Якобы во временных переменных косяк. Но переменные то у меня не временные а публичные и thisTerrain еще и статичная
Разобрался, получается что, transfom.position.y может только хранить значение, но ложить туда нельзя??
И что изменить y, на нужное значение самый простое решение transform.position = newVector3(transform.position.x, 10 , transform.position.z); ??
