Vertex Color

  • Vertex Color

    Hi,

    ich habe ein Problem mit meinen Tree Meshes, seitdem ich den Blattbereich mit der Vertex Color belegt habe, hat der Baum im Spiel eine andere Collision bekommen. Vorher konnte ich nahe an den Stamm herangehen doch jt hält dieser meinen Spieler auf Abstand und dies ist nur bei den Bäumen mit der Vertex Color passiert. Wisst ihr vielleicht woran das liegen kann?

    LG KPRi
  • Ein paar mehr Infos musst du schon geben und am besten auch Screenshots vom Modell im Mesh Editor und dort die Kollision darstellen lassen.

    1.Hast du die Bäume selbst gebaut und importiert oder fertige Bäume aus UE4 exportiert und mit Vertexcolor wieder importiert?
    2.Besitzt das Modell UCX meshes oder lässt du die Kollision beim Import automatisch berechnen?
    3. wie sehen deine Importeinstellungen aus?
  • Hast du dir die Kollision der Bäume mal vor dem Export angeschaut?

    Nach dem erneuten Import mit "Auto Generate Collision" packt UE4 das ganze ja in eine extra Hülle (3.PNG), was auch deine Probleme erklärt.

    Bei derat simplen Bäumen könntest du vielleicht sogar die Collision Complexity auf "Use complex as simple" stellen, woraufhin das Modell die complex collision (hellgrün) benutzt.

    Für komplexere Formen solltest du dich dann allerdings mal mit dem erstellen von Collision Meshes befassen, da mit entsprechend hoher Polygonzahl complex collision sehr zu Lasten der Performance geht.
    Außerdem ist es nicht unbedingt immer gewünscht, das jegliche Kollision polygongenau erfolgt und dann z.B. der Spieler an irgendwelchen Leveldetails hängen bleibt.

    Hier auch nochmal ein Thread zu einer ähnlichen Problemstellung:
    unrealengine4.de/index.php?thr…t/&postID=35291#post35291
    (weiter unten findest du auch zwei Posts von mir)
  • Ich glaube auch dass dein Problem nichts mit der Vertex Color zu tun hat. Ich glaube man kann auch irgend wie einstellen das die Collision nur auf einem bestimmten Material statt findet aber das man hierfür eine Vertex Farbe verwendet wäre mit neu.

    Dafür müsste dann ja auch die komplette Kollision deaktiviert und nur für eine bestimmte Vertex Farbe freigeben sein oder für bestimmte Farben verboten sein. Solch eine Einstellung halte ich aber für sehr sehr unwahrscheinlich.

    Ich rate einfach mal ins Blaue:

    Dein Baum besteht normalerweise aus einem Stamm und dem Blattwerk, aus Performance gründen macht man auf die Blätter meist keinen Collider drauf. Es macht ja auch keinen Sinn das eine Kugel auf einem Blatt einschlägt oder man durch ein Blatt nicht hindurch schießen kann. Blätter sind ja meistens eh nur Planes ( Sprites)

    Der Stamm ist ja meist auch kein Cube weshalb man hierfür kein Box Collider sondern ein Mesh Collider verwendet. Beim Mesh Collider wird aus dem Mesh heraus sozusagen ein Mantel errechnet wo die Collision statt findet.
    Wenn du nun aber für deinen Stamm einen Box Collider verwenden würdest, so würde aus dem Volumen vom deinem Mesh ein Quader artiger Collider berechnet werden. Du Hättest du einen Collider der auf jeder Seite mindestens so groß ist wie dein Mesh und Quadratisch (Cube Förmig)

    Meiner Vermutung nach würdest du dein Problem lösen in dem du für den Stamm ein Mesh Collider verwendest und NICHT für den gesamten Baum ein Box Collider den dann wäre logisch warum du nicht an den Baum rankommt. Verwendest du für den Gesamten Baum einen Box Collider so würde auch das Blattwerk mitgezählt werden und der Collision an den äussersten Spitzen des baum nach unten berechnet werden.

    Machst du auf eine umgedrehte Pyramide einen Box Collider drauf so wäre der Collider boxen artig errechnet an den breitesten Stelle deiner Pyramide. Deine Kollision wäre also eine Box und keine Pyramide.

    Ich denke da liegt der Fehler.
  • Das ist eher zufall, dass hat mit der vertex nichts zu tun. Ich tippe bei dir auf die Collision Complexity. Sicherlich hattest du dort etwas probiert. Es ist in Details einzustellen bei deiner Mesh. Da du Low Poly hast, kannst du gleich auf use complex collison... schalten. AWenn es nicht der fall war, dann hatte es vorher eine bessere collision generiert. Die Collision kannst du löschen und selber neu generieren. Dazu gibts ein tutorial, dass ich grad nicht finde ^^ Hier hast du eins, womit du selber eins erstellen kannst: Collisionsmesh in Blender
Unreal®, Unreal Engine, the circle-U logo and the Powered by Unreal Engine logo are trademarks or registered trademarks of Epic Games, Inc. in the United States and elsewhere.