К обьекту прикрепил данный скрипт, цель: автоматическое смещени е обьекта по оси Y, в итоге ничего не срабатывает. В чем проблема?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move : MonoBehaviour {
void Start () {
transform.position.y += 1;
}
void Update () {
transform.position.y += 1;
}
}
Вам выдаёт вполне очевидную ошибку - невозможно изменить значение, т.к. оно не является переменной.
transform.position - возвращает вам Vector3.
Vector3 в Unity является значимым типом, который нельзя изменять. Другими словами, вы можете создать вектор с какими-то значениями, например new Vector3(1, 1, 1), но после этого не сможете изменить в нём эти значения. Это связано с оптимизацией производительности и исключения некоторых частых ошибок.
Другими словами, в transform.position вам нужно назначать новый вектор, который будет равен вектору текущего положения + вектор смещения.
transform.position = transform.position + new Vector(0,1,0);
Перегруженный оператор += позволит вам сократить выражение. Он сам возьмёт текущее значение, прибавит к нему ваш вектор и потом назначит обратно.
transform.position += new Vector(0,1,0);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей