Menu
CoddyTech

Objek Induk dan Anak

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 31 dari 85.

Di Hierarchy, objek yang diseret ke objek lain menjadi child-nya dan ditampilkan dengan indentasi di bawah parent-nya. Child bergerak, berputar, dan berubah skala bersama parent-nya: gerakkan parent, maka semua child ikut bergerak, tanpa perlu menambahkan kode pada child.

Unity menyimpan posisi child relatif terhadap parent-nya. transform.localPosition adalah offset itu, diukur dari parent; transform.position adalah posisi di dunia. Rider ini adalah child dari Horse, dan skripnya menempatkannya 1 unit di atas pusat kuda dan setengah unit ke belakang, di mana pun kuda berada:

void Start()
{
    transform.localPosition = new Vector3(0, 1, -0.5f);
}

Saat kuda berada di (4, 0.5, 2), position rider menunjukkan (4, 1.5, 1.5), sedangkan localPosition-nya tetap (0, 1, -0.5). Saat kuda terus berjalan, position berubah, sedangkan localPosition tidak. Offset diukur sepanjang sumbu milik parent, jadi saat parent berputar atau skalanya berubah, offset ikut berputar dan berubah skala. Untuk objek yang tidak memiliki parent, localPosition dan position sama.

challenge icon

Tantangan

Sedang

Letakkan bendera di kaki tiang, dengan posisi diukur dari kapal.

  1. Di Start(), angka (0.6, 1, 0) diukur dari Ship, induk bendera.
  2. Pada baris itu, ubah transform.position menjadi transform.localPosition.

Tekan tombol “Main”: bendera berada di kaki tiang, di kapal. Lalu tekan tombol “Periksa”.

Coba sendiri

using UnityEngine;

public class Hoist : MonoBehaviour
{
    public float climb = 1f;

    void Start()
    {
        // Dasar tiang: 0.6 ke kanan dan 1 ke atas, diukur dari Ship
        transform.position = new Vector3(0.6f, 1, 0);
    }

    void Update()
    {
        // Selama tombol panah atas ditekan, naik hingga ketinggian dari Ship mencapai 4
    }
}

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity