[Projekt] Out of Breach

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Schön wie man Stunden mit einem so simplen Thema wie dem LineRenderer verschwenden kann... Ich habe jetzt eine eigene Lösung aber ich hasse das Thema grad abgrundtief :)

Backface-Culling hat mir das Leben ebenso schwer gemacht wie schlechtes Testen. Mein Spielfeld ist ziemlich voll und mir sind deshalb gewisse Sachen nicht aufgefallen, u.a. hatte ich vor allem beim Start/Schluss Probleme und wenn Teilstücke gerade waren. In allen Fällen war nichts zu sehen und ich kam zum Trugschluss das alles am Backface-Culling lag.
Bild

Was ich noch nicht verstehe ist wie in Unity nur ein Teil des Meshes gerendert werden kann.
In meiner abschliessenden Renderfunktion setze ich die Vertex-Punkte alle auf 0 und übermittle einfach meinen ganzen Buffer von 1000 Stellen. Ich dachte es sollte möglich sein mit SetVertices und SetTriangles nur einen Teil zu übermitteln, aber das führt nur zu Fehlern. Morgen.

Code: Alles auswählen

protected void FinalizeRender()
    {
        for (var i = renderPos; i < prevRenderPos; i++)
        {
            //clearTriangle(i);
            vertices[i].x = 0;
            vertices[i].y = 0;
        }
        //mesh.SetVertices(vertices, 0, renderPos);
       // mesh.SetTriangles(quads, 0, renderPos, 0);
        mesh.vertices = vertices;
        prevRenderPos = renderPos;
    }
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Bild
Diese Fahrzeug kann sich nicht auf der Stelle drehen. Weiss nicht ob das spannend oder nicht ist, aber es ist jetzt implementiert.

Code: Alles auswählen

racer:{
			name:"Racer",
			model:"base/model/racer.fbx",
			height:[-1,0],
			move:{
				dir:[0,1,7]
			},
			action:[10]
		},
Habe mit FBX Format experimentiert (importier wird über TriLib ein Unity Asset). Bis jetzt habe ich es nicht geschafft Texturen oder Vertex-Animationen zu importieren. Bei den Einheiten ist mir das glaub egal, aber wenn ich Terrain importieren will wärs schon noch schön.
scheichs
Establishment
Beiträge: 845
Registriert: 28.07.2010, 20:18

Re: [Projekt] Out of Breach

Beitrag von scheichs »

Bin gradn bisschen erstaunt. Unity importiert FBX doch nativ und es ist eigentlich DAS Standardformat da...
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

@scheichs: es kann sein, dass es an meinem Export liegt. Gibt es eigentlich eine Seite mit gratis low-poly 3D Modellen :)
Benutzeravatar
grinseengel
Establishment
Beiträge: 793
Registriert: 29.03.2011, 13:47
Echter Name: Andreas

Re: [Projekt] Out of Breach

Beitrag von grinseengel »

Verwendest du Unity für dein Projekt, oder hast du einen Account für Unity? Wenn ja, da erhält du jede Menge Low Poly Modelle gratis und wenn es erstmal zum Testen ist.
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: [Projekt] Out of Breach

Beitrag von Tiles »

Unreal hat auch noch massig Zeug in seinem Shop. Und den ganzen Megascans Content ...
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Habe heute Schachfiguren nachgebaut. Einheiten können jetzt andere Einheiten "zerquetschen". Weiterhin ist das nur in der Vorschau möglich, ich habe es noch nicht versucht eine Echte Angriffsaktion zu implementieren.
Bild

Ich hadere momentan mit dem 3D ... es ist jetzt schon relativ lahm beim Aufstarten. Der gekaufte FBX-Loader macht zwar seinen Job, aber schnell ist es wirklich nicht und die Modelle sind sehr einfach. Vielleicht bin ich mit Pixelgrafix am Schluss besser beraten, oder ich muss die Modelle halt wirklich in das Projekt aufnehmen und nicht extern laden. Eine Zwitterlösung ist auch denkbar... 3D hat schon Vorteil, dass ich mit Kamerafahrten relativ schnell einen hübschen Trailer machen könnte (glaub ich).

Was wäre für allfällige Modder wohl spannender?
scheichs
Establishment
Beiträge: 845
Registriert: 28.07.2010, 20:18

Re: [Projekt] Out of Breach

Beitrag von scheichs »

Wenn Du schon zur Laufzeit lädst (was ja wie gesagt eigentlich schon der Unity Importer PreBuild machen sollte) auf jeden fall beim FBX bleiben... aber warum an iwelche Moder jetzt schon denken?
Schon wieder alle Animationen in ein Spritesheet rendern? Wenn Du da aktuell Performance Probleme hast machst Du iwas Simples elementar falsch.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

@scheichs: Hast ja recht. Mein Ziel ist alles über die JSON-Dateien zu konfigurieren. Irgendwie muss ich mal an eine Community kommen und wenn ich gewisse Tools zum selber basteln anbiete könnte das schon helfen. Ich hoffe es hilft aber auch mir schneller zu arbeiten.

Performance: Ich befürchte der FBX Loader ist lahm und mir das einen Strich durch die Rechnung macht. Aber ich habe ja den Code, kann vielleicht was optimieren oder es ist am Ende was ganz anderes. Ausserdem habe ich schon fast 300 draw-calls wegen den paar kleinen Modellen. Kenn mich halt mit 3D schon noch nicht so toll aus, aber lässt sich sicher auch optimieren.
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 574
Registriert: 05.07.2003, 11:17

Re: [Projekt] Out of Breach

Beitrag von Lord Delvin »

marcgfx hat geschrieben: 04.09.2021, 02:28 @scheichs: Hast ja recht. Mein Ziel ist alles über die JSON-Dateien zu konfigurieren. Irgendwie muss ich mal an eine Community kommen und wenn ich gewisse Tools zum selber basteln anbiete könnte das schon helfen. Ich hoffe es hilft aber auch mir schneller zu arbeiten.
Und ich dachte immer, man kommt an eine Community, weil man ein cooles Produkt hat ;)
Will sagen: ich würde erwarten, dass nur ein extrem kleiner Teil deiner Community überhaupt bereit wäre, die Zeit zu investieren, irgendwas zu modden.
Und ein Vorteil für dich ist es auch nur dann, wenn Ihre Beiträge eine echte Verbesserung sind.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

@Lord Delvin: Es ist nur die Frage wie man eine Community aufbaut und Spieler investiert. Modding scheint da schon recht beliebt zu sein. Ich will mir zumindest diese Türe offen halten.

Die 4 Bewegungsarten in einer Einheit: Linear, Radialer Sprung, Sprung auf spezifisches Feld, Feld-zu-Feld Bewegung.
Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Bild
Jetzt ist es möglich mehrere Einheiten mit gleichzeitiger Angriffsvorschau zu haben. Stimmt vermutlich nicht alles, aber es ist ein Anfang. Die roten Linien sind Angriffe, das Flugzeug oben ist in einer normalen Bewegungsvorschau (aktive Einheit).
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Bild
Die "Fabriken" können nun tatsächlich produzieren. Ein kleiner Schritt weg von Vorschau in Richtung Spiel. Ich könnte mich sofort in ein graphisches Problem vertiefen, aber mache das erstmals nicht. Keines der Objekte wird gebatcht.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Bild
Irgendwie komm ich nicht in den Flow aber immerhin geht was. Ressourcen (ebenfalls über JSON definiert) können nun Icons haben. Braucht eine Einheit eine Ressource die nicht zur Verfügung steht, wird die Ressource über der Einheit angezeigt.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Manchmal blockiere ich mich selber. Ewig lang rumstudiert wie ich am besten von der Vorschau zum eigentlichen Waffeneinsatz wechseln kann. Am besten ist manchmal einfach machen... die wahren Probleme zeigen sich dann schon.

Was ich befürchte: Ich erlaube rekursive Waffen/Explosionen und möchte diese Schrittweise animiert haben. Sonst ist es für den Spieler schwer zu verstehen/sehen was alles passiert. Da alles Schrittweise passiert kann eine Einheit in einem früheren Schritt verschoben werden und wird dann in einem späteren Schritt wieder erfasst. Das Problem ist aber nur wirklich da, wenn ich komplizierte Sachen mache, mit anderen Worten ich sollte mich jetzt zumindest nicht darum kümmern.

Die Waffen funktionieren jetzt grundsätzlich schon, ich bin jetzt dabei möglichst einfach zu animieren. Geil wäre es, wenn ich die Modelle in Stücke zerlegen und übers Feld schleudern könnte. Ist was für später.
Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Bild
Erklärung zum Bild: Das Pferd schiesst einen Schuss der sich beim ersten Aufprall in einen weiteren Schuss und einen Laser aufteilt. Trifft der neue Schuss auf ein Objekt wird das Pferdchen dorthin teleportiert.

Ich überlege wie ich die Visuals für Effekte in einem JSON definieren soll. Die aktuellen Explosionen sind über das Unity ParticleSystem mit einen Prefab erstellt. Vermutlich kann ich mit einigen wenigen Parametern für Explosionen was halbwegs brauchbares erstellen, aber wie gehe ich mit Status-Effekten um?

Wenn Feuer auf dem Boden einschlägt, soll das Feld brennen. Einheiten die im Feuer stehen fangen selbst an zu brennen. Hier wären Partikeleffekte vermutlich ebenfalls das Richtige, sie müssten aber vom Mesh des entsprechenden Objekts emittiert werden.

Eis lässt eine Einheit einfrieren. Im GIF oben habe ich einen Test bei den "Bergen" gemacht und es lässt sich ein weiteres Material drüberlegen. Könnte für Eis/Rost funktionieren. Vielleicht ein Noise Shader mit wenigen Parametern die im JSON eingestellt werden?

Irgendwie ganz schön kompliziert, aber selbst verschuldet wie immer.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Bild
Testweise geht der Noise-Shader mit einigen Parametern. Bis jetzt aber erst als "Unlit" Shader, wenn ich das gleiche als Surface-Shader Versuche bekomme ich nur eine glatte Farbe. Morgen :)
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: [Projekt] Out of Breach

Beitrag von Tiles »

Hmmm. Das sieht so unsauber aus. Muss es denn ein prozeduraler Shader sein? Eine gute Pixeltextur würde imho hier mehr Sinn machen.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] Out of Breach

Beitrag von Chromanoid »

Stimme Tiles zu, das passt doch auch besser zu deinen Modding-Vorhaben. Dann könnten Spieler perspektivisch eigene Texture-Sets bereitstellen. Du bist wahrscheinlich auch viel schneller und kannst verschiedenste "Biome" umsetzen. Vielleicht ja eine kleine Atlas-Textur pro Landschaftstyp.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Ich bin für alle Ideen offen. Ob die aktuelle Perspektive so bleibt ist unklar, ich würde schon eine Lösung die mit Kamerajustierungen umgehen kann bevorzugen.

Ich habe hier mal auf Local-Space umgeschaltet für Noise, so ist es einheitlicher. Probleme habe ich gerade mit den Einheiten. Diese haben oft mehrere Materialien und das Überlagern geht nur auf einem Teil des Meshs. Weiss noch nicht wie das gehandhabt wird.
Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Da einer bereits genau mein Problem hatte, war es recht einfach zu lösen: https://forum.unity.com/threads/least-p ... es.773723/

Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Läuft auch mit mehreren Status Layers, boa ist das hässlich. Ich überlege mir wie ich das mit Texturen machen könnte... Es muss ja mit allen Einheiten und am besten auch den Tiles funktionieren.
Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Wollte mal was mit tatsächlicher Anwendung machen, ein "Ice" Status Effekt soll es werden. Ich dachte mir eine kleine Eisschicht wäre cool und habe im Vertex-Shader eine Verschiebung entlang der Normalen gemacht. Leider entstehen dabei Abstände. Es macht zwar Sinn was ich bekomme, aber ich hatte es nicht erwartet... Gibt es dafür eine Lösung? Optisch hat es evtl. gar Vorteile, da man immer noch erkennt welcher Fraktion die Einheit angehört.
Bild
scheichs
Establishment
Beiträge: 845
Registriert: 28.07.2010, 20:18

Re: [Projekt] Out of Breach

Beitrag von scheichs »

Also, die Fortschritte sind cool, aber kannst Du bitte die Shadowacne mal fixen?
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

Ich habe mit der Akne schon rumgespielt und finde es mit Akne zumindest interessanter :) und ich mag es gar nicht, dass die Schatten nicht mehr am richtigen Ort sind.

Ändert sich vielleicht wenn die Landschaft spannender wird.
Bild
scheichs
Establishment
Beiträge: 845
Registriert: 28.07.2010, 20:18

Re: [Projekt] Out of Breach

Beitrag von scheichs »

Puh, schwierig. Also ich finde die cleane Version wesentlich angenehmer.
Aber ich gebe Dir Recht, dass es mit Akne einen interessanten Abrundungseffekt hatte, vllt kannst Du das ja mittels Modelling oder einem Shader richtig einbauen.

Du meinst mit "am richtigen Ort" sicher, die Bias?
Falls ja, könntest Du mal versuchen, die ShadowDepth in den Sweetspot zu bekommen durch Feintunen der Near/Far Plane deine Kamera. Glaube, da gibt es bei den Shadowsettings auch noch Optionen dazu.
Alternativ könntest Du mal nach "Contact Shadows" (aka. ScreenSpace-hadows) suchen. Die sollten in dem Szenario optimal wirken.
joggel

Re: [Projekt] Out of Breach

Beitrag von joggel »

marcgfx hat geschrieben: 21.09.2021, 17:05 Wollte mal was mit tatsächlicher Anwendung machen, ein "Ice" Status Effekt soll es werden. Ich dachte mir eine kleine Eisschicht wäre cool und habe im Vertex-Shader eine Verschiebung entlang der Normalen gemacht. Leider entstehen dabei Abstände. Es macht zwar Sinn was ich bekomme, aber ich hatte es nicht erwartet... Gibt es dafür eine Lösung?
Ich glaube, du musst die Normalen, auf der du die Eisfläche entlang verschiebst, mitteln; und zwar zu ihren Nachbarflächen. Besser gesagt, die Vertices der Eisfläche entlang dieser gemittelten Normalen verschieben.

Ich bin mir aber nicht sicher. Kann auch sein, dass deine Normalen schon gemittelt sind. (Was wohl eher unwahrscheinlich ist, denke ich)
Optisch hat es evtl. gar Vorteile, da man immer noch erkennt welcher Fraktion die Einheit angehört.
Eben, man sieht zu wen diese Einheiten gehören. Und zweitens hat dieser Effekt, so wie er jetzt aussieht, schon etwas ansprechendes.. (mMn)
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »

joggel hat geschrieben: 22.09.2021, 10:35 Ich glaube, du musst die Normalen, auf der du die Eisfläche entlang verschiebst, mitteln; und zwar zu ihren Nachbarflächen. Besser gesagt, die Vertices der Eisfläche entlang dieser gemittelten Normalen verschieben.
Habe ich zugriff auf solche Infos im Vertex-Shader?
joggel hat geschrieben: 22.09.2021, 10:35 Eben, man sieht zu wen diese Einheiten gehören. Und zweitens hat dieser Effekt, so wie er jetzt aussieht, schon etwas ansprechendes.. (mMn)
It's not a bug, it's a feature!

Mein Noise Shader ist recht flexibel und eigentlich gar kein Noise. Es ist Texturbasiert. Bislang habe ich eine Random Noise Textur verwendet. Hier einige Beispiele mit einer Textur (Radialer Gradient + Parameter im Shader) und ein Bild mit Streifen (ein Frame im GIF)
Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] Out of Breach

Beitrag von marcgfx »


Feuer!

Ich glaube das ist kein schlechter Start. Jetzt muss ich die wichtigen Parameter für beide Experimente in JSON definieren und das System im Code aufbauen und auf die Einheiten anwenden. Mal sehen was alles für Probleme auftauchen.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2353
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: [Projekt] Out of Breach

Beitrag von Jonathan »

marcgfx hat geschrieben: 22.09.2021, 11:18
joggel hat geschrieben: 22.09.2021, 10:35 Ich glaube, du musst die Normalen, auf der du die Eisfläche entlang verschiebst, mitteln; und zwar zu ihren Nachbarflächen. Besser gesagt, die Vertices der Eisfläche entlang dieser gemittelten Normalen verschieben.
Habe ich zugriff auf solche Infos im Vertex-Shader?
So direkt nicht. Vertexshader arbeiten ja auf einzelnen Vertexen, und wenn du einfach eine lange Liste an Dreiecken hast, kannst du ja ohne passende Suchstruktur nichtmal effizient feststellen, welche Dreiecke sich einen Vertex teilen.

Im Prinzip geht es doch um den Unterschied zwischen flat- und smooth-shading. Wenn sich mehrere Dreiecke einen Vertex teilen und dieser für alle Dreiecke die selbe Normale hat, wird er auch immer in die richtige Richtung geschoben. Wenn sich die Dreiecke aber nur die Position teilen und die Normale jeweils anders ist (wie bei einem kantigen Würfel), dann wird der selbe Punkt für jedes Dreieck in eine andere Richtung verschoben.

Eine Lösung wäre es jetzt, für jedes Mesh 2 Sets an Normalen zu speichern, einmal die 'richtigen' die man fürs Shading verwendet und einmal die smoothen, die man nur für das Verschieben verwendet. Wie gesagt, wenn du Nachbarschaftsinformationen haben willst (etwa um die Normalen direkt im Shader zu Mitteln) benötigst du sowieso irgendeine Art von Zusatzinformation (weil die Nachbarschaftssuche ansonsten lineare Laufzeit hätte und dein Modell in Quadratischer Zeit rendern würde). Und wenn man eh Zusatzinformationen speichern muss, dann kann man sich auch die Berechnung gleich sparen, also kannst du direkt die Smoothen Normalen mitspeichern, anstatt sie neu zu berechnen.
An dem Punkt würde ich mich dann aber schon fast fragen, ob man nicht gleich ein den Effekt irgendwie Content-getrieben umsetzt. Sprich, man könnte direkt die eingefrorene Version als zweites Modell speichern. In Blender kann man ja auch Modelle per Skripte editieren, d.h. man könnte sie genauso automatisch generieren, aber man könnte gleichzeitig bestimmte Modelle auch von Hand anpassen. Oder ggf. komplexere Effekte umsetzen, weil das vielleicht in der Content-Pipeline leichter geht, als alles im Shader zur Laufzeit zu machen.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten