Buat objek berputar

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Objek berputar adalah objek yang berputar pada satu atau lebih sumbu dalam ruang 3D. Menggunakan kekuatan bawaan dari mesin simulasi Roblox, Anda dapat membuat objek berputar dan berinteraksi dengan lingkungan mereka dengan cara yang meniru perilaku fisik dunia nyata yang akrab dan intuitif bagi pemain, seperti gravitasi, aerodinamika, dan gesekan.

Menggunakan file Objek Berputar .rbxl sebagai referensi, tutorial ini menjelaskan bagaimana gaya fisik mempengaruhi gerakan sudut di Studio, dan menunjukkan berbagai teknik untuk memutar objek dalam permainan Anda dengan perilaku berputar yang berbeda, termasuk panduan tentang:

  • Menggunakan AngularVelocity pembatas penggerak untuk memutar seluruh rakitan dengan kecepatan sudut konstan.
  • Menggunakan HingeConstraint pembatas mekanis untuk memutar bagian dalam rakitan dengan kecepatan sudut konstan sementara sisa rakitan tetap diam.
  • Menggunakan metode ApplyAngularImpulse untuk memutar rakitan dengan dorongan awal gaya sudut sehingga rakitan melambat seiring waktu.

Gerakan sudut dan gaya fisik

Roblox Studio adalah mesin simulasi dunia nyata yang meniru perilaku fisik secara real-time, jadi untuk memprediksi perilaku objek berputar dalam permainan, penting untuk memiliki pemahaman tingkat tinggi tentang bagaimana objek berputar dalam kehidupan nyata dengan gerakan sudut.

Gerakan sudut, atau gerakan rotasi, adalah gerakan di sekitar titik atau sumbu tetap. Misalnya, ketika sebuah baling-baling memiliki gerakan sudut, ia berputar di sekitar sumbu rotasinya di tengah baling-baling.

Gerakan sudut tidak dapat ada tanpa gaya fisik eksternal yang mendorong atau menarik objek untuk berputar. Menurut hukum gerak pertama Newton, objek yang diam tetap diam dan objek yang bergerak tetap bergerak dengan kecepatan konstan kecuali mereka dipengaruhi oleh gaya eksternal. Misalnya, baling-baling yang diam tetap diam kecuali gaya fisik seperti angin mendorongnya untuk berputar.

Torsi adalah ukuran gaya fisik yang menyebabkan objek berputar, dan bertanggung jawab atas objek yang memperoleh percepatan sudut. Konsep ini sangat penting agar objek dapat berputar di Studio; semakin banyak torsi yang Anda terapkan pada objek, semakin cepat mereka dapat mempercepat.

Ini karena torsi harus lebih besar daripada gaya fisik arah yang mendorong kembali terhadap objek, seperti gravitasi atau gesekan. Misalnya, jika Anda menempatkan baling-baling di tanah, gaya fisik angin perlu mengatasi jumlah gesekan dari tanah untuk terus mempercepat baling-baling yang berputar. Jika gaya angin tidak jauh lebih besar daripada gesekan dari tanah, baling-baling akan mempercepat, hanya lebih lambat daripada contoh sebelumnya.

Kecepatan sudut adalah ukuran laju rotasi objek, atau seberapa cepat objek berputar di sekitar titik atau sumbu tetap selama periode waktu tertentu. Studio mengukur kecepatan sudut sesuai dengan berapa banyak radian yang diputar objek per detik. Ada 2π radian (6.283) dalam satu putaran, jadi agar objek dapat melakukan satu putaran penuh per detik, ia harus memiliki cukup torsi untuk berputar sekitar 6 radian. Memahami kecepatan sudut penting untuk merancang gameplay dalam permainan Anda karena membantu Anda menentukan berapa banyak torsi yang Anda butuhkan untuk mencapai percepatan tertentu untuk objek berputar Anda.

Bagian berikut menyelami lebih dalam ke dalam konsep-konsep ini saat Anda belajar bagaimana memutar objek dengan kecepatan sudut konstan atau awal dengan torsi yang diperlukan untuk mengatasi gaya fisik oposisi dalam lingkungan. Saat Anda meninjau konsep fisika ini dengan teknik yang akan datang, Anda dapat lebih akurat memprediksi bagaimana menyesuaikan nilai properti untuk mencapai perilaku berputar ideal di Studio.

Pertahankan gaya sudut konstan

Agar sebuah objek mencapai dan mempertahankan kecepatan sudut konstan, ia memerlukan gaya sudut untuk mengatasi gaya fisik oposisi yang baik memperlambat kecepatan sudut objek, atau menyebabkan objek tetap diam. Misalnya, jika Anda ingin objek memiliki kecepatan sudut [0, 12, 0] di Studio, Anda memerlukan cukup torsi agar objek mencapai dan mempertahankan 12 radian per detik di sepanjang sumbu Y di lingkungannya, atau sekitar dua putaran penuh per detik.

Jumlah torsi yang Anda terapkan pada objek Anda tidak hanya tergantung pada gaya fisik oposisi dalam lingkungan itu sendiri, seperti gravitasi dan gesekan, tetapi juga pada objek itu sendiri. Misalnya, jika Anda memiliki dua objek dengan bentuk yang sama yang berputar pada sumbu yang sama, objek yang lebih besar dengan momen inersia yang lebih besar memerlukan lebih banyak torsi untuk mencapai percepatan sudut yang sama.

Bagian segitiga kecil memiliki momen inersia yang lebih rendah, sehingga membutuhkan gaya sudut yang lebih sedikit untuk mencapai percepatan yang sama.
Bagian segitiga besar memiliki momen inersia yang lebih besar, sehingga membutuhkan gaya sudut yang lebih banyak untuk mencapai percepatan yang sama.

Subbagian berikut menggunakan rakitan dengan bentuk dan ukuran yang berbeda untuk mengajarkan Anda bagaimana memutar baik seluruh objek atau hanya sebagian dari objek. Saat Anda bereksperimen dengan nilai properti yang berbeda, Anda akan belajar bagaimana memperkirakan jumlah maksimum torsi yang Anda butuhkan untuk rakitan dalam permainan Anda sendiri.

Gunakan pembatas AngularVelocity

Objek AngularVelocity adalah jenis pembatas penggerak yang menerapkan torsi pada seluruh rakitan untuk mempertahankan kecepatan sudut konstan. Untuk mulai memutar rakitan, pembatas AngularVelocity perlu mengetahui:

  • Titik dan arah positif atau negatif untuk menerapkan gaya sudut.
  • Jumlah radian yang ingin Anda rakitan putar per detik.
  • Jumlah maksimum torsi yang dapat diterapkan mesin agar rakitan mencapai kecepatan sudut konstan.

Untuk mendemonstrasikan proses ini, Anda akan menambahkan sebuah blok ke ruang kerja Anda dengan sebuah lampiran yang dirujuk oleh pembatas AngularVelocity untuk memutar blok 6 radian per detik di sepanjang sumbu Y dunia dengan kecepatan sudut konstan, atau sekitar satu putaran penuh.

Tambahkan lampiran

Anda dapat menentukan titik tetap untuk memutar rakitan dengan menambahkan objek Attachment ke rakitan, kemudian mengonfigurasi posisi lampiran dalam ruang 3D. Permainan contoh Objek Berputar menempatkan lampiran di tengah bagian blok sehingga pembatas dapat memutar bagian tersebut berlawanan arah jarum jam di sekitar pusatnya.

Lampiran menyertakan alat bantu visual untuk membantu Anda memvisualisasikan sumbu rotasinya. Panah kuning menunjukkan sumbu utama lampiran, dan panah oranye menunjukkan sumbu sekunder lampiran. Meskipun tidak ada sumbu rotasi yang mempengaruhi rotasi blok dalam langkah-langkah teknik ini, penting untuk memahami alat bantu visual ini untuk referensi di masa depan karena mereka dapat membantu Anda menentukan perilaku ideal untuk berbagai jenis pembatas, seperti HingeConstraint dalam teknik berikutnya.

Untuk menambahkan lampiran:

  1. Di jendela Explorer, masukkan bagian blok ke dalam Workspace.

  2. Masukkan lampiran ke dalam bagian baru.

    1. Di jendela Explorer, arahkan mouse ke bagian dan klik tombol ⊕. Menu kontekstual ditampilkan.
    2. Dari menu, masukkan Lampiran. Lampiran ditampilkan di tengah bagian.
    3. Ganti nama lampiran menjadi SpinAttachment.

Konfigurasi pembatas

