Hareketli nesneler , 3D alanındaki bir veya daha fazla eksen hareket ettiren nesnelerdir. Roblox'un simülasyon motorunun içindeki gücü kullanarak, nesneleri hareket ettirip etkileşim kurabilirsiniz nesneleri gerçek dünya fiziksel davranışının oyunculara tanıdık ve mantıksal olarak kullanıcılarını
Bu referans olarak Hareketli Nesneler.rbxl dosyasını kullanarak, bu öğretici Studio'da fiziksel güçlerin lineer hareketi üzerinde nasıl etkilediğini açıklar ve size farklı hareket davranışlarındaki nesneleri nokta A'dan nokta B'ye hareket etmenin çeşitli yöntemlerini gösterir, hướnglendirme dahil:
- Bir Class.LinearVelocity mover kısıtlayıcısını kullanarak bir tüm montajı sabit bir hızda hareket ettirme.
- Bir montajı tek bir eksen üzerinde sınırlamak ve 3D alanındaki bir noktaya kadar konvektör olarak hızlandırmak için bir PrismaticConstraint kullanıyor.
- Class.BasePart.ApplyImpulse|ApplyImpulse yöntemini kullanarak bir montajı hızlı bir şekilde yer değiştirerek hızlı bir şekilde hızlandırma eylemini yapar.
Dizilsel Hareket ve Fiziksel Güçler
Roblox Studio, fiziksel davranışları gerçek zamanlı olarak simüle eden gerçek dünya simülasyon motorudur, bu nedenle nesnelerin lineer olarak hareket ettiğini tahmin etmek için yüksek seviyeli bir anlayışa sahip olmak önemlidir. Linear motion eksenler boyunca hareket. Örneğin, bir blokun lineer hareketi olduğunda, set eksenleri boyunca hareket eder.
Yer çekimi olmadan hareket edilemezsiniz. Newton'un ilk hareket yasası gereğince, hareket edilemeyen hareketli nesneler hareket edilemez ve hareket edilebilir nesneler hareket edilebilir hızla hareket eder. Örneğin, bir duraklı blok hareket edilemezsiniz, bir hareket edilebilir nesne hareket edilebilir hızla hareket eder, a
Güç bir nesnenin eksenleri boyunca direksiyon ve büyüklüğünü değiştiren fiziksel bir itme veya çekme gücünün ölçeğidir. Bir değişiklik hızının şeklini hızlandırma olarak bilinir. Bu konu Studio'da nesnelerin hareket etmesi için özellikle önemlidir; nesnelerin hızına
Bunun nedeni, gücün herhangi bir fiziksel gücün arkasına doğru itilmesi gerektiğinden daha büyük olması gerektiğidir, örneğin, yer çekimi veya kayma gibi. Örneğin, eğer blok bir metal plakaya yerleştirilseydi, rüzgarın gücü metal plaktan çok daha fazla
Linear velocity bir nesnenin hızını ölçer, veya nesnenin bir eksen üzerinde bir süre içinde pozisyonunu değiştirme hızı. Studio, nesnenin hızını Roblox'un başına gelen hızla ölçer. Studs, uzunluğu ölçmek için Roblox'un ana fiziksel birimi olup her stud yaklaşık 28cm'lik bir
Linel hızını anlamak, deneyimlerinizde oyun oynama tasarımı için önemlidir, çünkü bu, hareket eden nesneleriniz için belirli bir hız için gereken gücü belirlemenize yardımcı olur. durum, nesneleri yukarı yönlendirmek istediğinizde, gücünüzü çevre çevresi içinde hızlı bir şekilde ayarlamanız gerekt
Aşağıdaki bölümler, objeleri herhangi bir sabit veya yer çekimi hızıyla hareket ettirmeyi öğrendiğinizde bu konulara daha derine iner. Bu fiziksel güçleri Studio ile herhangi bir karşılıklı hareket davranışının üstesinden gelmek için gerekli güçle yer çekimi hızını ayarlamanız gerektiğini görmek için bu fiziksel güçleri gözden
Konsantrik Hızı Korumak
Bir nesnün konvektörünü aşmak ve tutmak için bir güce ihtiyacı vardır, böylece nesnenin lineer hızını azaltır veya nesneyi durdurur. Örneğin Studio'da nesnenin lineer hızını [0, 12, 0] olarak ayarlayabilirsiniz, ancak nesnenin
Gereken güç miktarı sadece çevredeki fiziksel güçlerin miktarına bağlı değil, aynı eksenin hareketindeki iki nesneye de, bununla birlikte nesnenin kendisi için daha fazla güç gerekir. Örneğin, eğer aynı şekilde hareket eden iki nesneye sahipseniz, daha büyük hacme sahip olan nesnenin daha fazla güce sahip olması gerekir.
Aşağıdaki alt bölümler farklı şekiller ve boyutların bir araya getirilmesini kullanır kullanıcılara bir nesneyi hızlı bir şekilde hareket ettirmeyi öğretmek için. Senaryoların farklı özellikleri değerleriyle deneyler yaparken, senaryoların maksimum gücünü tahmin etmeyi öğreneceksin.
Yer çekimi kısıtlamalarını kullanmak
LinearVelocity nesneleri bir tür mover约束 nedir ki, bir bütün montaj üzerinde gücü korumak için kuvveti uygulayan bir tür şekildir. Montajın pozisyonunu bir eksen boyunca kilitlemezken, montaj özgür bir şekilde dönebilir. Bu tür bir hareket, oyuncular
Class.LinearVelocity kısıtlamasının başlamak için bilmesi gereken:
- Bir gücü uygulamak için nokta ve olumlu veya olumsuz yön.
- Yapının her saniye hareket etmesi gereken adım sayısı.
- Motorun üretim hızına ulaşması için uygulayabileceği maksimum güç miktarı.
Bu süreci göstermek için, bir LinearVelocity kısıtlayıcısına sahip bir lily pad'i yapılandırırsınız, lily pad'i dünyanın olumsuz X ekseninde 15 stud başına saniyede dünyanın olumsuz X ekseninde dünyanın olumsuz X ekseninde dünyanın olumsuz X ekseninde dünyanın olumsuz X ekseninde d
Eklentileri Ekle
Gücü uygulamak için bir Attachment nesneyi bağlayarak nesneyi kaynağa ekleyin ve ardından bağlantının konumunu 3D alanında yapılandırın. Örnek Hareketli Nesneler deneyim, bir bağlantıyı merkezinde hareket ettirme sınırının malzemeyi belirli bir eksen ü
Eklentiler, hareket eksenlerinin bakış açılarını görmenize yardımcı olacak görsel yardımcıları içerir. Sarı ok, eklentinin ana eksenini gösterir ve turuncu ok, eklentinin birincil eksenini gösterir. Bu teknikteki lily pad'in hareketini etkilemeyen görsel
Bir bağlantıyı eklemek için:
In the Explorer window, expand the LinearVelocityExample folder, then expand its child LilyPad_DIY model.
Bir eklentiyi Pad meshesine gir.
- Meshe üzerine fareyi geçirin ve ⊕ düğmesine tıklayın. Bir konteyner menüsü görüntülenir.
- Menüden bir Eklentisi girin. Eklenti parçanın merkezinde görüntülenir.
- Eklentiyi EklentiyiHareket ettirmeEklentisi olarak yeniden adlandırın.
Kısıtlayıcıyı Yapılandır
Şimdi meselenizin bir noktasını sabit hale getirdiği için lily pad'i hareket ettirmeyi yapabilirsiniz, bir LinearVelocity kısıtlayıcısının yönünü ve büyüklüğünü belirtmek için meselenizin bir özelliğini yapılandırabilirsiniz, meselenizin hareket ettiği anda hareket hızınızın y
Örnek Hareketli Nesneler deneyimi, dünyanın olumsuz X ekseninde saniyede 15 adet gül padsını hareket etmek için 5000 Roblox'a kadar sürekli güç gereksinimini uygulayarak 5000'e kadar güç hareketi yapar. Robtonlar, gücü ölçmek için Roblo
Bir LinearVelocity kısıtlamasını yapılandırmak için:
(isteğe bağlı) 3D alanında kısıtlayıcıyı görünür hale getirin, böylece onun lineer yönünü referans edebilirsiniz.
- Menü çubuğunda, Model sayfasına, sonra Sınırlar bölümüne gidin.
- Eğer şu anda etkin değilse, Kısıtlayıcı Ayrıntıları tıklayarak kısıtlayıcı görsel yardımcıları gösterin.
Bir Pad meshesine bir Class.LinearVelocity kısıtlayıcısı ekleyin.
- In the Explorer window, hover over the mesh, then click the ⊕ simge. A contextual menu displays.
- Konteks menüsünden LinearVelocity ekleyin.
Meshenin bağlantısını yeni kısıtlayıcıya atar.
- In the Explorer window, select the constraint.
- Özellikler penceresinde,
- Set Attachment0 to MoveArrow .
- Hedef yer çekimi hızını yakalamak için MaxForce ı 5000 ına ayarlayın, böylece hedef yer çekimi hızını yakalayın.
- Lily pad'i dünyanın pozisyon ve yönüne göre hareket ettirmek için RelativeTo ile World 'e tut.
- VelocityConstraint ile çizgiye gücü sınırlayanı ayarlayın.
- Set LineDirection を -1, 0, 0 に ayarlayarak lily pad'i dünyanın olumsuz X ekseninde hareket ettirin. Not edin ki, bu özelliği 1, 0, 0 olarak ayarlarsanız lily pad'i dünyanın olumsuz X ekseninde hareket ettirir.
- Set Hizmet Hızınızı 15 to move the lily pad 15 studs per second.
Belirlediğin güç miktarının dünyanın olumsuz X ekseninde her saniye 15 adet meshes hareket ettirdiğini doğrula.
Menü çubuğunda, Test sekmesine gidin.
Simülasyon bölümünde, Mod Seçici 'yı tıklayın. Bir dropdown menüsü görüntülenir.
Select Koşu . Studio 3D alanındaki avatar'ınız olmadan mevcut kameranın pozisyonunda deneyimi simüle eder.
PrismaticConstraint Kısıtlama Kullanıyor
PrismaticConstraint nesneleri, iki bağlantı arasında bir katlanma oluşturan bir tür meханиче kısıtlayıcı nesneleridir, böylece onların ebeveynleri birbirlerine paralel olarak hareket edebilir. Locking both assemblies' position to a single axis, eachAssembly is only able to rotate if they rotate together in the same
Bu tür hareketler, oyuncuların tahmin etmesi daha kolay olan sabit oyun senaryolarına yol açar. Örneğin, örnek Hareketli Nesneler deneyimi, oyuncuların devasa bir nehiri dikkatlice geçmelerine yardımcı olmak için PrismaticConstraint nesnelerini kullanır.
Motor'a PrismaticConstraint.ActuatorType ayarladığınızda, bu kısıtlayıcı Motor üzerindeki iki bağlantıyı zorla uygulayarak gücü kullanır. Eğer bir bağlantının ebeveyn kısmını bağlayan bir bağlantının ebeveyn kısmını bağ
Class.PrismaticConstraint kısıtlaması, montajı başlatmak için bilmesi gereken:
- Bir gücü uygulamak için nokta ve olumlu veya olumsuz yön.
- Eklentilerin hareket etmesi için istediğiniz başına sayısı.
- Motorun bağlantıları ve onların ebeveynleri için uygulayabileceği maksimum güç miktarı.
Bu süreci göstermek için, bir PrismaticConstraint referansına sahip iki objeyle bir günlük montajı yapılandırırsınız, böylece günlük 40 milisaniye boyunca dünyanın olumsuz X ekseninde sabit bir hızla logu hareket ettirirsiniz.
Eklentileri Yapılandır
Bir öğeyi bir montaj içinde hareket etmenin yönünü belirlemek için, montaja iki Attachment nesneyi ekleyerek, yönünü ve yerini 3D alanında yapılandırerek, yapılandırmayı ve yönlendirmeyi yeniden ayarlayarak, örnek Hareket Etmek İ
PrismaticConstraint kısıtlamanızı bir sonraki bölümde yapılandırdığınızda, günlüğü ilişki olarak yerleştirme parçasına hareket edecek. Diğer bir deyişle, günlüğu 3D alanında sabit olarak tutulan sabit parçasından uzaklaştırır.
Prismatic kısıtlaması için bağlantıları yapılandırmak için:
In the Explorer window, expand the PrismaticConstraintExample folder, then expand its child Log_DIY model.
Bir eklentiyi Günlük meshesine gir.
- Meshe üzerine fareyi geçirin ve ⊕ düğmesine tıklayın. Bir konteyner menüsü görüntülenir.
- Menüden bir Eklentisi girin. Eklenti parçanın merkezinde görüntülenir.
- Eklentiyi Günlük Eklentisi olarak yeniden adlandırın.
Aynı süreci kullanarak, bir bağlantıyı Anchor parçasına yerleştir, sonra bağlantıyı AnchorAppearance olarak yeniden adlandır.
Dünyanın koordinatları için referans olarak Seçiciyi Görüntülemez araç kullanıyor, LogArrow ve AnchorArrow 'i her bağlantının ana eksenine kadar döndürür
Eşyaların tümü dünyanın X ekseninde hizalanabilir hale getirmek için AnchorAmount adlı eklentiyi yeniden konumlandırın.
Kısıtlayıcıyı Yapılandır
Şimdi bağlantılarınız aynı eksen üzerinde hizalanır ve aynı yönü istediğiniz yönlendirmeyi yapmak için günlüğün hareket etmesini istediğiniz yön veya bir bağlantının birincil eksenindeki hedef hızını belirtmek için özelliklerini yapabilirsiniz.
Kendi kullanım senaryoların için farklı değerler seçebilirsiniz, ancak örnek Hareketli Nesneler deneyimi, bağlayıcıları dünyanın olumsuz X ekseninde saniyede 40 radyuslu hareket etmek için sürekli güçte 50000 Rowtons'a kadar değişken güç uygulanır. Ancak, ana ç
Bir prismatic kısıtlayıcıyı yapılandırmak için:
Bir Class.PrismaticConstraint nesneyi Log meshesine girer.
- In the Explorer window, hover over the mesh, then click the ⊕ simge. A contextual menu displays.
- Konteks menüsünden bir PrismaticConstraint ekleyin.
Günlüğün bağlantılarını yeni kısıtlayıcıya atayarak günlüğü ancorlanmış blok bölümüne hareket ettirin.
- In the Explorer window, select the constraint.
- Özellikler penceresinde,
- Set Attachment0 to AnchorAttachment .
- Eklentisi1 LogAmounti bağlayıcıyı ayarlar. Kısıtlayıcı, görüntü alanında görüntülenir.
In the Explorer window, select the constraint, then in the Properties window,
- Set ActuatorType to Motor . New property fields display.
- MotorMaxForce'ı 50000 ile yüklenmiş olacak şekilde ayarla, hız hedefine ulaşmak için maksimum 50000 Rowtons'luk statik gücünü uygula.
- Hızı Velocity bir saniyede 40 stud'u hareket ettirmek için 40 olarak ayarla.
Belirlediğin güç miktarının dünyanın olumsuz X ekseninde her saniye 40 adet hareketi hareket ettiğini doğrula.
Menü çubuğunda, Test sekmesine gidin.
Simülasyon bölümünde, Mod Seçici 'yı tıklayın. Bir dropdown menüsü görüntülenir.
Select Koşu . Studio 3D alanındaki avatar'ınız olmadan mevcut kameranın pozisyonunda deneyimi simüle eder.
Bir İlk Lineer Gücü Uygulanması
Bir nesnenin lineer hızını değiştirmek için bir güç dalgası uygulayarak. Sonra güç dalgasından sonra, nesnenin durma hızına kadar yavaşlar veya direnç gibi bir güç olmazsa hızlı hareket eder. Bir direnç olmadığından hareket ederse, yer çekimi gibi bir güç değeri hızını değiştirir.
Bu teknik, bir çığlık veya etkili bir çarpışma gibi önemli bir oyun etkinliğinden sonra nesneleri hareket ettirmek için yararlıdır, çünkü oyuncular anında geri geri dönüşsağlar. Göstermek için, aşağıdaki bölüm oyuncunun karakterini yeni değerlerle gökyüzüne doğru yükseltir.
ApplyImpulse'ı Kullanıyor
Class.BasePart.ApplyImpulse|ApplyImpulse yöntemi, bir tüm montaj üzerinde güç uygular ve böylece yavaşlatıcıyla durdurulduğunda başlangıç liner hızını elde etmek için gerekir. Montajı hareket etmeye başlamak için yöntemin bilmesi gereken:
- Hareket ettirilecek montaj.
- Bir ilk lineer hızına ulaşmak için gücü uygulayacak eksen.
- Her eksen için uygulanacak güç miktarı.
Tüm bu değerleri bir kısmınızda tanımlayabilirsiniz. Örneğin, örnek kısmı, oyuncu karakterinin Humanoid nesnini birleştirmeyi tanımlar, sonra oyuncu karakterleri dünyanın olumlu Y ekseninde oyuncu karakterleri
Bir montajı ApplyImpulse kullanarak hareket ettirmek için:
- In the Explorer window, expand the ApplyImpulseExample folder, then expand its child JumpPad_DIY model.
- Bir JumpPad bölümüne bir senaryo girin.
- Parçaya fareyi getirin ve ⊕ düğmesine tıklayın. Bir konteyner menüsü görüntülenir.
- Menüden bir Script ekle. Aksesuar parçanın merkezinde görüntülenir.
- Skripti Zıplama Komutu olarak yeniden adlandırın.
- Aşağıdaki kodu varsayılan kodla değiştirin:
local volume = script.Parent
local function onTouched(other)
local impulse = Vector3.new(0, 2500, 0)
local character = other.Parent
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid and other.Name == "LeftFoot" then
other:ApplyImpulse(impulse)
end
end
volume.Touched:Connect(onTouched)