Beiträge von Sleepy

    Grundsätzlich:


    Es gibt dinge die berechnet die CPU und es gibt dinge die Berechnet die GPU.


    Aufgaben die die CPU an die GPU weiter gibt, nennt man Drawcalls.


    Man kann sich ein Drawcall also wie ein Brief vorstellen das die CPU an die GPU schickt.


    Es Gilt: Umso mehr Brief die CPU an die GPU versendet, umso mehr Briefe muss die GPU öffnen und lesen.

    Das Öffnen, dauert hierbei immer länger als das Lesen.


    Tust du also Meshes miteinander verbinden, werden es zwar weniger Briefe aber es gibt mehr zu lesen. (Da die Informationen größer sind)

    Aber wie gesagt, lieber mehr lesen als viele Briefe.


    Drawcalls werden aber nicht nur von Meshes verursacht sondern von allem was deine GPU Berechnet da kommen zb auch Schatten und Reflektions Berechnungen usw dazu.


    Dafür gibts leider auch kein Patent Rezept und wo sagen kann, wenn du es so machst, dann machst du es richtig. Es kommt immer darauf an.


    Das Problem ist auch:

    Auch wenn du Meshes verbinden tust, wird die FBX file immer größer. .Ein IPAD kann nur Meshes ich glaube mit bis zu 2GB lesen. Sind deine Meshes größer hagelt es Fehlermeldungen beim kompilieren. Keine Ahnung wo und ob es beim PC ähnliche Begrenzungen gibt.

    Aber du kannst eben an eine Grafikkarte keine 10 Terrabyte große Information schicken.



    Das Culling ist nochmal ne andere Geschichte auch hier streiten sich die Geister.


    Was vom Culling ausgeblendet wird muss auch nicht von der GPU berechnet werden.

    Aber Objekte müssen auch Cullingbar sein, ich geb dir mal ein Beispiel:


    Mal angenommen du hast ein Wolkenkratzer den du von fast überall aus sehen kannst. Der Gesamte Wolkenkratzer besteht aus 15 Millionen Triangles.

    Besteht der Wolkenkratzer aus einem einzigen Objekt, bedeutet das entweder:


    1.Das Gesamte Gebäude wird gesehen es werden also 15 Millionen Triangles eingeblendet


    oder


    2.Das Gebäude wird nicht gesehen du hast also 15 Millionen Triangles weniger.


    Nun könntest du auch das innere des Wolkenkratzers separat machen und die Fasadenteile ebenfalls extra.


    Die Fassade besteht aus 5 Millionen Polygonen und das innere aus 10 Millionen Polygonen.

    Sieht man das Gebäudevon außen so muss nur die Fassade mit 5 Millionen Polygonen angezeigt werden und das innere des Gebäudes bleibt ausgeblendet und wird nur Raum für Raum eingeblendet wenn du das Gebäude betrittst.


    Culling ist also nicht einfach nur eine Funktion, sondern man muss sich auch überlegen wie man die Meshes sinnvoll aufteilt damit komplexe Modelle sinnvoll ein oder ausgeblendet werden.


    Hier können mehr Objekte manchmal performanter als riesige Meshes.


    Du LODs kann man das nun noch weiter aufsplitten und performanter machen.

    Offtopic on: Ich hab mir mal erlaubt die Bilder richtig zuzuorden ich hoffe ich hab das richtig gemacht.


    Fürs nächste mal:

    1.Bild unter Dateianhänge Hochladen

    2.Bild über "Vorschau einfügen" an der entsprechende Stelle hochladen. (DU brauchst sie sie also nicht extra verlinken.

    offtopic off


    Deine Idee erinnert mich sehr an eco Survival falls du das kennst ?

    Für jemand mit begrenzten Blender Kenntnissen sieht das schon sehr gut aus.


    Bin gespannt wies weiter geht.

    Ich hatte neulich ähnliche Probleme mit der Maus.

    Das Touch Interface hast ja aktiviert...


    Wenn ich mich recht erinnere musste man sowohl die Maus aktivieren, als auch den Mouse Click Event und nochmal ein oder zwei dinge.

    Vielleicht ist das beim Joystick ähnlich.

    AUch hier schwierig einzuschätzen ohne Informationen.


    Wie im anderen Thread schon gesagt: Die Qualität der Antworten hängt davon ab wie gut deine Frage gestellt ist.

    Leider nicht sonst hätte ich auch was dazu geschrieben. Ich hab seit Ewigkeiten keinen Joystick mehr in der Hand gehabt und deswegen auch keinerlei Erfahrungen was dass angeht.


    Es ist aber auch schwierig dir zu helfen den um zu helfen braucht man soviele Informationen wie möglich.


    Was ich weiß ist das du ein VIrtuellen Joystick anzeigen lassen willst. Wie du dir das vorstellt kann ich nur raten. (So kann ich dir nicht helfen)

    Dann schreibst du das du wo anderst den Code schonmal verwendet hast, auch mit der Informationen kann ich gar nichts anfangen.

    Das ist wie in einer Werkstadt anzurufen und zu Fragen: "Hey mein Auto macht komische Geräusche und springt nicht mehr an. Was ist kaputt ?

    Jede Werktstatt würden sagen: Kommen sie vorbei dann schauen wir uns das an.


    Ist nicht böse gemeint aber du musst Informationen liefern sonst wird das mit der Hilfe schwierig.


    Screenshots oder eine genaue Beschreibung wäre ein guter Anfang.

    Benutz mal bitte den Bilder upload es Forums.
    Bei den Externen Bild Anbietern die du verwendt, werden die Bilder nach einiger Zeit gelöscht und dann sind alle Bilder hier im Forum tot.


    1.Klicke auf Dateianhänge

    2.Dann auf Hochladen.


    Alternativ kannst du zb mit dem Snipping Tool ein Screenshot machen und dieses bei bearbeiten und Kopieren in den Zwischenspeicher kopieren und dann hier einfach per Strg + V einfügen.
    Das geht dann auch schnell wieder Bilder immer irgend wo hochzuladen.

    Ich hab mal ein eigenes Thema gemacht, da es ja im Moment eh keine anderen Themen gibt :lol:


    Ich fürchte da hat das Arbeitsamt aber auch recht. Keine Firma stellt einen Mitarbeiter und lässt den sofort von zuhause aus arbeiten. Homeoffice ist ein Privileg das man sich verdienen muss.


    Für den der Homeoffice macht, ist Homeoffice meist spitze, ich persönlich mag es nicht so da ich mich im Büro besser auf meine Arbeit konzentrieren kann.


    Aus Mitarbeiter Sicht:

    Die Disziplin ist wichtig, sitzt man zuhause wird man trotzdem von der Firma bezahlt und wer dann im Internet Surft, 1 1/2 Mittagspause usw sorgt zum einen dafür das die Motivation des Teams sinkt weil irgend wie arbeiten zwar alle wie verrückt, aber nichts geht voran!?

    Wer von zuhause aus arbeitet, der muss auch arbeiten und zwar ohne Privatanrufe, ohne den Müll runterbringen oder Hausarbeiten (Das ist meine Meinung dazu)


    Aus Sicht der Firma:
    Ist Homeoffice ein vertrauen Beweis dass das wie oben nicht passiert. Wer das ausnutzt und meint er könnte zuhause Chillen gefährdet den eigenen Jobs und was noch schlimmer ist die Jobs anderer Mitarbeiter.


    Tomarr Vergiss das Arbeitsamt, die geben dir keinen Job oder vermitteln dich an Zeitarbeitsfirmen etc weiter. Willst du was verknüftiges, dann musst du dir selber einen Job suchen.

    Ich glaube du unterschätzt LOD.

    Ich hab doch nichts schlechtes über LODs gesagt man muss sie nur eben auch richtig anwenden.


    Optimierung ist eine sehr Zeitfressende Geschichte und dafür gibt es auch kein Patent Rezept.


    ZU LODs: Ich gehe jetzt mal nicht davon aus das ihr auf Konzept Zeichnungen zurückgreifen könnt, das heißt ihr baut Eure Modelle aus dem Kopf heraus. Meine Modelle passen niemals von Anfang an, und sind niemals beim ersten mal so wie ich sie mir vorstelle.

    Wer nur ein Stuhl hat, kann sich nicht vorstellen wie der Tisch dazu aussehen soll, wer nur den Tisch hat kann sich den Stuhl nicht vorstellen. Das heißt alles muss mehr oder weniger zusammenwachsen.

    Grundgerüst und dann alles hochziehen.


    Wenn sich also die Modelle ständig ändern, macht auch das erstellen der LODs keinen Sinn, zumindest nicht im früheren Stadium.


    Klar kann man sagen, LODs sind klasse, Levelstreaming ist spitze und den Polycount flach halten.

    Aber ehrlich, was bringen diese Informationen in der Praxis ?


    Auch mal als Beispiel: Wenn ich ein Realistischen AAA Haus Modellieren möchte, dann kann ich das nicht als Lowpoly aus ein paar Planes zusammen nageln. Das sieht nicht so aus wie in meiner Vorstellung. Damit es so aussieht wie in meiner Vorstellung, brauche ich ein Midpoly und das ist eben nun nicht performant.


    Erst die Idee und die Optimierung am Schluss. Das ist meine Meinung dazu.

    Bin mir nicht sicher aber es gibt zwei Technische Hürden:


    1.Eine Datei egal welche darf nicht größer sein wie (Ich glaube 2GB) Das passiert vor allem dann, wenn man aus Performance gründen ganz viele Meshes zu einem zusammenpacken möchte. Dann wird die Meshfile extrem groß.



    2.Die Pfad Länge wo deine Datei gespeichert sind sollte weniger wie 256 Zeichen haben.


    Ansonsten die anderen Antworten abwarten.

    Ganz genau so sehe ich das auch.


    Auch entwickelt sich ein Level mit der Zeit neu meshes verändern sich werden ersetzt oder fliegen raus.


    Ich als Artist kann den Polycount nicht von Anfang an abschätzen der er sich mit mit meinen Ideen entwickelt. Zum Testen verwende ich auch oft ein MIdpoly was eher einen hohen Polycount hat aber wichtig ist damit ich mir das Ergebnis (Das Envoirement) besser vorstellen kann.


    DIe Performance Optimerung kommt dann nach und nach. Ich will damit auch nur sagen, das man sich wegen der Performance nicht ab der ersten Sekunde Gedanken machen muss.

    Man könnte durch streaming schon etwas sparen weil man potentiell CPU fressende Teile wegbekommt, die sinnlos berechnet werden. Wobei die Frage ist ob streaming hier wirklich hilft, da du mit Fileoperationen

    Ich frage mich wie du die wegbekommen willst ?


    Ersparnis hast du ja nur wenn du etwas nicht berechnen musst, was du normalerweise hättest berechnen müssen oder ?

    Streaming Läd etwas oder tust es nicht. Verstehe nicht wie man da Optimieren kann ?


    Wie gesagt bei der Ladezeit Optimierung glaube ich das durchaus aber in der Echtzeit Performance glaube ich nicht an große Einsparungen durch Streaming. Da würde ich eher aufs Culling setzen.


    Laut Gene Amdahl glaube ich auch nicht an die unendliche Optimierung, bei beim Polycount muss man sich manchmal auch überlegen ob es die Arbeit der Optimierung wirklich Wert ist.

    Ich hab da auch kaum Vergleichs Erfahrungen finde das Thema aber spannend.

    Culling ist das darstellen eines Objekts. Streaming ist das Löschen oder Laden einer gesamten/einzelnen Szene/Map.

    Ich wäre mir da nicht so sicher ob das ein Unterschied macht. Culling verfahren gibts in unreal.


    Durch das Backface Culling ist immer nur das sichtbar was der Spieler sieht alles andere ist nicht da und muss auch nicht von der Grafikkarte gezeichnet und berechnet werden. (Generiert also auch keine Drawcalls)


    Der Vorteil beim Levelstreaming ist für mehr die Möglichkeit das Spiel zu starten und während man sich im Menü befindet, das Spiel im Hintergrund weiter laden zu lassen.

    Auch kann man während des Spielens und der Spieler läuft zb auf eine Levelgrenze zu, bereits das neue Level im Speicher laden und somit vorbereiten. Erreicht der Spieler die Levelgrenze geht das Laden schneller.


    Lass mich da gerne eines besseren belehren:


    Das Culing blendet alles aus wirklich alles außer das was durch den Player noch sichtbar ist.

    Warum also Levelstreaming ? Das Levelstreaming ersetzt nicht das Culling.

    Was mich dann auch interessieren würde ist, wie die Sublevels aufgeteilt werden müssten damit es Sinn ergibt ? Wenn man alle Steine in ein Sublevel steckt, und alle Häuser ist doch deswegen nichts performanter.

    Streaming ist ja nichts anderes als Layer in die Objekte gepackt werden können. Jedes Streaming Level kann zu einer beliebigen Zeit geladen und entladen werden.

    Mehr Informationen;

    1.Sind die Meshes die du versuchst reinzupacken besonderst Polycount lasstig ?

    2.Schau erstmal das sie ohne Texturen und Materallien sind um Fehler mit Material und Texturen auszusschließen.

    3.WIe siehts mit dem Schatten aus ? Wenn dieser Dynamisch berechnet werden muss, könnte das zu krass sein. Auch hier erstmal aufs Minimum runterfahren.


    Vielleicht kannst du einfach mal ein Screenshot eines Meshes posten das crasht.

    Ja die Normal im Material Editor wird Dunkler angezeigt, das ist bei Unreal nun mal so.


    Also deine Normal sieht völlig okay aus, nur in deinem ersten Post scheint die Normal teilweise invertiert zu sein.


    1.Ist das eine Fläche auf der sich das Material befindet oder mehre Flächen (Faces, Polygone)

    Wenn die Normal deiner Flächse theoretisch invertiert ist, dann ist auch die Normal invertiert.


    2.Eine andere Vermutung ist: Hast du einen Mirror Modifier oder sonstige Mirror Tools benutzt ?

    Wenn ja:

    Beim Spiegeln wird oft ein Scale von -1 verwendet, was vorher als Scale +1 war ist nach dem Mirror -1

    Das bedeutet das dann nicht nur dein Mesh sonder auch die Normals gespiegelt sind.