Sekarang blok Anda memiliki titik tetap untuk memutar blok, Anda dapat mengonfigurasi properti dari pembatas AngularVelocity untuk menentukan arah rotasi, sumbu atau sumbu untuk menerapkan kecepatan sudut konstan target, jumlah radian yang ingin Anda blok putar per detik, dan jumlah maksimum torsi yang dapat diterapkan mesin agar blok mencapai kecepatan sudut konstan.

Permainan contoh Objek Berputar menerapkan hingga 1000 Rowton-stud gaya sudut konstan untuk memutar blok 6 radian per detik di sepanjang sumbu Y dunia dengan kecepatan sudut konstan. Rowton-stud adalah satuan fisik utama Roblox untuk mengukur torsi. Untuk merujuk satuan fisik Roblox dan bagaimana mereka dikonversi ke satuan metrik, lihat Satuan Roblox.

Untuk mengonfigurasi pembatas AngularVelocity:

  1. Agar pembatas terlihat di viewport sehingga Anda dapat merujuk arah rotasinya, aktifkan Tampilkan Detail Pembatas dari menu Tampilan Studio.

  2. Masukkan pembatas AngularVelocity ke dalam bagian.

    1. Di jendela Explorer, arahkan mouse ke bagian, lalu klik ikon ⊕. Menu kontekstual ditampilkan.
    2. Dari menu kontekstual, masukkan AngularVelocity. Alat bantu visual pembatas ditampilkan di tengah bagian.
  3. Tetapkan lampiran bagian ke pembatas baru.

    1. Di jendela Explorer, pilih pembatas.
    2. Di jendela Properties,
      1. Atur Attachment0 ke SpinAttachment.
      2. Atur AngularVelocity ke 0, 6, 0 untuk memutar bagian 6 radian per detik di sepanjang sumbu Y. Perhatikan bahwa jika Anda mengatur properti ini ke 0, -6, 0, blok akan berputar searah jarum jam.
      3. Atur MaxTorque ke 1000 untuk menerapkan hingga 1000 Rowton-stud gaya sudut konstan per detik untuk mencapai kecepatan sudut target.
      4. Biarkan RelativeTo ke World untuk memutar blok relatif terhadap posisi dan orientasi dunia.
  4. Verifikasi jumlah torsi yang Anda atur memutar blok 6 radian per detik di sepanjang sumbu Y dunia.

    • Pilih mode simulasi Run dari menu dropdown mezzanine dan klik tombol Play untuk memulai. Studio mensimulasikan permainan di posisi kamera saat ini tanpa avatar Anda di ruang 3D.

      Opsi Run di menu dropdown mode pengujian mezzanine Studio.

Anda mungkin perlu menyesuaikan torsi Anda tergantung pada skala blok Anda dan gaya fisik oposisi di lingkungan Anda. Misalnya, properti dari pembatas AngularVelocity dalam permainan contoh bekerja untuk bagian blok dengan ukuran default 4, 1, 2 di platform datar dengan material plastik, dan lingkungan dengan gravitasi preset klasik.

Namun, jika blok Anda berukuran lebih besar dan berada di tanah rumput, Anda perlu meningkatkan properti AngularVelocity.MaxTorque Anda karena gaya sudut perlu mengatasi baik massa blok dan gesekan dari lingkungan. Misalnya, bagian blok besar yang empat kali ukuran bagian contoh membutuhkan setidaknya 300000 Rowton-stud gaya sudut konstan untuk mencapai kecepatan sudut yang ditetapkan!

Gunakan pembatas HingeConstraint

Objek HingeConstraint adalah jenis pembatas mekanis yang memungkinkan dua lampiran berputar di sekitar satu sumbu, membatasi lampiran pada posisi yang sama dan sumbu utama mereka dalam arah yang sama. Ketika Anda mengatur HingeConstraint.ActuatorType ke Motor, pembatas ini menerapkan torsi pada dua lampiran dengan tujuan agar lampiran mencapai dan mempertahankan kecepatan sudut konstan.

Lebih lanjut, ketika Anda menempatkan lampiran ke dalam rakitan dengan dua objek, objek-objek tersebut terkunci bersama dan berusaha untuk berputar bersama sesuai dengan sumbu utama tetap lampiran. Jika Anda mengaitkan salah satu objek ini, gaya sudut terus memutar objek lainnya dengan kecepatan sudut konstan sementara sisa rakitan tetap diam.

Misalnya, untuk mulai memutar objek tertentu dalam rakitan, pembatas HingeConstraint perlu mengetahui:

  • Posisi di mana Anda ingin lampiran tumpang tindih.
  • Titik dan arah positif atau negatif untuk menerapkan gaya sudut.
  • Jumlah radian yang ingin Anda lampiran putar per detik.
  • Jumlah maksimum torsi yang dapat diterapkan mesin agar lampiran mencapai kecepatan sudut konstan.

Untuk mendemonstrasikan proses ini, Anda akan menambahkan rakitan baling-baling dengan dua objek ke ruang kerja Anda dengan lampiran di kedua objek yang dirujuk oleh pembatas HingeConstraint untuk memutar baling-baling 3 radian per detik (sekitar setengah putaran penuh per detik) di sepanjang sumbu Y dengan kecepatan sudut konstan sementara dasar baling-baling tetap diam.

Dapatkan aset baling-baling

Creator Store adalah tab dari Toolbox yang dapat Anda gunakan untuk menemukan semua aset yang dibuat oleh Roblox dan komunitas Roblox untuk digunakan dalam proyek Anda, termasuk model, gambar, mesh, audio, plugin, video, dan aset font. Anda dapat menggunakan Creator Store untuk menambahkan aset individu atau perpustakaan aset langsung ke dalam permainan yang terbuka.

Tutorial ini merujuk model baling-baling yang dapat Anda gunakan saat Anda meniru setiap langkah teknik HingeConstraint untuk memutar objek. Untuk mendapatkan aset baling-baling ini dari inventaris Anda ke dalam permainan Anda:

  1. Tambahkan baling-baling ke inventaris Anda.

    1. Arahkan ke halaman detail aset di Creator Store.
    2. Di sudut kanan atas, klik tombol Dapatkan Model. Aset baling-baling sekarang ada di inventaris Anda, dan Anda dapat menggunakannya kembali di proyek mana pun di platform.
  2. Di Studio, arahkan ke tab Home, lalu klik tombol Toolbox. Jendela Toolbox terbuka.

    Toolbox disorot di toolbar Studio.
  3. Di jendela Toolbox, klik tab Inventaris. Urutan Model Saya ditampilkan.

  4. Klik ubin Baling-baling. Model ditampilkan di viewport Anda.

Konfigurasi lampiran

Anda dapat menentukan baik posisi di mana Anda ingin lampiran tumpang tindih dan arah gerakan rotasi untuk memutar objek tertentu dalam rakitan dengan menambahkan dua objek Attachment ke rakitan, kemudian mengonfigurasi penyelarasan dan orientasi mereka dalam ruang 3D.

Permainan contoh Objek Berputar menyelaraskan dua lampiran dekat posisi di mana baling-baling yang tidak terikat tumpang tindih dengan dasar yang terikat, dan mengorientasikan sumbu utama rotasinya ke atas sehingga mereka berputar berlawanan arah jarum jam. Lampiran dasar tidak dapat berputar dalam contoh ini karena dasar terikat.

Untuk mengonfigurasi lampiran untuk pembatas engsel:

  1. Masukkan objek Attachment ke dalam Kepala dan Dasar.

    1. Di jendela Explorer, arahkan mouse ke Kepala dan klik tombol ⊕. Menu kontekstual ditampilkan.
    2. Dari menu, masukkan Lampiran.
    3. Ulangi proses ini untuk Dasar.
    4. Ganti nama kedua lampiran menjadi HeadAttachment dan BaseAttachment, masing-masing.
  2. Putar HeadAttachment dan BaseAttachment sehingga sumbu utama masing-masing lampiran mengarah ke atas di sumbu Y. Ini memberi tahu Studio untuk memutar lampiran berlawanan arah jarum jam.

  3. Pindahkan BaseAttachment ke bagian atas Dasar, dan HeadAttachment ke tepi bawah Baling-baling. Ini memberi tahu Studio di mana menghubungkan engsel itu sendiri, dan tumpang tindih kedua lampiran pada waktu runtime.

Konfigurasi pembatas

Sekarang lampiran Anda memiliki posisi untuk tumpang tindih dan arah gerakan rotasi, Anda dapat mengonfigurasi properti dari pembatas HingeConstraint untuk menentukan jumlah radian yang ingin Anda lampiran putar per detik, dan jumlah maksimum torsi yang dapat diterapkan mesin agar lampiran mencapai kecepatan sudut konstan.

Mirip dengan teknik sebelumnya, permainan contoh Objek Berputar menerapkan hingga 1000 Rowton-stud gaya sudut konstan untuk memutar lampiran 3 radian per detik di sepanjang sumbu Y dengan kecepatan sudut konstan. Namun, karena lampiran dasar berada di objek yang terikat, hanya lampiran baling-baling yang dapat berputar.

Untuk mengonfigurasi pembatas engsel:

  1. Masukkan objek HingeConstraint ke dalam Kepala.

    1. Di jendela Explorer, arahkan mouse ke Kepala, lalu klik ikon ⊕. Menu kontekstual ditampilkan.
    2. Dari menu kontekstual, masukkan HingeConstraint.
  2. Tetapkan lampiran baling-baling ke pembatas baru sehingga baling-baling berputar berhubungan dengan dasar yang terikat.

    1. Di jendela Explorer, pilih pembatas.
    2. Di jendela Properties,
      1. Atur Attachment0 ke BaseAttachment.
      2. Atur Attachment1 ke HeadAttachment. Engsel ditampilkan di viewport.
  3. Di jendela Explorer, pilih pembatas, lalu di jendela Properties,

    1. Atur ActuatorType ke Motor. Bidang properti baru ditampilkan.
    2. Atur MotorMaxTorque ke 1000 untuk menerapkan hingga 1000 Rowton-stud gaya sudut konstan untuk mencapai kecepatan sudut target.
    3. Atur AngularVelocity ke 3 untuk memutar kepala baling-baling 3 radian per detik.
  4. Verifikasi jumlah torsi yang Anda atur memutar baling-baling 3 radian per detik di sepanjang sumbu Y.

    • Pilih mode simulasi Run dari menu dropdown mezzanine dan klik tombol Play untuk memulai. Studio mensimulasikan permainan di posisi kamera saat ini tanpa avatar Anda di ruang 3D.

      Opsi Run di menu dropdown mode pengujian mezzanine Studio.

Terapkan gaya sudut awal

Cara lain untuk mengubah kecepatan sudut objek adalah dengan menerapkan dorongan gaya sudut. Setelah dorongan gaya sudut, objek baik melambat hingga menjadi diam jika ada gaya oposisi seperti gesekan, atau tetap bergerak dengan kecepatan konstan jika tidak ada gaya oposisi.

Teknik ini berguna untuk memutar objek setelah peristiwa gameplay atau cuaca yang signifikan, seperti hembusan angin kencang, karena memberikan umpan balik instan kepada pemain. Untuk mendemonstrasikan, subbagian berikut mengajarkan Anda bagaimana memutar rakitan dengan gaya sudut awal acak yang dapat Anda sesuaikan dengan nilai baru untuk memenuhi kebutuhan gameplay Anda sendiri.

Gunakan ApplyAngularImpulse

Metode ApplyAngularImpulse menerapkan torsi pada seluruh rakitan untuk mendapatkan kecepatan sudut awal sebelum melambat hingga berhenti. Untuk mulai memutar rakitan, metode ini perlu mengetahui:

  • Rakitan yang akan diputar.
  • Sumbu untuk menerapkan torsi untuk mencapai kecepatan sudut awal.
  • Jumlah torsi yang akan diterapkan pada setiap sumbu.

Anda dapat mendefinisikan semua nilai ini dalam skrip. Misalnya, skrip contoh mendefinisikan rakitan yang akan diputar sebagai induk skrip, kemudian menerapkan dorongan acak gaya sudut antara 0 dan 100 Rowton-stud di sumbu Y.

Untuk memutar rakitan menggunakan ApplyAngularImpulse:

  1. Masukkan bagian bola ke dalam Workspace. Contoh menggunakan bola dengan MaterialVariant sehingga Anda dapat dengan jelas memvisualisasikan gerakan bola.

  2. Masukkan skrip ke dalam bagian baru.

    1. Di jendela Explorer, arahkan mouse ke bagian dan klik tombol ⊕. Menu kontekstual ditampilkan.
    2. Dari menu, masukkan Skrip.
  3. Ganti kode default dengan kode berikut:

local part = script.Parent
local impulse = Vector3.new(0, math.random(0, 100), 0)
part:ApplyAngularImpulse(impulse)
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.