Objekte in Ruhelage spawnen

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: Objekte in Ruhelage spawnen

Beitrag von Alexander Kornrumpf »

Krishty hat geschrieben:
vehicle placement.png
Sorry, aber ich habe das hier im Labor gerade mit einem Blatt Papier und einem Radiergummi mit der dargestellten Steigung (und steiler!) ausprobiert. Das Radiergummi überschlägt sich nicht. Es rutscht, aber das liegt an der Reibung. Ich habe hier leider nichts geeignetes was einen wesentlich höheren Schwerpunkt hätte als ein Radiergummi, aber ich bin nicht komplett überzeugt, dass es kein Glitch in der Simulation ist.

Edit: Sucess! Mit Pullover überzogener Schreibblock erhöht die Reibung (Haftung?) erheblich und Computermaus hat einen höheren Schwerpunkt. Bei der dargestellten Steigung stellt sich das gewünschte Ergebnis ein: Maus fällt bis sie aufliegt und bleibt dort. Bei höheren Steigungen reicht die Haftung wieder nicht.

Oder reden wir über degenerierte Fälle (Reisebus bei der Rally Paris-Dakar)?
Zuletzt geändert von Alexander Kornrumpf am 22.09.2015, 15:44, insgesamt 1-mal geändert.
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Objekte in Ruhelage spawnen

Beitrag von Krishty »

Ja; ich implementiere es (Simulation laufen lassen) mal und melde mich zurück. Kann nur etwas dauern; bin hier auch ein Bisschen im Stress.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Thargan
Beiträge: 14
Registriert: 06.12.2014, 19:08

Re: Objekte in Ruhelage spawnen

Beitrag von Thargan »

Habe jetzt nicht alles gelesen, aber eine Idee.

Warum speichert man das Fahrzeug nicht im Ruhezustand mit den entsprechenden Parametern ab, baut eine bounding Box darum, tariert die Reifenebene mit der Ebene der Oberfläche unter den Reifen aus und lässt das Fahrzeug los ?

In meiner Vorstellung dürfte sich nun nichts mehr bewegen, ausser natürlich, dass Fahrzeug ist am Hang und der Schwerkraft ausgesetzt.
Notfalls hat man zwei Pakete dieser Art, einmal als Rollende und einmal als Parkende Ausführung.
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: Objekte in Ruhelage spawnen

Beitrag von Alexander Kornrumpf »

Thargan hat geschrieben:die Reifenebene
Weil die Reifen einzeln kollidieren und gefedert sind und vier Punkte nicht trivial eine Ebene ergeben?
Thargan
Beiträge: 14
Registriert: 06.12.2014, 19:08

Re: Objekte in Ruhelage spawnen

Beitrag von Thargan »

Alexander Kornrumpf hat geschrieben:
Thargan hat geschrieben:die Reifenebene
Weil die Reifen einzeln kollidieren und gefedert sind und vier Punkte nicht trivial eine Ebene ergeben?

Tja, haste Recht. Irgendwas ist ja immer.
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Objekte in Ruhelage spawnen

Beitrag von Krishty »

Ich werd’s auch noch wunderschön durchtesten. Nur erschöpfen augenblicklich andere Lebensbereiche meine Programmierzeit :(
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
joeydee
Establishment
Beiträge: 1039
Registriert: 23.04.2003, 15:29
Kontaktdaten:

Re: Objekte in Ruhelage spawnen

Beitrag von joeydee »

Noch weitere gedankliche Ansätze, damit dir nicht langweilig wird ;)

1. Ein neuronales Netz könnte in der Lage sein, aus entsprechenden Eingangsparametern (allen voran die 4 genormten Geländehöhen unter den Rädern, ggf. zusätzlich fahrzeugspezifische Details) vier gut passende Federwege in Ruhelage für jede Situation zu erlernen und für die Ingame-Aufgabe dann ohne Simulationsiteration direkt zu schätzen. Nach dem Motto: "weiche" Lookup-Table für viele Variablen ==> NN. Das wäre im Prinzip dein eingangs gesuchtes Gleichungssystem, mit evolutionär genäherten Konstanten.

2. Wenn man ferngesteuerte Buggys mit Öldruckstoßdämpfern aufs Gelände fallen lässt, bleiben die wie ein nasser Sack liegen und federn nicht nach. Vielleicht kann man dieses gedämpfte Federverhalten modellieren, dann könnte man die Simulation direkt benutzen ohne warten zu müssen.

3. Ich kenne Rennspiele, bei denen der Spawn-Car erstmal für zwei Sekunden als Ghost blinkt. In dieser Zeit könnte man in aller Ruhe die Simulation (isoliert für dieses Objekt natürlich) laufen lassen (ggf. beschleunigt, d.h. mehr Aufrufe pro Frame als üblich). It's not a Lag, it's a Feature...

Handbremse bzw. eingelegter Gang gehört auf alle Fälle immer dazu, ist ja auch in der Realität nicht anders (ich meine Modellbuggys, da man echte Autos eher selten auf die Straße wirft).
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: Objekte in Ruhelage spawnen

Beitrag von Alexander Kornrumpf »

joeydee hat geschrieben: 2. Wenn man ferngesteuerte Buggys mit Öldruckstoßdämpfern aufs Gelände fallen lässt, bleiben die wie ein nasser Sack liegen und federn nicht nach. Vielleicht kann man dieses gedämpfte Federverhalten modellieren, dann könnte man die Simulation direkt benutzen ohne warten zu müssen.
Jedes mal wenn mir jemand mal wieder die Existenz von Stoßdämpfern explizit vor Augen führt, bin ich wieder entsetzt wie Federung und Dämpfung in meinem mentalen Modell schleichend zu einer Einheit konvergiert sind.
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Objekte in Ruhelage spawnen

Beitrag von Krishty »

Erstmal strebt die Federung auch mit Dämpfung nach einem Gleichgewicht und bleibt nicht einfach so, wie man sie spawnt. Zweitens ist der Federweg bei ferngesteuerten Buggys weiter als bei Autos (und sie sind auf größere Unebenheiten ausgelegt). Drittens muss man für die Dämpfung jene Werte nehmen, die von den Objekten für die Simulation vorgeschrieben sind.

Ich kann in einer Autosimulation nicht zum Spawnen extrem starke Dämpfung setzen, dann sobald das Objekt ruhig ist die Dämpfung auf realistische Werte setzen – denn dann verändert sich das Equilibrium und das Fahrzeug wackelt wieder.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Objekte in Ruhelage spawnen

Beitrag von Tiles »

Hm. Spawnen denn die Autos jedesmal wo anders? Bei denen die immer am gleichen Platz spawnen könntest du ja die Werte nach dem spawnen einmal speichern. Und das könntest du schon beim entwickeln tun. Und sie beim erneuten spawnen wieder abrufen. Denkbar wäre auch sowas wie Standardspawnplätze zu haben bei denen die Werte bekannt sind.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Objekte in Ruhelage spawnen

Beitrag von Krishty »

Naja, im Augenblick geht es hauptsächlich um das Spieler-Vehikel, aber es soll so prozedural wie möglich werden, während ich die Simulation ausbaue. Ultimativ sollen mal Autos entlang der Straßen und Parkplätze verteilt werden. Wenn sie nicht sicher stehen, sobald die Physik angeht, gibt es den Hüpfer und … sagen wir … Dinge gehen kaputt :D

Ist scheiße, dass ich acht Wochen nicht dazu gekommen bin, das zu testen. Nichts ist vergessen, aber die Zeit ist halt gerade sehr knapp. Wenn ich dazu komme, die Vorschläge zu testen, lass ich’s euch hier wissen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
RedGuy
Establishment
Beiträge: 111
Registriert: 17.09.2002, 17:27
Echter Name: Manuel Hofmann
Wohnort: Rottweil
Kontaktdaten:

Re: Objekte in Ruhelage spawnen

Beitrag von RedGuy »

Hi !

Zunächst einmal würde ich auf alle Fälle die Physik mit einbeziehen.

Jetzt kommt mal eine krasse Idee:
Die Kollisiontests samt Federstellung würde ich der Spielumgebung -im Unsichtbaren- in einer unsichtbaren Kopie der Spielumgebung quasi vorausberechnen, dass, sobald in die Spielumgebung gespawned, das Objekt in Ruhelage ist ;) .

Ich weiß halt jetzt nicht wie einfach das mit deiner Engine umsetzbar ist.

Gruss
RedGuy
Antworten