Menu
CoddyTech

Разместите куб

Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 2 из 67.

У каждого GameObject есть Transform: его позиция, поворот и масштаб. Скрипт обращается к Transform своего объекта как к transform, а transform.position — это положение центра объекта, заданное в виде Vector3: три числа для x (вправо), y (вверх) и z (вперёд, от камеры). Одна единица равна одному метру.

Чтобы поместить объект в нужное место, задайте ему новую позицию в Start(). Высота этой лампы — 2 единицы, и она должна стоять на столе, поверхность которого находится на y = 2, а центр — на x = -2, z = 4. Центр лампы находится на половину её высоты выше поверхности стола, поэтому её координата y равна 2 + 1 = 3:

void Start()
{
    transform.position = new Vector3(-2, 3, 4);
}

Пока игра запущена, выберите лампу в Hierarchy: в Transform в окне Inspector отображаются те же три числа, что и в Position.

challenge icon

Задание

Легко

Оранжевая платформа находится по центру в точке x = 3, z = 2, а её верхняя поверхность — на уровне y = 1.5. Высота синего куба составляет 1 единицу. В Start() задай положение куба так, чтобы он стоял посередине платформы.

Помни, что позиция — это центр объекта, а не его нижняя часть.

Нажми Play, чтобы увидеть, где он приземлится, затем нажми Check.

Попробуйте сами

using UnityEngine;

public class PlaceCube : MonoBehaviour
{
    void Start()
    {
        // x, y, z: измените эти три числа
        transform.position = new Vector3(0, 1, 0);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы скриптинга в Unity