Unity 2D-verbindingen afstand, scharnier, doel en vaste verbindingen

Wat je gaat creëren

Invoering

Unity is een bekende, goed gedocumenteerde en zeer erkende game-engine. Het is een oplossing met meerdere platforms en u kunt ook games of toepassingen maken die op verschillende platforms zijn gericht (onder andere iOS, Android, internet en pc). Oorspronkelijk was Unity gericht op 3D-ontwikkeling, maar recente releases bieden hulpmiddelen voor 2D-ontwikkeling.

Unity is een geweldige keuze voor aspirant game-ontwikkelaars, omdat het werkt voor de meeste mobiele, desktop- en consoleplatforms, en nog beter, het is gratis te gebruiken voor ontwikkelaars en studio's met een lagere opbrengst..

Een van de belangrijkste componenten van Unity zijn natuurkundige gewrichten. Die verbindingen hebben fysieke eigenschappen (zoals de naam doet vermoeden) en laten je verschillende verbindingen maken tussen objecten in je scène.

Met behulp van verbindingen kun je een verbinding tussen twee objecten beschrijven, wat betekent dat je de fysica van bijna elk uit meerdere delen bestaand object dat je maar kunt bedenken, kunt simuleren, inclusief deuren, glijdende platforms, kettingen of zelfs sloopballen.!

Deze tutorial zal zich toeleggen op het uitleggen van de manier waarop 2D physics-verbindingen werken en hoe je ze kunt gebruiken om geweldige effecten te bereiken (zonder de spelprestaties te moeten opofferen).

voorwaarden

Zorg eerst voor de nieuwste versie van Unity, die u hier kunt downloaden. In deze zelfstudie gebruiken we de versie 5.4.1f1. Zorg ervoor dat u de nieuwste Unity-versie gebruikt; anders kunt u problemen ondervinden bij het volgen van de zelfstudie en het gebruik van de natuurkundige gewrichten.

Voordat we beginnen, zou ik ook graag Ryukin Studio willen bedanken voor het gebruik van hun pakket 2D Platformer Art Pack - Demo voor deze tutorial.

Download vervolgens de Unity2DJointsStarter het dossier. Unzip en open het project in Unity. De demo-scène zou automatisch moeten worden geopend, maar als dat niet het geval is, kunt u deze vanuit het project openen Tafereel map.

De scène zou er als volgt uit moeten zien:


Zoals u kunt zien, hebben we een personage en verschillende statische platforms die overal ter wereld worden geplaatst. Het idee achter deze tutorial is om een ​​klein 2D-platformspel te maken terwijl je de 2D-gewrichten gebruikt om obstakels te creëren die de speler moet overwinnen. In deze zelfstudie kunt u alle 2D-voegtypen van Unity uitproberen en zien hoe ze werken, met uitzondering van de Wielverbinding 2D.

Als je op play drukt, zie je dat alle basisfuncties voor het spelen van de game al zijn geïmplementeerd. U kunt de toetsenbordpijlen gebruiken om het teken en de spatiebalktoets te verplaatsen om te springen.

Distance Joint 2D

Met de afstandsverbinding kan een sprite die wordt bestuurd door 2D-fysica rond een specifiek punt roteren, terwijl een zekere afstand tot dat punt wordt gehandhaafd. Je gebruikt de afstandsverbinding 2D om het eerste obstakel te creëren, een slingerend mes. Maak een nieuw GameObject in de Positie (4.75, -1.25, 0) en noem het Blad.

Breid vervolgens de uit GameAssets map en open de platforms map. Daar vindt u verschillende prefabs die worden gebruikt voor het maken van de niveau-platforms. Sleept de Platform6 prefab uit de map en laat het over de Blad GameObject. Dit maakt het een kind van dat object.

Nu moet je een aantal eigenschappen van dit nieuwe game-object bewerken. Wijzig eerst de Platform6 naam voor Platform en dan zijn positie tot (-0.07042211, 3.60032, 0). Stel nu de Bestel in laag naar 3 in de Sprite Renderer bestanddeel.

Binnen in de Box Collider 2D, schakel de Gebruikt door Effector parameter en verwijder de bijgevoegde Platform Effector 2D component. Voeg ten slotte een toe Rigidbody 2D, reeks Is Kinematic naar waar en draai Rotatie bevriezen op in Z.

Het platform dat het mes vasthoudt, is gereed. Het is tijd om het blad zelf toe te voegen. Binnen in de Gratis activa \ Sprite map, selecteert u de AxeBlade sprite en sleep het over de Blad GameObject, een nieuw kind maken.

Zoals je waarschijnlijk hebt gemerkt, is de sprite te groot en zit hij niet op de juiste plaats. Verander de Positie naar (-0,11, 3,56, 0) en de Schaal naar (0,5, 0,5, 1). Stel ook de Bestel in laag naar 2.

Voordat u het mes kunt laten werken, moet u er verschillende componenten aan toevoegen. Begin met het toevoegen van een Polygoon Collider 2D en een Rigidbody 2D. Zorg ervoor dat de Massa ingesteld op 10.

U bent nu klaar om de. Toe te voegen Distance Joint 2D. Voeg de toe Distance Joint 2D component. Zoals je misschien opmerkt, heeft dit nieuwe onderdeel verschillende parameters die je kunt aanpassen om het beste resultaat voor je spel te produceren.

Vrees niet, je zult snel leren wat al deze parameters doen en hoe je ze kunt aanpassen. U zult ook opmerken dat als u eenmaal het onderdeel hebt aangesloten op de AxeBlade, een groene lijn strekt zich uit van de AxeBlade naar het midden van het scherm. Dit is het beginpunt, de Verbonden anker eigendom.

Voer de scène uit en houd het mes in de gaten. Meteen zul je merken dat het blad over het scherm vliegt tot het stopt bij het beginpunt en dan begint te rollen op het gewricht. U moet dit probleem oplossen.

Richt uw aandacht op de Distance Joint 2D component in de Inspecteur. De eerste parameter is Botsing inschakelen. Dit bepaalt of de twee objecten die door het gewricht zijn verbonden, met elkaar kunnen botsen. In dit geval wil je niet dat dit gebeurt, dus laat het niet aangevinkt.

De tweede parameter is Verbonden onbuigzaam lichaam. Terwijl het ene uiteinde van de afstandverbinding altijd verbonden blijft met het object dat het onderdeel bevat, kunt u dit veld gebruiken om een ​​verwijzing naar een object door te geven voor het andere uiteinde van de verbinding van het gewricht. Als u dit veld leeg laat, verbindt Unity eenvoudig het andere uiteinde van het gewricht met een vast punt in de scène.

U wilt verbinden AxeBlade naar Platform in dit geval, dus sleep Platform naar de Verbonden onbuigzaam lichaam veld-.

Met de verbinding ingesteld en AxeBlade nog steeds geselecteerd, zou u nu de twee objecten moeten zien die verbonden zijn door het gewricht in de Tafereel uitzicht. U kunt de verbinding controleren door de Y waarde van de AxeBlade. doe nietvergetenstel de AxeBlade Positie terug naar (-0,11, 3,56, 0) als je ermee klaar bent.

De volgende parameter van de component is Automatisch Verbonden anker configureren. U moet dit vakje aanvinken als u wilt dat Unity automatisch de ankerlocatie instelt voor het andere object waarmee deze verbinding verbinding maakt. Wat is het anker, vraag je je misschien af? Welnu, we zullen er zo meteen over praten, maar nu moet je leren dat het ankerpunt handmatig of automatisch kan worden ingesteld (door Unity).

In dit geval wilt u dit veld uitgeschakeld laten, omdat we het anker handmatig gaan instellen.

De volgende parameter is Anker. Deze geeft aan waar het eindpunt van het gewricht zich aan het GameObject hecht, zoals gespecificeerd in de lokale coördinaatruimte van het object. In de Tafereel bekijken, met AxeBlade geselecteerd, kunt u het ankerpunt zien als een blauwe cirkel zonder vulling gecentreerd AxeBlade. Laat de standaardwaarde ongewijzigd (0, 0).

Merk op dat de ongevulde blauwe cirkel die het eerste ankerpunt van het gewricht aangeeft, mogelijk vol lijkt te zijn als u momenteel de Transformeren gereedschap geselecteerd in de Tafereel uitzicht. Evenzo ziet u een wit vierkant als u de Schaal tool geselecteerd. In beide gevallen zal het verplaatsen van het anker weg van (0, 0) tonen dat het inderdaad een ongevulde cirkel is.

De Verbonden anker parameter specificeert het ankerpunt van het andere uiteinde van de verbinding. Als het Verbonden onbuigzaam lichaam veld is leeg, deze waarde bevindt zich in het coördinatensysteem van de scène. Wanneer echter Verbonden onbuigzaam lichaam is ingesteld, zoals het nu is, de Verbonden anker coördinaten verwijzen naar de lokale coördinatenruimte van de verbonden rigide body. Dit ankerpunt verschijnt in de afbeelding hierboven als een stevige blauwe cirkel gecentreerd boven de Platform game-object. Nogmaals, u kunt deze waarde achterlaten bij (0, 0).

Zoals met de Anker parameter, kunt u Unity automatisch de afstand van het gewricht laten instellen door de Auto Configureer afstand veld. Wanneer deze optie is ingeschakeld, detecteert Unity automatisch de afstand tussen de twee objecten en stelt deze in als een afstand die de verbinding tussen de objecten houdt. In ons specifieke geval willen we deze functie inschakelen.

De Afstand parameter, zoals de naam al doet vermoeden, geeft de afstand aan om te handhaven tussen beide objecten. Terug in de Tafereel weergave, kunt u een kleine groene lijn zien die de lijn kruist die de twee objecten met elkaar verbindt. Dit is eenvoudig te zien als u het AxeBlade-object verplaatst vanuit de Platform, zoals in de afbeelding hieronder.

Deze lijn geeft de afstand aan die door het gewricht wordt afgedwongen. Wanneer u de scène uitvoert, zal het scharnier bewegen AxeBlade zodat de Anker je hebt gedefinieerd is op het punt waar de kleine lijn is. U kunt deze waarde verhogen of verlagen door te draaien Auto Gezamenlijk configureren uit. Vergeet niet om de AxeBlade positie terug naar (-0,11, 3,56, 0) als je eenmaal met zijn waarden hebt gespeeld. Auto Configure Distance moet ook worden gecontroleerd.

De volgende parameter is Alleen maximale afstand. Indien ingeschakeld, zal het gewricht alleen een maximale afstand afdwingen, wat betekent dat de objecten dichter bij elkaar kunnen komen, maar nooit verder weg dan de waarde gespecificeerd in de Afstand veld. In dit voorbeeld wilt u dat de afstand wordt hersteld, dus laat deze parameter niet aangevinkt.

Eindelijk, de laatste parameter is Break Force. Hier kunt u het krachtniveau opgeven dat u wilt gebruiken om de verbinding te verbreken. Kortom, als het krachtniveau wordt bereikt, wordt de verbinding verwijderd en verdwijnt de verbinding tussen de twee objecten. Wanneer de waarde is ingesteld op Oneindig, betekent dit dat de verbinding onbreekbaar is. Voor dit scenario wil je dat het onbreekbaar is, dus verlaat het veld zoals het is.

Omdat je wilt dat het mes als een slinger zwaait, moet je het veranderen omwenteling naar (0, 0, 310).

Druk nu op Spelen, en je zult het zien AxeBlade opknoping op de Platform.

Ok, dus het mes zwaait, maar wanneer het de speler raakt, gebeurt er niets. U wilt de speler doden en hem opnieuw opstarten op het laatste controlepunt. Ga hiervoor naar GameAssets map en open het scripts map. Grijp de Blad script en voeg het toe aan de AxeBlade. Als u op drukt Spelen nogmaals, de speler zou nu moeten sterven als het mes toeslaat.

De uiteindelijke configuratie is de volgende:


Om te eindigen, pak de Blad GameObject van de Hiërarchie en laat het in de obstakels map. Hiermee wordt een prefab van het zwaaiende mes gemaakt.

Scharnierverbinding 2D

De Scharnierverbinding 2D component maakt het mogelijk een GameObject dat wordt bestuurd door de fysica van het rigide lichaam aan een punt in de ruimte te bevestigen waarrond het kan roteren. De rotatie kan optreden als reactie op een botsing of kan worden gestart door een motorkoppel dat door het gewricht zelf wordt geleverd. U kunt en moet limieten instellen om te voorkomen dat het scharnier een volledige rotatie maakt.

Om de basis van de scharnierverbinding te leren, maakt u een duaal valdeurmechanisme waarbij de speler moet laten vallen om het niveau voort te zetten. Laten we het doen!

Voeg een nieuw leeg GameObject toe, noem het Scharnier, en plaats het in de Positie (18.92, 0, 0). Open vervolgens de Activa \ Vrije activa \ Sprites en sleep er twee MetalPlatform spookt in de Scharnier GameObject. Noem de eerste HingePlat1 en de tweede HingePlat2.

Plaats ze naast elkaar; de HingePlat1 moet worden geplaatst op Positie (0, 0, 0) en de HingePlat2 bij (2,5, 0, 0). Verander de Bestel in laag van beide te 2.

Om de. Toe te voegen Scharnierverbinding 2D component, moet u twee extra componenten toevoegen aan de sprites. Selecteer de HingePlat1 en voeg een toe Box Collider 2D en een Rigidbody 2D. Onder de Rigidbody 2D parameter, controleer de Is Kinematic eigendom. Herhaal nu dezelfde stappen voor de HingePlat2 (zonder de eigenschap Is Kinematic te controleren).

Mogelijk merkt u ook dat de Grootte van de Box Collider 2D is groter dan de HingePlat1 sprite, wat leidt tot een onjuiste collision detection tussen de speler en het platform. Om het probleem op te lossen, wijzigt u de eigenschap Grootte (binnen Box Collider 2D) van beide HingePlat1 en HingePlat2 naar (2,45, 0,5).

Deze HingePlat2 zal het eerste luik zijn. Daarom moet u een nieuw genoemd component toewijzen Scharnierverbinding 2D. Dit onderdeel heeft verschillende nieuwe eigenschappen; we zullen alleen de nieuwe dekken.

Botsing inschakelen betekent dat de twee verbonden objecten tussen hen kunnen botsen. Verbonden onbuigzaam lichaam geeft aan waar het andere object zich bevindt waarmee deze verbinding verbinding maakt. Voeg de toe HingePlat1 naar dit veld. Gebruik Motor geeft aan of de scharniermotor moet worden ingeschakeld. U moet deze eigenschap controleren. Motorsnelheid specificeert de doelmotorsnelheid in graden / sec. Zet het op -100 (om vanuit de opwaartse positie terug te keren naar de oorspronkelijke positie).

Maximale motorkracht vertegenwoordigt het maximale koppel (of rotatie) dat de motor kan toepassen tijdens het proberen om de doelsnelheid te bereiken. U zou het moeten instellen 25Gebruik limieten, zoals de naam suggereert, staat voor de limiet voor de rotatiehoek. Controleer het!

Lagere hoek is het onderste uiteinde van de rotatieboog toegestaan ​​door de limiet, terwijl Bovenste hoek is het bovenste uiteinde van de rotatieboog toegestaan ​​door de limiet. Verander de Bovenste hoek naar 60. Break Torque is gelijkaardig aan Break Force en specificeert het rotatieniveau dat nodig is om het gewricht te breken en te verwijderen. Nogmaals, Infinity betekent dat het onbreekbaar is.

Schakel het vinkje nu uit Auto Verbinding configureren. U moet de Anker en Verbonden anker handmatig. De eerste moet worden ingesteld op (-1.12,0), en de laatste om (1.09,0). Uw scène zou er nu als volgt uit moeten zien:


De laatste HingePlat2 configuratie is:

Voer je spel uit, en laten we de eerste luik testen.

Als alles in orde is, is het nu tijd om verder te gaan en de tweede luik te maken. De procedure is precies gelijk aan de bovengenoemde beschrijving; het enige verschil ligt in de configuratiegegevens van de Scharnierverbinding 2D. De belangrijkste stappen zijn:

  1. Voeg twee extra toe MetalPlatform sprites naar de Scharnier GameObject.
  2. Geef ze een naam HingePlat3 en HingePlat4, en stel de Bestel in laag naar 2 en de Positie naar (4,87, 0, 0) en (7.25, 0, 0).
  3. Voeg een ... toe RigidBody 2D en een Box Collider 2D naar beide platforms.
  4. Verander de Grootte van beide Box Collider 2D tot (2.45,0.5).
  5. HingePlat4 zou moeten hebben Is Kinematic ingeschakeld.
  6. Voeg de toe Scharnierverbinding 2D eigendom van de HingePlat3.
  7. Voeg de toe HingePlat4 in de Verbonden onbuigzaam lichaam van de HingePlat3.
  8. Schakel het vinkje uit Auto Verbinding configureren.
  9. Verander de Anker naar (1,5, 0) en de Verbonden anker naar (-1, 0).
  10. Controleer de Gebruik Motor eigendom en stel de Motorsnelheid naar 100 en de Maximale motorkracht naar 25.
  11. Controleer de Gebruik limieten, en de Bovenste hoek zou moeten zijn -60.

Voer je spel uit en laten we de dubbele valdeur testen.

Omdat we de speler door het dubbele luik willen dwingen, moeten we er muren omheen maken. Selecteer de Scharnier GameObject en van de Activa \ Vrije activa \ Sprites map voeg zes toe MetalPlatform in de Scharnier GameObject. Geef ze een naam wall1 naar wall4 en verander de Bestel in laag naar 2.

Plaats de wall1 in de Positie (-0,9, -1,43, 0) en verander de Z Rotation naar 90. Het resterende moet als volgt worden geconfigureerd:

  • Wall2 positie: (-0,9, -3,8, 0), Z Rotation: 90 

  • Wall3 positie: (8,2, 1,55, 0), Z Rotation: 90

  • Wall4 positie: (8,2, 3,95, 0), Z Rotation: 90

Nu moet u voor elke muur een extra component toevoegen, een Box Collider 2D. Voor elk Box Collider 2D verander de Grootte naar (2,21, 0,63). Voeg vervolgens een toe Platform Effector 2D aan elke muur en stel de Oppervlakte boog naar 360 en de Zijboog naar 180. Ga terug naar de Box Collider 2D en draai Gebruikt door Effector op.

Het eindresultaat zou moeten lijken op:

Sleep ten slotte de Scharnier GameObject in de GameAssets \ Obstakels map om uw tweede prefab te maken.

Doel gezamenlijke 2D

De doelverbinding 2D wordt aangesloten op een specifiek doel, in plaats van een ander rigide lichaamsobject, zoals andere gewrichten dat normaal ook doen. We zullen dit gewricht toepassen om een ​​obstakelplatform te creëren dat omhoog en omlaag beweegt.

Het eerste dat u hoeft te doen, is het platform zelf te maken. Op de Gratis bezittingen / sprites map, daar vindt u de MetalPlatform sprite. Sleep het en plaats het op de scène.

Verander de naam in RisingPlatform en zijn Positie naar (35, -6, 0) en stel de Bestel in laag naar 2. U hebt een aantal componenten nodig om dit te laten werken. Voeg een ... toe Rigidbody 2D en een Box Collider 2D. Stel vervolgens de Massa naar 20 en check Positie X bevriezen en Rotatie bevriezen Z. Op de Box Collider 2D, zorg ervoor dat de Grootte ingesteld op (2,35, 0,55). Stel tot slot de Zwaartekracht schaal naar 0 zodat het object niet wordt beïnvloed door de zwaartekracht.

De basiscomponenten zijn nu klaar. Het is nu tijd om de. Toe te voegen Doel gezamenlijke 2D component. Zoals hierboven vermeld, de Doel gezamenlijke 2D maakt geen verbinding met een ander object met een onbuigzaam lichaam; in plaats daarvan maakt het verbinding met een specifiek doelwit. Dit is een joint van het veertype en kan worden gebruikt voor het oppakken en verplaatsen van objecten die werken onder zwaartekracht, zoals ons bewegend platform.

Laten we het onderdeel zelf eens nader bekijken. De Anker werkt precies zoals in de vorige gewrichten, dus het is niet nodig om het uit te leggen. De Doelwit bepaalt de wereldcoördinaten waartegen de gezamenlijke pogingen om te bewegen zijn. Dit is een zeer belangrijk veld, omdat deze verbinding zal proberen om een ​​nul-lineaire afstand tussen de Anker en de Doelwit punten. Voor dit voorbeeld wilt u de Doelwit zijn (35, -6).

Vervolgens heb je Auto Target configureren. Als deze eigenschap is ingeschakeld, berekent de verbinding het doel alleen. Als u deze optie aan laat staan, verandert het doelwit terwijl het platform beweegt. Aangezien u niet wilt dat dit gebeurt, laat u dit vakje uitgeschakeld (vinkje uit) Auto Target configureren).

Het volgende is Max Force; hier stel je de kracht in die het gewricht kan toepassen terwijl je probeert de doelpositie te bereiken. Stel deze waarde in op 80.

De Dempingsverhouding is de mate waarin u veertrillingen wilt onderdrukken. Deze waarde kan gaan van 0 tot 1, waarbij 1 geen beweging betekent. U wilt dat het platform vrij kan bewegen, dus stel dit veld in op 0. Vervolgens heb je Frequentie wat, zoals de naam suggereert, de frequentie bepaalt waarop de veer oscilleert terwijl hij probeert het doel te bereiken. Stel deze parameter in op 5.

Eindelijk, de laatste is Break Force, die identiek is aan de vorige verbindingen, dus laat de waarde op zijn standaard staan. 

Omdat u wilt dat uw platform in de loop van de tijd blijft bewegen, moet u het Doelwit positie van tijd tot tijd. Gelukkig heb je al het script om dat aan te pakken. Ga naar de scripts map, zoek de TracktorPlatform-script, en voeg het toe aan je spelobject. set Target A naar (35, -6) en Target B naar (35, 0). De Tijd zou moeten zijn 2.

Tegen het einde zou je component er als volgt uit moeten zien:

Als u op drukt Spelen, je zou in staat moeten zijn om het resulterende doelwit te zien werken zoals het bedoeld is. Vergeet niet om een ​​prefab te maken, zoals je deed met de vorige obstakels, en plaats het in de obstakels map.

Vaste verbinding 2D

De Vaste verbinding 2D wordt gebruikt om twee objecten ten opzichte van elkaar te laten beheersen door de rigide lichaamfysica. Daarom zijn beide objecten altijd verschoven op een gegeven positie en hoek.

Om deze verbinding te gebruiken, maakt u een metalen platform dat alleen kan worden verplaatst wanneer de speler een magneet eraan vasthoudt. De speler moet de magneet duwen om het platform van zijn weg te halen en dan verder te gaan op het niveau.

Begin met het maken van een leeg GameObject, noem het MagnetPlatform, en stel zijn Positie naar (41,81, 5,22, 0). Pak vervolgens de Magneet sprite van de Sprites map en laat het over de MagnetPlatform. Stel de Magneet Positie naar (0,55, 3,15, 0) en de Bestel in laag naar 3.

