GameObjects
Pengantar komponen

Transforms

Switch to Scripting

Transform digunakan untuk menyimpan posisi GameObjectObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
Lihat di Glossary
, rotasi, skala dan keadaan parenting dan sangat penting. GameObject akan selalu memiliki Transform component terpasang - tidak mungkin untuk menghapus Transform atau untuk membuat GameObject tanpa satu.

Komponen Transform

Komponen Transform menentukan Position, Rotation, dan Scale dari setiap objek di sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
. Setiap GameObject memiliki Transform.

Properties

Property: Function:
Position Posisi Transform di X, Y, dan Z berkoordinasi.
Rotation Rotasi Transformasi di sekitar X, Y, dan sumbu Z, diukur dalam derajat.
Scale Timbangan Transform sepanjang X, Y, dan Z axes. Nilai "1" adalah ukuran asli (ukuran di mana objek diimpor). Login Pilih ikon tautan di sebelah nilai-nilai untuk beralih penskalaan proporsional. Penskalaan proporsional menyesuaikan nilai skala secara proporsional satu sama lain. Misalnya, jika nilai sumbu GameObject Anda adalah (1, 2, 4) dan Anda menggandakan nilai sumbu x ke 2, nilai sumbu y dan z berubah menjadi 4 dan 8 masing-masing. Ketika diaktifkan, scaling proporsional juga berlaku untuk perubahan yang Anda buat menggunakan alat Timbangan dalam tampilan Adegan. Login Jika ada nilai skala nol, itu diabu-abu dan tidak secara otomatis menyesuaikan ketika scaling proporsional diaktifkan.

: Anda dapat menetapkan shortcut keyboard untuk mengaktifkan atau menonaktifkan scaling proporsional. Sitemap
Note: You can assign a keyboard shortcut to enable or disable proportional scaling. See Shortcuts Manager.

Posisi, rotasi dan nilai skala Transform diukur relatif terhadap induk Transform. Jika Transform tidak memiliki orang tua, sifatnya diukur di ruang dunia.

Mengedit Transforms

Transforms dimanipulasi di ruang 3D di X, Y, dan Z sumbu atau di ruang 2D hanya dalam X dan Y. Dalam Unity, kapak ini diwakili oleh warna merah, hijau, dan biru masing-masing.

A transform showing the color-coding of the axes
Perubahan menunjukkan pengkodean warna dari kapak

Transformator dapat diedit dalam Scene ViewTampilan interaktif ke dunia yang Anda buat. Anda menggunakan Adegan Lihat untuk memilih dan posisi pemandangan, karakter, kamera, lampu, dan semua jenis lain dari Game Object. More info
Lihat di Glossary
atau dengan mengubah sifatnya dalam InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary
. Dalam adegan, Anda dapat memodifikasi Transforms menggunakan alat Pindah, Putar dan Skala. Alat-alat ini terletak di sudut kiri atas dari Editor Unity.

The View, Translate, Rotate, and Scale tools
Tampilan, Terjemahkan, Berputar, dan Alat Timbangan

Alat dapat digunakan pada objek di tempat kejadian. Ketika Anda mengklik objek, Anda akan melihat alat gizmoOverlay grafis yang terkait dengan GameObject di Adegani, dan ditampilkan di Tampilan Adegan. Alat adegan internal seperti alat bergerak adalah Gizmos, dan Anda dapat membuat Gizmos kustom menggunakan tekstur atau scripting. Beberapa Gizmos hanya ditarik ketika GameObject dipilih, sementara Gizmos lainnya ditarik oleh Editor terlepas dari GameObjects mana yang dipilih. More info
Lihat di Glossary
muncul di dalamnya. Penampilan gizmo tergantung pada alat mana yang dipilih.

Transform gizmo
Transform gizmo

Ketika Anda mengklik dan menyeret pada salah satu dari tiga sumbu gizmo, Anda akan melihat bahwa perubahan warnanya menjadi kuning. Ketika Anda menyeret mouse, Anda akan melihat objek menerjemahkan, memutar, atau berskala sumbu yang dipilih. Ketika Anda melepaskan tombol mouse, sumbu tetap dipilih.

A Transform showing the selected (yellow) X axis
Transform yang menampilkan sumbu X yang dipilih (kuning)

Ada juga pilihan tambahan dalam mode Terjemahkan untuk mengunci gerakan ke pesawat tertentu (yaitu, memungkinkan penyeret dalam dua sumbu sambil menjaga ketiga tidak berubah). Tiga kotak berwarna kecil di sekitar pusat Gizmo Terjemahkan mengaktifkan kunci untuk setiap pesawat; warna sesuai dengan sumbu yang akan dikunci ketika kotak diklik (misalnya, kunci biru sumbu Z).

Parenting

Parenting adalah salah satu konsep yang paling penting untuk memahami ketika menggunakan Unity. Ketika GameObject adalah ParentSebuah objek yang berisi objek anak dalam hierarki. Ketika GameObject adalah orang tua dari GameObject lain, Anak PermainanObject akan bergerak, berputar, dan skala persis seperti orang tuanya. Anda dapat memikirkan orang tua seperti hubungan antara lengan Anda dan tubuh Anda; ketika tubuh Anda bergerak, lengan Anda juga bergerak bersama dengannya. More info
Lihat di Glossary
dari GameObject lain, Child GameObject akan bergerak, berputar, dan skala persis seperti orang tuanya. Anda dapat memikirkan orang tua seperti hubungan antara lengan Anda dan tubuh Anda; ketika tubuh Anda bergerak, lengan Anda juga bergerak bersama dengannya. Objek anak juga dapat memiliki anak-anak mereka sendiri dan sebagainya. Jadi tangan Anda bisa dianggap sebagai "anak" lengan Anda dan kemudian setiap tangan memiliki beberapa jari, dll. Setiap objek dapat memiliki beberapa anak, tetapi hanya satu orang tua. Beberapa tingkat hubungan induk-anak ini membentuk Transform hierarchy. Objek di bagian atas hirarki (yaitu, satu-satunya objek dalam hirarki yang tidak memiliki induk) dikenal sebagai root.

Anda dapat membuat Orang tua dengan menyeret GameObject di Hierarchy View ke yang lain. Ini akan menciptakan hubungan Parent-Child antara dua GameObjects.

Example of a Parent-Child hierarchy. GameObjects with foldout arrows to the left of their names are parents.
Contoh hierarki Parent-Child. GameObjects dengan panah lipat ke kiri nama mereka adalah orang tua.

Perhatikan bahwa nilai Transform di Inspektur untuk setiap anak GameObject ditampilkan relatif terhadap nilai Transformasi Parent. Nilai-nilai ini disebut sebagai local coordinates. Kembali ke analogi tubuh dan lengan, posisi tubuh Anda dapat bergerak saat Anda berjalan tetapi lengan Anda masih akan melekat pada posisi relatif yang sama. Untuk konstruksi adegan, biasanya cukup untuk bekerja dengan koordinat lokal untuk objek anak tetapi dalam gameplay sering berguna untuk menemukan posisi yang tepat di ruang dunia atau global coordinates. API scripting untuk komponen Transform memiliki sifat yang terpisah untuk posisi lokal dan global, rotasi dan skala dan juga memungkinkan Anda untuk mengubah titik antara koordinat lokal dan global.

Batasan dengan Scaling Non-Uniform

Penskalaan non-uniform adalah ketika Scale dalam Transform memiliki nilai yang berbeda untuk x, y, dan z; misalnya (2, 4, 2). Sebaliknya, penasaran seragam memiliki nilai yang sama untuk x, y, dan z; misalnya (3, 3, 3). Penskalaan non-uniform dapat berguna dalam beberapa kasus tertentu tetapi memperkenalkan beberapa kemungkinan yang tidak terjadi dengan penskalaan seragam: -

  • Komponen tertentu tidak mendukung skala non-uniform. Misalnya, beberapa komponen memiliki elemen melingkar atau bulat yang didefinisikan oleh properti radius, di antara mereka Sphere ColliderKomponen collider berbentuk sphere yang menangani tabrakan untuk GameObjects seperti bola atau hal-hal lain yang dapat kira-kira perkiraan sebagai bidang untuk tujuan fisika. More info
    Lihat di Glossary
    , Capsule ColliderKomponen collider berbentuk kapsul yang menangani tabrakan untuk GameObjects seperti barel dan tungkai karakter. More info
    Lihat di Glossary
    , Light dan Audio SourceKomponen yang memainkan kembali Klip Audio dalam adegan ke pendengaran audio atau melalui mixer audio. More info
    Lihat di Glossary
    . Dalam kasus seperti bentuk melingkar ini tidak akan menjadi elips di bawah scaling non-uniform seperti yang Anda harapkan dan hanya akan tetap melingkar.
  • Ketika objek anak memiliki orang tua yang berskala non-uniformal dan diputar kerabat kepada orang tua itu, itu mungkin muncul skewed atau “sheared”. Ada komponen yang mendukung penskalaan non-uniform sederhana tetapi tidak berfungsi dengan benar ketika ditabur seperti ini. Misalnya, skewed Box ColliderKomponen collider berbentuk kubus yang menangani tabrakan untuk GameObjects seperti dadu dan es batu. More info
    Lihat di Glossary
    tidak akan sesuai dengan bentuk meshGrafik utama primitif Unity. Mesh membuat sebagian besar dunia 3D Anda. Unity mendukung mesh poligon triangulat atau Quadrangulasi. Nurbs, Nurms, permukaan Subdiv harus dikonversi ke poligon. More info
    Lihat di Glossary
    yang diberikan secara akurat.
  • Untuk alasan kinerja, objek anak orang tua berskala non-uniform tidak akan memiliki skalanya secara otomatis diperbarui ketika berputar. Akibatnya, bentuk anak mungkin muncul untuk mengubah tiba-tiba ketika skala akhirnya is diperbarui, mengatakan jika objek anak terurai dari orang tua.

Pentingnya Timbangan

Skala Transform menentukan perbedaan antara ukuran mesh dalam aplikasi pemodelan Anda dan ukuran jala dalam Unity. Ukuran jala dalam Unity (dan oleh karena itu skala Transform) adalah very penting, terutama selama simulasi fisika. Secara default, physics engineSebuah sistem yang mensimulasikan aspek sistem fisik sehingga benda dapat mempercepat dengan benar dan dipengaruhi oleh tabrakan, gravitasi dan kekuatan lainnya. More info
Lihat di Glossary
menganggap bahwa satu unit di ruang dunia sesuai dengan satu meter. Jika sebuah objek sangat besar, itu bisa muncul jatuh di "geser lambat"; simulasi sebenarnya benar karena efektif, Anda melihat objek yang sangat besar jatuh jarak yang besar.

Ada tiga faktor yang dapat mempengaruhi skala objek Anda:

  • Ukuran mesh Anda dalam aplikasi pemodelan 3D Anda.
  • Pengaturan Mesh Scale Factor pada Import Settings objek.
  • Nilai Scale dari Komponen Transform Anda.

Idealnya, Anda tidak boleh menyesuaikan Scale objek Anda di Komponen Transform. Pilihan terbaik adalah membuat model Anda pada skala real-life sehingga Anda tidak perlu mengubah skala Transform Anda. Pilihan terbaik berikutnya adalah untuk menyesuaikan skala di mana mesh Anda diimpor di Import Settings untuk mesh individu Anda. Optimasi tertentu terjadi berdasarkan ukuran impor, dan mengulangi objek yang memiliki nilai skala yang disesuaikan dapat mengurangi kinerja. Untuk informasi lebih lanjut, lihat bagian tentang mengoptimalkan skala pada halaman referensi komponen Rigidbody.

Tips Bekerja dengan Transforms

  • Ketika orang tua Transforms, berguna untuk mengatur lokasi orang tua untuk <0,0,0> sebelum menambahkan anak. Ini berarti bahwa koordinat lokal untuk anak akan sama dengan koordinat global membuatnya lebih mudah untuk memastikan Anda memiliki anak dalam posisi yang tepat.
  • Jika Anda menggunakan RigidbodiesKomponen yang memungkinkan GameObject untuk dipengaruhi oleh gravitasi simulasi dan kekuatan lainnya. More info
    Lihat di Glossary
    untuk simulasi fisika maka pastikan untuk membaca tentang properti Timbangan di halaman referensi komponen Rigidbody.
  • Anda dapat mengubah warna kapak Transform (dan elemen UI lainnya) dari preferensi (Menu: Unity > Preferences dan kemudian pilih panel Colors & keys).
  • Mengubah Timbangan mempengaruhi posisi perubahan anak. Sebagai contoh menskala orang tua ke (0,0,0) akan memposisikan semua anak di (0,0,0) relatif terhadap orang tua.
GameObjects
Pengantar komponen