Home
» 🎮 E-sport
»
Hoe maak je een realistische rijdende auto in Roblox Studio: stap voor stap
Hoe maak je een realistische rijdende auto in Roblox Studio: stap voor stap
Hoe maak je een realistische rijdende auto in Roblox Studio?
Om een rijdende auto te maken in Roblox Studio, bouw je een chassis, verbind je elk wiel met correct uitgelijnde HingeConstraints , gebruik je een VehicleSeat voor de input van de speler en laat je een serverscript die input omzetten in wielkoppel en besturing. Met deze opstelling krijg je draaiende wielen, werkende voorwielbesturing en botsingsdetectie zonder dat je afhankelijk bent van de VehicleSeat om de scharniermotoren automatisch aan te sturen.
De onderstaande afbeeldingen zijn Studio-achtige handleidingen voor het plaatsen van objecten, geen exacte schermafbeeldingen van de huidige editor. Volg de namen, instellingen en code in de instructies. Deze beginnersversie heeft achterwielaandrijving en een star chassis; er is geen vering of differentieel aanwezig.
Wat je nodig hebt voordat je gaat bouwen
Roblox Studio en een leeg Baseplate-project.
Basiskennis van de panelen Explorer en Properties is vereist.
Acht korte bouwstappen. Zorg ervoor dat de auto in de negatieve Z- richting staat (de voorwaartse richting in Roblox), zodat het stuursymbool in het script overeenkomt.
Het kernidee is belangrijk: een HingeConstraint verbindt twee Attachments op een gemeenschappelijk punt en as. Een motorscharnier is gericht op hoeksnelheid; een servoscharnier is gericht op een hoek. De documentatie van Roblox's VehicleSeat legt ook uit dat de ingebouwde beweging alleen motoren detecteert die direct op de stoel zijn aangesloten of via starre verbindingen. Omdat de wielen zich buiten de scharnieren bevinden, leest het besturingsscript de input van de stoel en werkt het de scharnieren zelf bij.
Stap 1: Maak het chassis en het automodel.
Maak in Workspace een model met de naam Car. Voeg een onderdeel toe met de naam Chassisen stel de grootte in op ongeveer (6, 1, 10). Plaats het iets boven de basisplaat, gecentreerd op ongeveer (0, 2.3, 0). Stel het primaire onderdeel van het model in op Chassis. De exacte schaal kan variëren; de afmetingen hier zijn beginproporties, geen motorlimieten.
Een laag, rechthoekig chassis vormt een enkel, stijf frame voor de wielophanging en de carrosseriepanelen.
Stap 2: Voeg de carrosserie en de vier wielen toe.
Voeg eenvoudige onderdelen toe voor de motorkap, de cabine en de achterkant van de carrosserie. Plaats ze boven het chassis en verbind elk decoratief onderdeel met het chassis met een WeldConstraint . Stel decoratieve onderdelen in op CanCollide = falseen, als ze alleen visueel zijn, op Massless = true. Houd het chassis als het belangrijkste botsbare frame.
Maak vier cilinderonderdelen met de namen WheelFL, WheelFR, WheelRL, en WheelRR. Draai elke cilinder op zijn zijkant zodat de as van links naar rechts loopt. Plaats de wielnaven op de volgende afstanden van het midden van het chassis:
Wiel
Afstand tot het chassis
Positie
WheelFL
Vooraan links
(-3,5, -1, -3,2)
WheelFR
Rechtsvoor
(3.5, -1, -3.2)
WheelRL
Linksachter
(-3,5, -1, 3,2)
WheelRR
Rechtsachter
(3.5, -1, 3.2)
Bij een wieldiameter van 2,6 bouten zorgen deze offsets ervoor dat de onderkant van de band dicht bij de basisplaat komt wanneer het chassiscentrum zich in de buurt van Y = 2,3 bevindt. Stel de wielen CanColliderecht af. Las de wielen niet vast aan het chassis; ze moeten op hun scharnieren kunnen draaien.
De carrosseriepanelen zijn stevig aan het frame bevestigd, terwijl de vier wielen afzonderlijke, bewegende onderdelen blijven.
Stap 3: Plaats de wielbevestigingen en stuurnaven.
AttachmentVoeg in het midden van elk wiel een punt toe en geef dit de naam AxleAttachment. Voeg bijpassende asbevestigingen toe aan het chassis in het midden van de wielen. De twee bevestigingen voor elk wielscharnier moeten dezelfde positie in de wereldcoördinaten innemen en hun gele aspijlen moeten in dezelfde richting wijzen. Lijn voor de wielverbindingen die as horizontaal uit over de auto.
Voeg voor de voorwielen kleine naafonderdelen toe met dezelfde namen HubFLen HubFRop dezelfde centra als de voorwielen. Stel ze in als transparant, niet-botsbaar en massaloos. Elke naaf heeft twee bevestigingspunten nodig: een verticaal uitgelijnd stuurscharnier en een horizontaal uitgelijnd asbevestigingspunt. Gebruik de visualisatie van de beperkingen in Studio om de assen te controleren voordat je gaat testen; een scharnier dat verdraaid of verschoven is, zal vastlopen of wiebelen.
Lijn de bevestigingsassen uit voordat je beperkingen toevoegt; de as van de wielassen loopt dwars door de auto.
Stap 4: Motoriseer de achterwielen
Voeg twee HingeConstraintobjecten toe aan het automodel: MotorRLen MotorRR. Verbind voor elk object de bijbehorende chassis-asbevestiging met de achterwielaansluiting AxleAttachment. Stel ActuatorTypein op Motoren begin met MotorMaxTorque = 8000en MotorMaxAcceleration = 60. De controller zal instellen AngularVelocityterwijl de speler rijdt.
Deze koppelwaarden dienen als uitgangspunt voor het afstellen van deze kleine voorbeeldconstructie. Als de banden slippen zonder dat de auto beweegt, controleer dan of het chassis niet verankerd is, de achterwielen de grond raken en beide scharnierpunten goed zijn uitgelijnd. Voeg geen WeldConstraint toe over een motorscharnier.
Het wiel kan vrij draaien omdat de verbinding met het frame een scharnier is en geen lasverbinding.
Stap 5: Voeg voorwielbesturing en vrij draaiende wielen toe
Verbind voor elke voorzijde het chassis met de naaf met een stuurinrichting HingeConstraintgenaamd SteerFLof SteerFR. Stel de waarde ActuatorTypein op Servo, schakel de limieten in en stel de onderste en bovenste hoeken in op ongeveer -25 en 25 graden. Stel ServoMaxTorquede startwaarde in op ongeveer 8000.
Voeg vervolgens een tweede scharnier toe van elke naaf naar het bijbehorende voorwiel, genaamd SpinFLen SpinFR. Stel ActuatorTypein op None, zodat de voorwielen vrij kunnen rollen terwijl de achterwielen de auto voortduwen. Voor de stuurscharnieren moeten beide draaiassen verticaal wijzen. Het script gebruikt een minteken voor rechts sturen omdat het model in de -Z-richting staat; als uw wieldraaipunten de verkeerde kant op wijzen, draai dan het teken om.
De naaf draait naar links en rechts, terwijl een apart scharnier ervoor zorgt dat het wiel kan draaien.
Stap 6: Installeer de VehicleSeat en ontkoppel de auto
Plaats een stoel VehicleSeatin het automodel en positioneer deze boven het chassis, op de plek waar de bestuurder moet zitten. Verbind de stoel stevig met het chassis met een WeldConstraint. De stoel levert de gas- en stuurinput van de speler; het onderstaande aangepaste script geeft deze waarden door aan de scharniermotoren en servo's.
Houd de onderdelen vast als dat helpt bij het positioneren. Plaats, voordat je de auto laat rijden, Anchored = falsehet chassis, de stoel, de carrosseriedelen, de naven en de wielen. Zorg ervoor dat elk bewegend onderdeel en elke beperking is gekoppeld aan het automodel. Gebruik VehicleSeatde exacte naam van de stoel.
Plaats de zitting over het chassis en las deze vervolgens vast aan het frame voordat je gaat testen.
Stap 7: Voeg de server-side autocontroller toe
Voeg een reguliere auto toe Scriptaan het model 'Car', geef deze de naam CarControlleren plak deze code erin. De code leest ThrottleFloatde SteerFloatgegevens van de stoel, stuurt de twee achterste motorscharnieren aan en richt de voorste stuurservo's. Zorg ervoor dat dit een serverscript is en geen lokaal script, zodat de voertuiglogica niet alleen op de client van de bestuurder draait.
local RunService = game:GetService("RunService")
local car = script.Parent
local seat = car:WaitForChild("VehicleSeat")
local driveMotors = {
car:WaitForChild("MotorRL"),
car:WaitForChild("MotorRR"),
}
local steeringServos = {
car:WaitForChild("SteerFL"),
car:WaitForChild("SteerFR"),
}
local MAX_WHEEL_ANGULAR_SPEED = 28 -- radians per second
local MAX_STEERING_ANGLE = 25 -- degrees
RunService.Heartbeat:Connect(function()
local occupied = seat.Occupant ~= nil
local throttle = occupied and seat.ThrottleFloat or 0
local steer = occupied and seat.SteerFloat or 0
for _, hinge in ipairs(driveMotors) do
hinge.AngularVelocity = throttle * MAX_WHEEL_ANGULAR_SPEED
end
for _, hinge in ipairs(steeringServos) do
-- The car faces -Z; reverse this sign if your axes turn the other way.
hinge.TargetAngle = -steer * MAX_STEERING_ANGLE
end
end)
Zorg ervoor dat de vier scharniernamen in de Verkenner exact overeenkomen met de namen in het script. De motorscharnieren moeten in de Eigenschappen op 'Motor' staan en de stuurscharnieren op 'Servo'. Voor een goede respons in multiplayer wijst Roblox standaard automatisch het eigenaarschap van het fysicanetwerk toe. Je kunt indien nodig het eigenaarschap van een voertuigassemblage toewijzen aan de bestuurder, maar door de client beheerde fysica kan worden gemanipuleerd; valideer daarom elke voertuigbeweging die van invloed is op de wedstrijdresultaten of beloningen.
Gebruik het bovenstaande codeblok als de bron van waarheid; deze editor-achtige weergave dient slechts als plaatsingsrichtlijn.
Stap 8: Testen, afstemmen en perfectioneren
Start een test, ga in de stoel zitten en gebruik de normale bewegingsbesturing. Op de desktop is de standaard voertuiginput meestal W/S voor vooruit en achteruit en A/D voor sturen, afhankelijk van de besturingsinstellingen van uw ervaring. Observeer wielspin, richting, bochten nemen en botsingen op een groot, vlak testterrein. Wijzig één instelling tegelijk:
De auto beweegt achteruit: keer het teken van de hoeksnelheid van de achtermotor om, of draai beide bevestigingsassen van de achteras om.
De stuurrichting is omgekeerd: verwijder het minteken ervoor steerin het script.
De wielen draaien, maar de carrosserie blijft op zijn plaats: controleer of het chassis niet verankerd is, of de achterste scharnieren naar de juiste onderdelen verwijzen en of de banden de grond raken.
De auto schudt of slaat over de kop: verlaag de carrosserie, verminder het koppel of de stuurhoek en zorg ervoor dat sierpanelen niet kunnen botsen, zodat ze niet aan het chassis blijven haken.
De voorwielophanging stuurt niet: controleer of elk servoscharnier de verticale draaipuntbevestiging van de naaf gebruikt en niet de bevestiging aan de wielas.
Zodra het basisvoertuig werkt, kun je koplampen en achterlichten toevoegen, een geluidsobject voor een motorgeluid of een deeltjesemitter voor de uitlaat. Een echte upgrade van de ophanging vereist veren of ophangingsbeperkingen en meer afstelling; deze Roblox Studio-auto voor beginners richt zich op een stabiel chassis, draaiende wielen en een responsieve besturing.
Een speeltest controleert of het voertuig vooruit rijdt, kan sturen en de wielen op de weg blijven.
Waarom deze constructie werkt
De oude methode waarbij elk wiel aan het chassis werd gelast, verhinderde dat het wiel kon draaien, en een VehicleSeat alleen bood geen garantie voor controle over scharnierende wielen. Dit ontwerp scheidt de taken: WeldConstraints houden de carrosserie en de stoel stevig op hun plaats, HingeConstraints zorgen voor rotatie en besturing, en een serverscript koppelt de input van de speler aan deze actuatoren. Begin hier met de geometrie en instellingen, en pas vervolgens het motorkoppel en de stuurhoek aan op de massa en schaal van je auto.