Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: Grundregeln der Flowgraphs

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    User Avatar von 0racle
    Registriert seit
    11.11.2010
    Beiträge
    141

    Standard Grundregeln der Flowgraphs

    Hallo Zusammen,
    ich wollte mal fragen, ob es hier jemanden (oder mehrere) gibt die so nett wären ein paar grundlegende Dinge über die Flow Graphs zu posten hier.

    Ich weiß nicht warum, aber ich bekomme einfach keinen Zugang zu den FG´s.
    I-wie läuft immer was schief, selbst mit den einfachsten Sachen. Das liegt aber vorallem daran, dass ich mich damit 0 auskenne und mir selbst die englischen tuts nichts bringen ( an der Sprache liegts nicht ).

    Mit Grundregeln meine ich z.B ein paar einfache Dinge auf die ich immer achten muss, z.B braucht ja alles eine EntityId (richtig?) usw.

    Wäre super wenn das evtl hier ein kleiner Anfängerthread werden könnte. Würde mich gerne damit beschäftigen.

    Falls ihr aber auch Links habt wo das alles super erklärt wird, bin ich auch sehr dankbar.


    LG 0racle
    Die Kreativität des Menschen besteht nicht darin, was er macht, sondern darin, was er sich vorstellt machen zu können.

  2. #2
    Professional Avatar von ODemuth
    Registriert seit
    07.11.2009
    Ort
    Zürich
    Beiträge
    2.121

    Standard

    Naja da gibts eigentlich nur eine Grundregel: Learning by doing
    Mit FG's ist alles möglich, man muss einfach genau wissen was man machen will und in etwa wissen welche FG-nodes man dazu braucht und was diese bewirken, das alles kommt mit der Zeit, einfach mal hinsetzen und versuchen etwas zu "basteln"
    Prozessor: Intel Core i7 3770K (4x3.5Ghz) - Arbeitsspeicher: 32,0 GB Corsair Vengeance - Festplatten: 256GB SSD OCZ Vertex 4 - 2.0TB HDD Seagate Barracuda 7200 - Grafikkarte: ASUS Nvidia GeForce GTX 680 DCUII Top - Mainboard: ASUS P8Z77-V Deluxe - Netzteil: Corsair TX850W - Betriebssystem: Win 8.1

  3. #3
    User Avatar von 0racle
    Registriert seit
    11.11.2010
    Beiträge
    141

    Standard

    zu Wissen was ich machen will, daran harperts nicht, ehr das ich zu genau weiß was ich machen will .

    Ich werds mal austesten, ich denke mal ich brauch auch nur nen Antoß aber ich bekomm ja nichtmal hin das mein Grunt ne Animation macht....:-/
    Die Kreativität des Menschen besteht nicht darin, was er macht, sondern darin, was er sich vorstellt machen zu können.

  4. #4
    Professional Avatar von ODemuth
    Registriert seit
    07.11.2009
    Ort
    Zürich
    Beiträge
    2.121

    Standard

    Naja nem Grunt ne Animation zu verpassen ist auch nicht so einfach, da er sie nur ausfühhrt, wenn er nicht im combat-mode ist...
    Was willst du denn genau machen?
    Wenn du deine Ideen hier schreibst, kann ich/können wir alle hier dir vlt helfen
    Prozessor: Intel Core i7 3770K (4x3.5Ghz) - Arbeitsspeicher: 32,0 GB Corsair Vengeance - Festplatten: 256GB SSD OCZ Vertex 4 - 2.0TB HDD Seagate Barracuda 7200 - Grafikkarte: ASUS Nvidia GeForce GTX 680 DCUII Top - Mainboard: ASUS P8Z77-V Deluxe - Netzteil: Corsair TX850W - Betriebssystem: Win 8.1

  5. #5
    Professional Avatar von XcorpioN
    Registriert seit
    19.12.2008
    Ort
    Herne
    Beiträge
    2.441

    Ausrufezeichen

    Am meisten lernst du von bereits bestehenden Flowgraphs. Die von Crysis sind ganz nett, aber nicht wirklich interessant. Sammle mal ein paar von Crymod die interessant sind und schau sie dir an. Ist nicht einfach alles sofort zu verstehen, musst du auch nicht, aber du erkennst (sofern man dem Englisch mächtig ist) schnell, was wofür zuständig sein könnte. Aber wie es funktioniert weiß man auch dann nicht, dann heißt es wie ODemuth schon sagte, learning bei doing. Elemente verändern (werte der Notes), Entities, Inputs wechseln und zwischendruch immer ins Game switchen und schauen was es bewirkt hat. Dann checkst du das.
    Flowgraphs sind in meinen Augen das genialste an Crysis, man kann echt ALLES machen wenn man weiß wie.

    Also grundlegend für Flowgraphs, sofern ich das beschreiben kann:


    Der Aufbau

    Die Flowgraph Nodes sind meist mit Inputs und Outputs versehen (also Hauptsächlich), dabei ist das Input immer dafür zuständig etwas bei dem jeweiligen Node auszulösen, das Output eine Veränderung oder etwas Ausgelöstes weiterzugeben.
    Viele Nodes brauchen eine zugewiesene Einheit (Entity), auf die das Node wirksam wird. Beispielsweise Movement-nodes um zu wissen, welches Entity bewegt werden muss.
    Viele Inputs muss man jedoch nicht mit einem eingehenden Pfeil, also dem Output eines anderen Nodes belegen, sondern kann sie "Freischalten". Dazu klickt man einfach auf das Node und rechts in der Bar erscheint eine Liste, bei der man "Haken" machen kann, was generell aktiviert ist oder nicht. Hinzu werden in dieser Leiste auch Werte eingetragen, Strings (Verzeichnisse) oder Keys und Ähnliches.


    Der Start

    Alles muss irgendwo starten, mit einem "Enable" (was nicht unbedingt einen Input brauch, man kann auch rechts in der Bar wenn man das jeweilige Node, beispielsweise eine Einheit, angeklickt hat einen Haken bei Enabled machen), einem "Misc:Start" Node (also zu finden unter Misc > Start, in Crysis 2 unter Game > Start) oder unter Umständen einen Time:Timer. Auch werden Gametokens oder Trigger für das starten einer Aktion genutzt. Gametokens muss man selbst erstmal begreifen, worauf ich nicht eingehe, doch macht man gebrauch von einem "Trigger", ist die handhabung einfach. Man setzt am besten einen ProximitryTrigger, durch den der Spieler läuft - im FG hat man nun den Trigger als Auslöser des Flowgraphes, das heißt sein "Enter"-Output geht in den Auslösenden Input.
    Ein weiterer sinnvoller Auslöser neben Misc:Start und ProximitryTriggern ist das Node Input:Key, bei dem man eine Taste zum Auslösen einer Aktion wählen kann.

    Logik: Schleifen/Reihenschaltung/Massenschaltung

    Eines der wohl am häufigsten auftrenden Nodes ist das Logic:Any, ein Node, das einem viele Umwege erspart. Es brauch kein Entity, lediglich Inputs die belegt werden müssen, damit das Output wirksam wird. Es hat 6 Inputs und 1 Output (Es müssen aber nicht alle Inputs belegt werden um das Output wirksam zu machen).
    Hat man beispielsweise zwei Entities, die bei ihrem tot etwas auslösen sollen, so verbindet man das "Dead"-Output der Entity mit dem Logic:Any. Verbindet man beide Deads mit dem Logic:Any, so muss nur eine Entity sterben, damit das Logic:Any greift (Any = Irgendeiner, Irgendwas).
    Will man jedoch beispielsweise, dass nur dann der Output wirksam wird, wenn beide Entities tot sind, so nutzt man statt einem Logic:Any, ein Logic:All - dort wird das Output nur wirksam, wenn alle damit verbundenen Inputs aktiviert wurden (doch auch hier gilt, das nicht alle belegt sein müssen, belegte Slots müssen lediglich erfüllt werden!).
    So verhält es sich mit vielen Notes, und sie erklären sich meist von ganz allein.

    Um eine Schleife zu schalten, etwas das sich in kurzen Abständen wiederholt, brauch mal ein Logic:Any und ein Time: Delay. Das Logic:Any bekommt einen Input von einen Auslöser und sein Output geht in das Node, was als nächstes Auslösen soll und in das besagte Time: Delay. Time: Delay steht für einen Zeitintervall der verstreichen soll, dabei kann man die Zeit in Sekunden angeben. Nehmen wir 60 Sekunden. Verbinden das Outpout des Time: Delay mit dem zweiten Input des Logic:Any und nach jeder Minute wird das Output des Logic:Any betätigt.
    Möchte man eine permanente Schleife, so kann man die Zeit auf 0.01 herunterschrauben (also eine Milisekunde), also kaum wahrnehmbarer Zeitabstand, oder ganz einfach das Time: Delay mit einem zweiten Logic:Any ersetzen. So entsteht garkeine Verzögerung bis das erste Any wieder seinen Output startet, da es in einer permanenten Schleife geschaltet ist.

    Man kann ein Output mit so vielen Inputs/Entities verbinden wie man benötigt, doch nur ein Input kann mit einem Output ausgestattet werden.

    Ich hoffe das hilt dir und anderen wenigstens ein bisschen die Grundlagen zu verstehen. Wenn ihr Ideen habt, aber es an der Umsetzung scheitert, einfach im Crysis 2 Sandbox 3 Editor Q&A posten und es wird euch bestimmt erklärt oder gezeigt

    MfG
    XcorpioN
    t(-.-t)

  6. #6
    User Avatar von 0racle
    Registriert seit
    11.11.2010
    Beiträge
    141

    Standard

    Wahnsinn. Vielen Dank.

    Das hat mir auf Anhieb sehr viel geholfen. Und vermutlich auch meinen Fehler aufgedeckt. Schaun wir mal. Auf jedenfall werd ich mich da ab heute Abend mal reinarbeiten.

    falls ich Probleme hab, ich weiß ja wieviele Hilfsbereite Leute hier sind, siehe deinen post !unglaublich!

    Eine abschließende frage hab ich aber noch: Was nehme ich denn dann am besten als AI zum animieren einer Cutscene anstatt des Grunts?

    vllt können wir diesen Thread ja erhalten, um einzelne Flowgraphs zu erstellen, bzw Probeleme zu bearbeiten und das dann später als fertige Tuts(bzw FG´s) zur Verfügung stellen`?
    Die Kreativität des Menschen besteht nicht darin, was er macht, sondern darin, was er sich vorstellt machen zu können.

  7. #7
    Professional Avatar von Flow groover
    Registriert seit
    19.08.2009
    Ort
    Ffm & Lingshan
    Beiträge
    4.800

    Standard

    Am besten du nutzt keine AI (!!) da diese für TrackViews zu unzuverlässig ist, und am besten nimmst du AnimObject's, und animierst die aufwendig per TV.
    Zwar deutlich aufwendiger, aber auch deutlich professioneller.
    Denn AIs machen niemals 2x mal das selbe, und bei ner Cinematic Sequence willst du sicher das alles glattläuft? Heist nicht das du absolut keine AI nutzen darfst, aber bei so simplen Sachen wie rumrennen lassen, ne Animation abspielen (gerade hier) ist es besser wenn du AnimObject's nimmst und nicht mit AI arbeitest.
    Es gibt aber auch Sachen die du garnicht mit AnimObjects machen kanst, schiesen lassen, sterben lassen... Liegt aber eher am Mangel passender Animationen..


    ModDB
    YouTube CrysisHQ
    Discord: flowgroover#2478

  8. #8
    User Avatar von 0racle
    Registriert seit
    11.11.2010
    Beiträge
    141

    Standard

    Das hieße im Umkehrschluss, wenn ich also in einer Scene erst Animations haben will und später durch die getöteten Leute den levelfortschirtt erreichen will, tausche ich die AnimObjects zu gegebenem Zeitpunkt durch Grunts mit dem gleichen Model aus?
    Die Kreativität des Menschen besteht nicht darin, was er macht, sondern darin, was er sich vorstellt machen zu können.

  9. #9
    Co-Administrator Avatar von Masterside
    Registriert seit
    04.12.2007
    Ort
    Bonn
    Beiträge
    3.141

    Standard

    EntityID weg, das ist bei diesem überflüssig. Zudem muss beim Ai:GoTo der Grunt eingefügt werden und nicht der TagPoint.
    Schließlich soll der Grunt ja zu dieser Pos gehen und nicht der TagPoint
    CPU: INTEL i7 3770K RAM: 32 GB DDR3 Motherboard: ASUS P8Z77 LE Plus GPU: EVGA GTX 780 SC SSD: ADATA SP900
    HDD1: SAMSUNG HD103UJ HDD2: SAMSUNG HD161HJ HDD3: SAMSUNG HD501LJ PSU: 1000W OS: Windows 8.1

  10. #10
    Professional Avatar von ODemuth
    Registriert seit
    07.11.2009
    Ort
    Zürich
    Beiträge
    2.121

    Standard

    Du musst immer das was etwas tun soll als input entity einfügen, einfach entity auswählen und dann auf das Flownode gehen und rechte Maustaste-> assign entity
    Prozessor: Intel Core i7 3770K (4x3.5Ghz) - Arbeitsspeicher: 32,0 GB Corsair Vengeance - Festplatten: 256GB SSD OCZ Vertex 4 - 2.0TB HDD Seagate Barracuda 7200 - Grafikkarte: ASUS Nvidia GeForce GTX 680 DCUII Top - Mainboard: ASUS P8Z77-V Deluxe - Netzteil: Corsair TX850W - Betriebssystem: Win 8.1

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •