Tomb Raider Forums  

Go Back   Tomb Raider Forums > General Forums > International Tomb Raider Forums

Reply
 
Thread Tools
Old 29-05-12, 15:53   #2961
XNAaraL
Member
 
XNAaraL's Avatar
 
Joined: Apr 2009
Posts: 3,226
Default Blender -- Making of eye lashes

Quote:
Could you try attaching lashes from a original model to a other head?
Es ist viel einfacher neue Wimpern zu erstellen. Die Wimpern von einem existierenden Modell an ein anderes Modell anzupassen dauert zudem länger.

Nichts ist einfacher zu erzeugen als Wimpern!
  1. Einfach die Kanten um das Auge selektieren. Für die oberen Wimpern der untere Rand des oberen Augenlieds, für die unteren Wimpern die Kante etwas unterhalb des oberen Randes des unteren Augenliedes.
  2. Die Kanten mit E extrudieren und mit Gy etwas nach vorne verschieben.
  3. Die richtige Form und Wölbung erhalten wir durch Vergrößern mit S wie Scale. Mit Sz die Wölbung nach oben bzw. unten verstärken.
  4. Die Schritte 2 und 3 noch ein oder zweimal wiederholen.
  5. Die Wimpern mit P als eigenen Meshpart abtrennen und den Namen mit 7_lashes der Render Gruppe mit Transparenz zuordnen.
  6. Mit U die U-Map abwickeln. Und mit Strg-T die Vierecke in Dreiecke wandeln.
  7. Texture erzeugen und anhängen.
Fertig.



Select the edges surround the eye.


Extrude the edge.


Move the new faces with gy gz.



Repeat the latest step and separate the new faces.



Make the uv-map


Triangulate the new faces and assign a texture image. Choose a matching render group number.

Last edited by XNAaraL; 29-05-12 at 15:56.
XNAaraL is offline   Reply With Quote
Old 03-06-12, 17:16   #2962
XNAaraL
Member
 
XNAaraL's Avatar
 
Joined: Apr 2009
Posts: 3,226
Default Normal Maps with XNALara -- Teil 1

Im XNALara Unterforum wird derzeit darüber dsikutiert, wie Tangent-Space Normal-Maps für XNALara aussehen müssen. Ich nehme dieses zum Anlass einmal etwas die Grundlagen von Bump-Maps zu schreiben.
Für die Komplette Theorie empfehle ich diesen ausgezeichneten Beitrag im Polycount Forum.

PS: Ich werde meine Beiträge in Zukunft nicht mehr ins Englische übersetzen.

Quote:
Originally Posted by Dusan View Post
a very serious bug in bump mapping shaders - bump mapping on posed models had never been rendered correctly at all!
Until now this BUG is not corrected.
Eine Diskussion darüber, wie für XNALara eine Normal-Map auszusehen hat um eine Detail "erhaben" darzustellen ist also reine Makulatur, solange XNALara die Normal-Map's nicht richtig unterstützt.

Vorbemerkungen


Handelt es sich bei diesem Objekt um eine Kugel? Oder zeigt das Bild eine Delle?


[COLOR="White"]Diese Frage lässt sich nicht beantworten, ohne zu wissen von wo das Licht kommt!
Die meisten von euch werden vermutlich eine Kugel sehen. Das Gehirn erwartet die Lichtquelle [I]Oben Rechts[/I]. (Nachmittags-Sonne)
Befindet sich die Lichtquelle [I]Unten Links[/I] dann zeigt das Bild eine Schüssel, eine Delle.

Ein Schatten hilft das Problem zu lösen:
[URL="http://image.noelshack.com/fichiers/2012/22/1338740919-RaisedOrSunken2.jpg"]Click[/URL]
[FONT="Courier New"]Ce n'est pas une balle[/FONT]
Das Bild zeigt eine [B]Vertiefung [/B]und nicht eine Erhebung!
Es ist keine Kugel, und es stellt auch keine Kugel dar. Ce n'est pas une balle.
[/COLOR]


Der Bildschirm zeigt die Objekte nur 2-Dimensional. Der Eindruck der 3. Dimension wird dadurch erzeugt (gerendert), indem die Texture von Flächen senkrecht zur Lichtquelle heller dargestellt werden. Fällt das Licht schräg auf eine Fläche, dann wird dieser Teil der Texture dunkler dargestellt (Shading). Der Schatten hilft dabei die Lage im Raum und die Position der Lichtquelle zu identifizieren.

Ein 3D Objekt besteht aus vielen Dreiecken (TRU Lara aus ca 30000 Dreiecken). Über diese Dreiecke wird ein oder mehrere Bilder als Texture gelegt. Eine Besondere Texture kann als Bump-Map benutzt werden. Die Bump-Map bewirkt, das die flachen Dreiecke so abgedunkelt werden, als enthalte diese flache Fläche kleine Vertiefungen (zum Beispiel Poren der Haut) oder kleine Erhöhungen (zum Beispiel Pickel). Die Bump-Map gaukelt also 3D-Details vor, welche gar nicht im Modell enthalten sind.

XNALara benutzt dazu sogenannte Normal-Maps im Koordinaten System des Tangent-Space. Dazu im nächten Teil mehr Informationen.
Dieser Tangent-Space wird durch GeMeshAsciiToBin erzeugt. Für die Abdunklung (shading) der Diffuse-Texture ist ein Shader-Programm von XNALara zuständig. Dieses wird innerhalb der Grafikkarte ausgeführt.

Leider ist der Shader von XNALara fehlerhaft. Er berücksichtigt nicht die Lichtquelle. Bump-Mapping mit XNALara funktioniert also gar nicht. Die Details werden nicht richtig gerendert. Sie sind quasi nur aufgemalt. Ihr könntet also dafür auch die Diffuse Texture benutzen.

XNALara ist ein Programm für Einsteiger in die 3D Welt. Für Anfänger im Erstellen von Bildern oder von Modellen.
Deshalb ist es nicht verwunderlich, dass dieser Fehler bisher von niemanden bemerkt wurde. Ich habe Dusan einmal 2009 darauf angesprochen. Er wollte den Fehler nicht wahrhaben. Erst 2011 erkannte er seinen Irrtum.
Quote:
Originally Posted by Dusan View Post
Update: version 9.4

1) a major bug fix: for 2 years there had been a very serious bug in bump mapping shaders - bump mapping on posed models had never been rendered correctly at all!
I spent basically the whole weekend rewriting everything related to bump mapping from scratch.
It's funny that nobody has ever noticed anything . Now it's hopefully corrected...
Leider ist der Fehler noch immer nicht behoben. Die Bump-Maps interagieren noch immer nicht mit der Lichtquelle.

So sollte es sein:





So ist es derzeit:




Keine Reaktion auf die Richtung aus der das Licht kommt. Die Bumpmap wird also nur dann korrekt dargestellt, wenn sich die Lichtquelle Unten-Links befindet. Für einen Künstler ein ungewöhnliches Light Setting.
Auf den ersten 2 Bildern erscheint der Knopf gedrückt.
Erst wenn das Licht von links kommt, erscheint der Knopf hervorzustehen. Was er auch tatsächlich sollte.
Für die ersten XNALara Versionen war es noch in Ordnung, dass die Normal Maps nicht auf eine Veränderung der Beleuchtung reagierten. Erst mit Version 2.8 konnte man die Richtung der Lichtquelle verändern.
Quote:
Originally Posted by Dusan View Post
Update: version 2.8

- use Shift+left mouse drag to pan camera
- controllable light direction and intensity
- new models: Diver captain (the mercenary), AK rifle
- updated Doppelganger: now has teeth
Anmerkung für die ganz Eiligen: Rexil hat hier eine Anleitung verlinkt. Diese sollte zeigen wie eine Normal-Map aussehen sollte.

Bitte nicht beachten! Diese Regel ist für XNALara falsch!

Unter der Annahme dass die UV Abwicklung mit "Project from Front View" erstellt wurde, und das Detail erhaben (raised) dargestellt werden soll, muss eine
Normal-Map für XNALara so aussehen:

XNALara Tangent-Space Normal Map


Rot Kanal: Oben (in bezug auf die Normale) == weiss - unten == Schwarz
Objekt erhaben.



Grün Kanal: Rechts (in bezug auf die Normale) == weiss - links == Schwarz
Objekt erhaben.

Blau Kanal, und falls vorhanden den Alpha-Kanal mit Weiss auffüllen!
Siehe auch den Beitrag von Dusan: http://www.tombraiderforums.com/show...&postcount=826

XNALara Test Modell http://www.sendspace.com/file/afm0z2
PS: Ein Test der Normal Map ist nur dann sinnvoll, wenn alle anderen Texturen deaktiviert wurden. Für Lightmaps ist dieses leider nicht möglich. Die Lightmap's also unbedingt durch einfarbige Bilder mit RGB 254,254,254 ersetzen. Gefakte Schatten verfälchen sonst das Bild.

Last edited by XNAaraL; 09-06-12 at 16:13. Reason: Link added
XNAaraL is offline   Reply With Quote
Old 09-06-12, 16:56   #2963
ST4RG4ZER
Member
 
ST4RG4ZER's Avatar
 
Joined: Mar 2012
Posts: 100
Default

hey buddy, you still here? Tried to PM you but you seem to have disabled pm.
Any other other way I can contact you?
ST4RG4ZER is offline   Reply With Quote
Old 09-06-12, 17:37   #2964
XNAaraL
Member
 
XNAaraL's Avatar
 
Joined: Apr 2009
Posts: 3,226
Default Normal Maps with XNALara -- Teil 2

  1. Begriffsbestimmung
    1. 3-dimensionalen Eindruck
      Beleuchtung und Schattierung sind wesentliche Elemente, damit computergenerierte Bilder auf einem 2-dimensionalen Bildschirm einen 3-dimensionalen Eindruck beim menschlichen Beobachter hervorrufen. Denn erst durch die Beleuchtung eines Objekts mit einer Lichtquelle und die damit verbundene Abschattung der lichtabgewandten Seiten wird die 3-dimensionale Form des Objekts im Gehirn des Beobachters rekonstruiert. Im Fachjargon nennt man diesen Vorgang „Formwahrnehmung aus Schattierung“.
    2. Normale
      Um diese Schattierung durchzuführen enthält das 3D Modell, neben den 3D Koordinaten, für jeden Eckpunkt (Vertex) eine zusätzliche Information: Einen Richtungs-Vektor. Im Fachjargon nennt man diese Richtungs-Vektoren "Normale". Dieses wurde bereits in der Mesh Beschreibung im ersten Artikel dieses Threads erwähnt http://www.tombraiderforums.com/show...11&postcount=2
      Dieser Richtungsvektor steht senkrecht auf der Oberfläche des 3D Modells und hat die Länge 1. Die Normale werden von dem 3D Editor (Zum Beispiel Blender) berechnet.
    3. Tangent Space
      Um die Berechnung der Schattierung zu vereinfachen werden beim Konvertieren der Blender Ausgangs-Datei Generic_Item.mesh.ascii in das XNALara Format Generic_Item.mesh durch den Konverter GeMeshAsciiToBin.exe für jeden Vertex ein weiterer Richtungsvektor berechnet. Dieser Vektor ist eine Tangente zu der Modell-Oberfläche und steht damit senkrecht auf der Normalen.

      Diese Tangentialvektoren bilden den Tangentialraum und besitzt ein eigenes Koordinatensystem.

  2. Schattierung ohne Normalmaps
    Ein 3D Modell für XNALara benötigt mindestens eine Diffuse Texture. Dieses Bild wird gem. der Abwicklung (UV-Map) um das Modell gelegt.
    Beim Rendern wird das 3D Modell auf den 2 dimensionalen Monitor projektiert. Für jeden Punkt des Monitors wird also ermittelt welcher Punkt der Diffuse Texture zu verwenden ist. Der entsprechende Farbwert wird dann als Grundwert benutzt.

    Um den 3-dimensionalen Eindruck von 1.1 zu erhalten wird dieser Farbwert in Abhängigkeit der Lichquelle(n) abgedunkelt. Wenn die entsprechende Fläche dem Licht zugewandt ist (senkrecht zum Lichtstrahl steht) dann erscheint der Punkt hell. Wenn die Fläche dem Licht abgewandt ist, dann wird der Monitor Pixel, entsprechend dem Winkel, abgedunkelt.
    Mit Hilfe der Tangenten genügt es den Sinus des Winkels (Lichtstrahl/Tangente) zu ermitteln und mit dem Farbwert zu multiplizieren.

    Der Sinus von 90° (Fläche senkrecht zum Licht) ist 1. Farbe * 1 = Farbe unverändert.
    Ist die Fläche dem Licht abgewandt (Tangente parallel zum Lichtstrahl) : Sinus von 0° = 0. Farbwert mal 0 gleich 0 gleich schwarz.
    Steht die Fläche schräg zur Lichtquelle, Sinus 45 Grad = 1/ Wurzel 2 == 0.7 als rund 3/4 der Helligkeit ... usw.
  3. Schattierung mit Normalmaps
    Existiert für das Modell eine Normal-Map, dann wird mit der UV-Map Koordinate der Diffuse Texture der entsprechende RGB (Rot/Grün/Blau) Wert aus der Normal-Map ermittelt.
    Mit diesen Werten wird die Normale quasi verdreht und somit eine Erhebung oder Vertiefung bei der Schattierung simuliert. Mit Hilfe von Matrizen geht dieses schnell und einfach.

    Wird für die Schattierung die Tangente benutzt, dann ist natürlich die Tangente zu verbiegen und zwar in X-Richtung um den Rot-Wert und in Y-Richtung um den ermittelten Grün-Wert. Als Bezugspunkt zur Bestimmung der X und Y Richtung wird bei XNALara das Koordinaten-System des Tagentspace benutzt.
    Die Festlegung der Bezugspunkte für das von XNALara verwendeten Koordinatensystems war natürlich willkürlich.

    Es gibt auch andere Festlegungen:
  • Beschränkungen
    • XNALara erlaubt nur Tangent-Space Normal-Maps. Also die "blauen" und nicht die Regenbogen-Farben "Object-space Normal Maps" und auch nicht die grauen "Heightmap's" welche von einigen 3D Anwendungen (zum Beispiel Blender) auch "Bump-Maps" genannt werden.
    • Durch einen BUG im Shader Quelltext von XNALara funktioniert die Schattierung mit Normalmaps leider nicht.

Last edited by XNAaraL; 09-06-12 at 18:02.
XNAaraL is offline   Reply With Quote
Old 13-06-12, 18:13   #2965
XNAaraL
Member
 
XNAaraL's Avatar
 
Joined: Apr 2009
Posts: 3,226
Default Normal Maps with XNALara -- Teil 3

  1. Bedeutung der Normal Maps
    Warum werden überhaupt Normal Maps benutzt? Welchen Zweck erfüllen sie?

    Ich veranschauliche dieses einmal an einem Bikini Model:

    Der Bikini wurde von mir mit 6 Millionen Vertices modelliert.


    Die 1. Ausschnittvergrößerung des Spitzen-Musters:


    Die 2. Ausschnittvergrößerung mit dem 3 dimensionalen Wabenmuster:

    1. Geschwindigkeit.
      C'est ne pas un pipe! (Réné Magritte )
      Auch mit 6000000 Flächen ist es immer noch kein Bikini sondern nur eine schwache Repräsentation der Wirklichkeit.
      Dieses Modell hat 200 mal mehr Polygone als eine TRU Lara! Versucht einmal ein Lara Modell 200 mal in XNALara zu laden. Von einer Echtzeit-Anwendung ist dann nichts mehr zu spüren. Alles wird unerträglich langsam. Normal Maps sind hier ein Kompromiss. Durch das Verwenden eines Modells mit weniger Details und einer sogenannten Bump Map Methode wird die Performance verbessert. Die fehlenden Details sind, wie im Teil 2 dieses Artikels beschrieben, in einer Normal-Map "gebacken". Die Silhouette ist zwar durch das Low-Poly Modell recht kantig, aber innerhalb der Flächen werden die feinen Details durch den Schader so schattiert, als wären die Details als 3D Objekte vorhanden. Die Umrisse könnten mit Hilfe einer Displacement Texture verbessert werden, aber diese benötigen wieder erheblich mehr Rechenleistung.
    2. Qualität
      XNALara erlaubt nur maximal 32000 Vertices und 32000 Dreiecke pro Mesh-Part. Das Modell muss also in 200 Teile getrennt werden.
      Ein sauberer glatter Übergang zwischen Kopf und Körper, also 2 Teilen, stellt für viele bereits eine unüberwindbare Hürde da.
      Die Anleitung dafür findet ihr hier: http://www.tombraiderforums.com/show...postcount=2933 Die 4. Methode.
      [IMG]http://i56.************/a281mr.png[/IMG]
      200 Teile nahtlos darzustellen ist recht aufwendig.
    3. Lösung
      1. Das High-Poly Modell wird in ein Low-Poly Modell heruntergerechnet. Die Gitterstruktur wird neu erstellt (Retopology).
      2. Die fehlenden Details des Hight-Poly Modells werden als Normal Map für das Low-Poly Modell "gebacken". Dazu werden das High-Poly Modell und das Low-Poly Modell in eine geeignete Anwedung, yum Beispiel xNormal geladen und die Unterschiede auf die Normal-Map Texture gespeichert. Hierbei ist das, für die Ziel Game-Engine, richtige Koordinaten System mit der korrekten Drehung auszuwählen. Die Normal-Map ist also nicht universal anwendbar!

        Korrekte XNALara Einstellungen für das Programm xNormal

        Mit Y+ X+ Z+ gebackene TagentSpace NormalMap im Vergleich zu Lara_Jungle_Short by Dusan

        Das verwendete High-Poly Modell im Vergleich zu der InGame Low-Poly Version

        Deutsche Anleitung zu xNormal
  2. Häufige Fehler
    1. Das Verwenden von Normal-Maps für XNALara
      Seit über 3 Jahren und mehr als 150 Versionen unterstützt XNALara noch immer nicht die Normal Maps auf korrekte Art und Weise. Die Abschattung reagiert nicht auf die Lichtrichtung. Siehe auch Teil 2 dieses Artikels. Es ist nicht zu erwarten, dass sich daran jemals etwas ändern wird.
      Erstaunlich, daß fast alle für XNALara hochgeladenen Modelle Normal Maps haben. Diese verbessern nicht das Modell, sie verschlechtern es. Siehe auch das Beispiel im Teil 1 dieser Anleitung.
      Eine Möglichkeit ist es die Normal-Map in eine Heigh-Map zu wandeln. Mit der Hilfe dieser Graustufen Texture kann dann die Diffuse Texture abgedunkelt werden. Damit reagiert die Texture noch immer nicht auf die Lichtrichtung, aber die Schattierung erscheint wenigstens nicht falsch! Wird die Heighmap noch mit der von XNALara unterstützten Lightmap kombiniert, dann reagiert die Texture auf die jeweilige Ausleuchtung
    2. Spiegeln von Normal-Maps
      Einige Modelle habe für die Normal-Map die linke Hälfte der Texture auf die rechte Seite gespiegelt. Beispiel:

      Details die Links erhaben werden nun auf der rechten Seite zu Vertiefungen!

      Beim Rendern wird der Shader also versuchen aus der "Nase" von Teil 1 dieses Gebilde zu reproduzieren:


      So sollte es aussehen:


      Das Resultat erinnert an M. C. Escher's unmöglichen Objekte, nur mit dem Unterschied dass Escher genau wusste was er tat.


      PS: Bitte nicht dadurch täuschen lassen, daß einige Computerspiele gespiegelte Normalmaps verwenden. Die Hersteller dieser Figuren wissen was sie tun. Gespiegelte Texturen erhöhen die Performance dadurch, dass die knappe Ressource Hauptspeicher geschont wird. Allerdings haben die Daten der Modelle dann ein besonderes Flag bei den Vertices oder bei den Normalen. Dieses Flag teilt dann dem Shader mit, dass beim Errechnen des Tangentspace diese Texture Werte zu "entspiegeln" sind.
      Das alte Generic_Item Format und XNALara kann damit allerdings nicht umgehen.
    3. Sinnloses entfernen von "Doppelten Vertices"
      Die Normalen werden damit gemittelt. Harte Kanten werden dann rund.
      Siehe auch diese Anleitung http://www.tombraiderforums.com/show...&postcount=934 zu dem Problem

Last edited by XNAaraL; 14-06-12 at 17:55.
XNAaraL is offline   Reply With Quote
Old 19-06-12, 18:07   #2966
Zayr Croft
Member
 
Zayr Croft's Avatar
 
Joined: Jan 2011
Posts: 1,056
Default

Why is this a problem?
Use XPS 10.8.5

Zayr Croft is offline   Reply With Quote
Old 20-06-12, 05:18   #2967
XNAaraL
Member
 
XNAaraL's Avatar
 
Joined: Apr 2009
Posts: 3,226
Default How to fix wrong bone weights?

Quote:
Originally Posted by Zayr Croft View Post
Why is this a problem?
Use XPS 10.8.5

http://4put.ru/pictures/max/345/1062004.jpg
Perhaps the problem is this: http://www.tombraiderforums.com/show...postcount=2945 Some vertices from ponytail are conected with the root, spine or head bone. This tutorial show also how to fix it, but I recomment

The solution is this: http://www.tombraiderforums.com/show...&postcount=512
- Find the wrong v(ertex)group;
- Enter the Edit Mode and select all vertices from the ponytail and the wrong vgroup. Hit the remove button (inside the Link an Materials-->Vertex group window)
- Select the right 'ponytail bone' and use the 'Weight Paint Mode'-->Paint-->Blur brush with a Opacity value of 1


See also here

Last edited by XNAaraL; 25-06-12 at 05:40.
XNAaraL is offline   Reply With Quote
Old 12-07-12, 03:25   #2968
FearEffect
Member
 
FearEffect's Avatar
 
Joined: Sep 2009
Posts: 5,729
Default

Hi ,where can i find mesh ascii importer/exporter scripts for blender ?
FearEffect is offline   Reply With Quote
Old 12-07-12, 06:33   #2969
XNAaraL
Member
 
XNAaraL's Avatar
 
Joined: Apr 2009
Posts: 3,226
Default I'm just the developer. AtlantiB is the owner. TRF are the Luddites

Quote:
Originally Posted by FearEffect View Post
Hi ,where can i find mesh ascii importer/exporter scripts for blender ?
For the Download Link, ask the administrator of this TRF forum.
Quote:
Originally Posted by XNAaraL View Post
Write a Private Message @ any Moderator

or http://lmgtfy.com/?q=%22New+Exporter...mporter+1.7%22

Last edited by XNAaraL; 12-07-12 at 06:58. Reason: I'm just the developer. AtlantiB is the owner. TRF is the stumbling block.
XNAaraL is offline   Reply With Quote
Old 08-09-12, 21:19   #2970
Cochrane
Golden
 
Cochrane's Avatar
 
Joined: Apr 2006
Posts: 16,751
Default

Quote:
Originally Posted by XNAaraL View Post
[*]Durch einen BUG im Shader Quelltext von XNALara funktioniert die Schattierung mit Normalmaps leider nicht.[/LIST]
Ich habe mir den Shader angesehen, und kann nur sagen: Für einen Bug ist das zu dämlich. Da hat jemand sehr viel Zeit und Energie darauf verwendet, Bumpmaps falsch zu implementieren.

Wenn Interesse besteht, kann ich gerne mal versuchen, die EffectsArmature.fx so zu bearbeiten, dass Bumpmaps richtig gehen sollten. Schwierig ist das nicht. Es müsste aber jemand anders mir beim testen helfen, da ich selbst mich mehr mit dem Mac auskenne.
Cochrane is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 21:56.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Tomb Raider Forums is not owned or operated by CDE Entertainment Ltd.
Lara Croft and Tomb Raider are trademarks of CDE Entertainment Ltd.