Voeg vervolgens een toe Rigidbody 2D component en een Circle Collider 2D. Stel de Massa naar 200 en draai Rotatie bevriezen Z op. Zorg ervoor dat de Radius op de Circle Collider ingesteld op 0.4. Tegen het einde, jouw Magneet zou er ongeveer zo uit moeten zien:


Nu, van de Sprites map, sleep de MetalPlatform sprite in de MagnetPlatform GameObject. Stel de Positie van de MetalPlatform naar (0,57, -1,73, 0), de omwenteling naar (0, 0, 90), en de Schaal naar (2, 1, 1). Stel de Bestel in laag naar 3.

Voeg vervolgens de volgende componenten toe: Rigidbody 2D, en een Box Collider 2D. Op Rigidbody 2D, stel de Massa naar 1000 en inschakelen Rotatie bevriezen Z. Eindelijk, op BoxCollider 2D, stel de Grootte naar (2,31, 0,52).

Nu alles gereed is, is het tijd voor u om de vaste verbinding 2D te configureren en de verbinding tot stand te brengen tussen de magneet en het metalen platform. Met MetalPlatform geselecteerd, voeg de FixedJoint 2D bestanddeel.

Met deze nieuwe verbinding kunnen twee game-objecten met een onbuigzaam lichaam een ​​relatieve lineaire en hoekverschuiving ten opzichte van elkaar behouden. In dit geval wilt u dat het metalen platform een ​​bepaalde afstand tot de magneet houdt.

Deze lineaire en hoekverschuivingen worden ingesteld op de relatieve posities en oriëntaties van de twee verbonden spelobjecten. Dit betekent dat wanneer u de positie van een van de objecten in de Scene View, u werkt ook de offsets bij.

Deze verbinding maakt gebruik van een gesimuleerde veer die zo stijf mogelijk is geconfigureerd. Het is echter mogelijk om de veerkracht te veranderen en deze zwakker te maken. Deze gesimuleerde veer past zijn kracht tussen de objecten toe en is verantwoordelijk voor het houden van de gewenste verschuivingen.

Als u het onderdeel zelf bekijkt, vindt u verschillende velden die u al kent.

Met uitzondering van twee van die velden, werken alle parameters precies zoals bij de andere gewrichten, dus het is niet nodig om ze opnieuw uit te leggen. Betreffende de Dempingsverhouding, deze parameter vertegenwoordigt de mate waarin u veertrillingen wilt onderdrukken. U kunt waarden instellen van 0 tot 1, waarbij 1 geen beweging betekent.

De Frequentie is de frequentie waarmee de veer oscilleert terwijl de twee verbonden objecten de scheidingsafstand naderen. Deze parameter kan waarden van 1 tot 1000000 aannemen. Hoe hoger de waarde, hoe stijver de veer zal zijn.

Merk op dat, hoewel hogere waarden een stuggere veer betekenen, als u de Frequentie tot 0, de veer is helemaal stijf.

Nu, met betrekking tot het obstakel dat u probeert te bouwen, hoeft u alleen maar het. Te slepen Magneet game-object voor de Verbonden onbuigzaam lichaam veld. Alle andere parameters kunnen worden overgelaten met hun standaardwaarden.

druk op Spelen en test het nieuwe obstakel.

Nu het obstakel gereed is, maakt u een prefab ervan door het GameObject naar de. Te slepen obstakels map.

Conclusie

Dit concludeert de eerste tutorial over Unity Joints 2D. Je hoorde over vier gewrichten, namelijk de afstand, scharnier, doelwit en vaste gewrichten. Met deze kennis kun je al beginnen met het maken van je 2D-werelden gevuld met dynamische en complexe objecten. In de tweede zelfstudie leert u meer over de schuif-, verwant, veer- en wrijvingsvoegen.

Als u vragen of opmerkingen heeft, kunt u zoals altijd een regel in de opmerkingen plaatsen.