К обьекту прикрепил данный скрипт, цель: автоматическое смещени е обьекта по оси 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);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Есть папка с 6000+ картинкамиОни все разного размера, их нужно порезать под квадрат
задача в том,что нужно с помощью ф-ции