Skip to content

Beta

  • Inhalt
  • Gamesübersicht
  • Games & Lyrik Podcast
  • Pressezentrum und Media-Kit
  • Jobs
  • Veröffentlichte E-Books
  • Impressum
    • Datenschutzerklärung
    • Disclaimer
  • Cookie-Richtlinie (EU)
  • Toggle search form
  • Warhammer Inquisitor Martyr Cover
    Warhammer 40.000: Inquisitor – Martyr Games und Lyrik
  • DeathRun TV Cover
    DeathRun TV Rogue-like
  • Hect Logo
    Hect Spieleentwickler
  • Hello world! Uncategorized
  • Adventure Trilogy
    8-Bit Adventures Anthology Games und Lyrik
  • Action Man Search for Base X Cover
    Action Man: Search for Base X Games und Lyrik
  • Chuchel Screenshot 2
    Chuchel – Das Abenteuer einer Staubfluse Games und Lyrik
  • CJ_logo_1920x1080
    Creepy Jar Spieleentwickler

Gravitation in Unity

Posted on 11/08/2020 By Claudia Wendt Keine Kommentare zu Gravitation in Unity

Ziehe das Objekt in die Szene. Füge einem Objekt eine Komponente hinzu. Das Objekt sollte einen Collider und einen Rigidbody haben. Der Rigidbody sollte auf Kinematic gestellt sein. Das bedeutet, das Objekt bewegt sich nicht in der Physiksimulation, solange es nicht von einem Script bewegt wird.

Aktiviere Simulated und Use Full Kinematic Contacts.

Im Script wird die Basic-Klasse festgelegt und sorgen dafür, das die Gravitation funktioniert. Füge als Komponente „PhysicsObject“ hinzu. Wähle New Script und öffne dieses mit Creat and Add. Doppelklicke und öffne das Script im Visual Editor.

Weil es sich um Physics handelt, füge die FixedUpdate-Funktion hinzu:

void FixedUpdate()

Innerhalb der FixedUpdate-Funktion soll sich das Objekt mit jedem Frame nach unten bewegen, weil es von der Gravitation nach unten gezogen wird.

Deswegen benötigen wir eine Variable für Geschwindigkeit:

protected Vector2 velocity;

Andere Klassen greifen auf das Physikalische Objekt zurück. Sie sollen darauf zugreifen können, aber nicht von außerhalb der festgelegten Klasse.

Die Graviation kann beeinflusst werden: Dafür wird ein Graviationswert benötigt:

public float gravityModifier = 1f;

Der Gravitationswert wird im Physiksystem von Unity verwendet. Das ganze wird mit Time.deltaTime; multipliziet und gehört zu FixedUpdate:

velocity += gravityModifier * Physics2D.gravity * Time.deltaTime;

Jetzt wird definiert, wo sich das Objekt nach Auswirkung der Gravitation befindet:

vector2 deltaPosition = velocity * Time.deltaTime;

Die neue Position wird für die Bewegung verwendet:

Vector2 move = Vector2.up * deltaPosition.y;

Eine weitere Funktion wird definiert:

void Movement(Vector2 move)

Jetzt wird eine Ergänzung in FixedUpdate vorgenommen: Das Objekt soll sich auf Basis der kalkulierten Werte bewegen:

Movement ();

Dies soll auf Grundlage vom Rigidbody2D passieren:

protected Rigidbody2D rb2d;

Dazu kommt eine OnEnable();

rb2d = GetComponent<Rigidbody2D> ();

In der Movement-Funktion wird festglegte, das die Bewegung in jedem Frame erfolgt:

rb2d.position ) rb2d.position + move;

Das fertige Script für ein Objekt mit Gravitation sieht folgendermaßen aus:

Speicherst du das Script und gehst in Unity zurück, fällt das Objekt hinunter, wenn du auf Play drückst.

Spieleprogrammierung Tags:Unity

Beitragsnavigation

Previous Post: Aedis Memories – Generation of Chaos
Next Post: Mega Man X 2

Related Posts

  • Lichteffekte0
    2D Licht und Schatten in Unity Spieleprogrammierung
  • Axis Game Factory Logo
    Axis Game Factory – Der Anfang Spieleprogrammierung
  • State-Driven-Camera
    Die Cinemachine in Unity Spieleprogrammierung
  • New Project Wie du ein Projekt in Unity anlegst
    Wie du ein Projekt in Unity anlegst Spieleprogrammierung
  • Working with the Profiler Window Spieleprogrammierung
  • Sprite Mask Benutzerdefiniert
    Was ist eine Sprite Mask? Spieleprogrammierung

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Archives

  • November 2023
  • August 2023
  • Juli 2023
  • April 2023
  • März 2023
  • Februar 2023
  • Januar 2023
  • Dezember 2022
  • November 2022
  • Oktober 2022
  • September 2022
  • August 2022
  • Juli 2022
  • Juni 2022
  • Mai 2022
  • April 2022
  • März 2022
  • Februar 2022
  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021
  • August 2021
  • Juli 2021
  • Juni 2021
  • Mai 2021
  • April 2021
  • Februar 2021
  • Januar 2021
  • Dezember 2020
  • November 2020
  • Oktober 2020
  • September 2020
  • August 2020
  • Juli 2020
  • Juni 2020

Categories

  • Action
  • Adventure
  • Adventure Escape
  • Brettspiele
  • Games und Lyrik
  • Geschicklichkeit
  • Hack and Slash
  • Horror
  • Kartenspiele
  • Liebe
  • Lyrik
  • Point-and-Click-Adventure
  • Puzzle
  • Rennspiele
  • Rogue-like
  • RPG
  • Shoot Em Up
  • Shooter
  • Simulation
  • Spieleentwickler
  • Spieleprogrammierung
  • Sport
  • Strategie
  • Survival
  • Textadventure
  • Tower-Defense
  • Uncategorized
  • Wimmelbild
  • Wirtschaftssimulation

Recent Posts

  • ProtoCorgi
  • Rosewater
  • Prim
  • Soccer Story
  • Application Systems Heidelberg

Recent Comments

  1. A WordPress Commenter zu Hello world!
  2. Rita zu Catch me!
  3. cvd zu Heart of Muriet
  4. cvd zu Heart of Muriet
  5. Gordon zu Jasper and the City of Lights
  • 50 Cent Bulletproof Cover
    50 Cent: Bulletproof Games und Lyrik
  • Cadillac Cover
    Cadillac Strategie
  • Das Opfer Lyrik
  • A Sound of Thunder - Game Boy Advence Cover
    A Sound of Thunder
    Zeittourismus und Survival
    Games und Lyrik
  • Elex 2 Cover
    Elex 2 – In den Kampf gegen die Skyands RPG
  • AER Screenshot2
    Erhaben Games und Lyrik
  • Der Weihnachtsmann im Knast Lyrik
  • MegaMan9Boxart
    Mega Man 9: Revival of Ambition Action

Copyright © 2026 Beta.

Powered by PressBook News Dark theme