Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Materialien vergeben, erstellen, speichern
Lenz
Beiträge: 23
Registriert: 13.10.2006, 02:20

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von Lenz » 13.10.2006, 03:13

Können die Einstellungen in der Glanzlichstärke, der Raytrace-Reflexion und dem Refraktionsindex nur im .rh-Format gespeichert werden aber nicht im .u3d?

madlock
Beiträge: 6
Registriert: 29.07.2007, 12:36

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von madlock » 29.07.2007, 13:44

Hallo Forum,

warum hat denn hier noch niemand auf diese Frage geantwortet? Ich hatte gestern auch erstmals Kontakt mit dieser Problematik.

Es war mir zwar möglich die Glanzlichtstärke verschiedener Materialien, die ich aus dem CAD importiert hatte, zu verändern, nur musste ich überrascht feststellen, dass die Glanzlichtstärke automatisch nach dem Speichern und anschließenden Öffnen der u3d-Datei im Toolkit wieder auf 100 gesetzt wurde.

Es ist schon enttäuschend, dass solche Bugs nicht umgehend bereinigt werden.



acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von acronaut » 02.08.2007, 18:15

Hallo,

der Hintergrund dafür ist, weil das Toolkit eben auch noch andere Formate abspeichern kann als das U3D-Format. das Toolkit ist quasi wie ein Visualisierungs und Animationstool zu sehen aus dem man ja schließlich auch gerenderte Filme und Bilder ausgeben kann.

Das originäre Format ist daher das *.rh und die Daten können aber eben auch im U3D-Forat abgespeichert werden. Da ich bisher noch nicht die Zeit hatte die Spezifikationen des U3D-Formats durchzulesen, bin ich mir derzeit auch nicht sicher, ob in diesem Format überhaupt die Glanzlichtstärke als Objekteigenschaft speicherbar ist. Somit kann es gut sein, dass es nicht an Adobe leigt, sondern an den Rahmenbedingungen des U3D-Formates. Auch maps ausser Diffus und Reflexion können zwar im Toolkit eingefügt werden, aber im U3D werden diese nicht dargestellt.

Diese Entwicklung ist gerade erst am Anfang und ich bin mir sicher, dass sich da in nächster Zeit noch vieles ändern wird.

Gruß,
Andreas Vogel


madlock
Beiträge: 6
Registriert: 29.07.2007, 12:36

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von madlock » 02.08.2007, 18:51

Hallo Andreas,

wenn ich deine Antwort lese, dann bin ich schon etwas überrascht, dass du diesen Sachverhalt so gelassen kommentierst.

Für mich ist es unverständlich, wie ich in einem Programm etwas definieren kann und beim Zwischenspeichern werde ich nicht darauf aufmerksam gemacht, dass diese und jene Komponente, die ich verändert habe, nicht mitgespeichert wird.

Wenn ich ein u3d-file als solches bearbeite, dann sollten auch nur die Funktionen zur Verfügung stehen, die wirklich funktionieren oder nicht?

Danke trotzdem für die Antwort ;-)

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von acronaut » 02.08.2007, 19:34

Ich gebe Dir da durchaus Recht, dass es natürlich schöner wäre, wenn da entweder separat darauf hingewiesen werden würde, oder gewisse Optionen am besten gleich deaktiviert wären.

Andererseits bin ich seit ca. 12 Jahren im Softwarebereich tätig und habe mir in Zwischenzeit einfach angewöhnt das Beste aus der jeweiligen Software herauszuholen, so wie Sie ist. Und das möglichst ohne mich ständig darüber zu ärgern, warum viele Dinge einfach nicht so funktionieren oder laufen, wie ich es mir wünschen würde oder wie es aus meiner Sicht logisch wäre.

Meist kann man dadurch wesentlich effektiver arbeiten und schneller bessere Ergebnisse erzielen.

Nichts desto trotz wollte ich keinesfalls den Eindruck erwecken, dass es mir egal ist.  Ansonsten hätte ich dieses Forum sicherlich nicht aufgebaut und würde hier auch nicht so viel Zeit investieren um Probleme zu lösen, oder Hilfestellungen zu geben, für die an anderer Stelle normalerweise viel Geld verlangt wird.

Wenn es also nicht allzu viel Anstrengung bedeutet, wäre uns sicher allen geholfen, wenn auch Du Deine Beiträge in Zukunft hier ein klein wenig konstruktiver gestalten könntest.

Denn mit Sätzen wie "Hallo Forum, warum hat denn hier noch niemand auf diese Frage geantwortet?" oder "Gibt es jemanden, der mit diesem Problem vertraut ist oder bin ich wie immer ganz alleine mit meinen Problemen ;-)" aus Deinem Post http://www.acronaut.de/forum11/181.html bleibt man eben auch schnell alleine.


Grüße,

Andreas Vogel

madlock
Beiträge: 6
Registriert: 29.07.2007, 12:36

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von madlock » 03.08.2007, 00:28

Hallo Andreas,

es tut mir leid, wenn ich dich mit meinem Kommentar beleidigt haben sollte, dass war natürlich nicht meine Absicht. Im Gegenteil finde ich es super, dass du hier Anfängern wie mir weiterhilfst.

Ich gebe zu, dass ich genau zu der Gruppe Anwender gehöre, die immer noch glauben, dass die jeweils benutzte Software so funktionieren sollte, wie es der persönlichen Logik entspricht.

Was meine Aufforderung an das Forum zu diesem Punkt von Lenz anbelangt, so sollte dies nicht irgendwie nach: Hey, hier passiert nichts! klingen, sondern mehr nach: Das kann doch nicht sein, dass nur er bisher dieses Problem hatte. Denn ich bin nach nicht einmal zwei Tagen Arbeit mit der Software auf das gleiche Problem gestossen und da der Punkt schon fast ein Jahr zurück liegt, habe ich mich eben gewundert, dass niemand sonst etwas dazu sagen wollte, konnte,...

Ich hoffe, ich konnte das Porzellan ein bisschen kitten, durch das ich marschiert bin.

Auf jeden Fall habe ich mir vorgenommen, deinen Ratschlag,: "Das Beste aus der Software heraus zu holen."  zu beherzigen und zukünftig nicht mehr so schnell die Flinte ins Korn zu werfen.

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von acronaut » 04.08.2007, 16:21

Hi madlock,

was soll ich sagen...

Deine Reaktion fand ich jetzt echt Klasse. Freue mich auch auf neuen Input von Dir. 

Ehrlich gesagt wundere ich mich schon selbst auch immer wieder über einige Unzulänglichkeiten von vielen Programmen.

Andererseits, seitdem ich selbst ab und zu manche Sachen programmiere, weiß ich, wie schnell man bereits bei wenigen Zeilen Programmcode durch Unachtsamkeit viele Fehler einbauen kann.

Da ist es dann zumindest für mich schon eine ziemliche Leistung, dasss Programme, an denen teilweise mehrere Dutzden Programmierer an Hunderttausenden Programmzeilen sitzen, überhaupt anständig laufen.

Was natürlich keine Freibrief sein darf für schlampiges Programmieren, aber vielleicht dabei hilft das eine oder andere ein bisschen besser zu verstehen.

Zu dem Post von Lenz kann ich nur sagen, dass Du natürlich Recht hast. Darauf wäre schon längst eine Antwort fällig gewesen. Da er aber einer der ersten Teilnehmer in diesem Forum war, haben wir die Sachen zwischendurch schnell am Telefon geklärt. Somit war der Post dann für mich erst mal abgehakt...

Übrigens noch eine Sache:
Im Toolkit wirst Du ziemlich viele Sachen entdecken, die für die 3D-PDF Erstellung vollkommen unnütz sind. Ein typisches Beispiel sind die Shader, aber auch verschiedenste Texturmaps, die einfach nicht mit in das PDF übernommen werden. Gerade bei direkt importierten Teilen (also nicht OpenGL-Capturing) ausgenommen von MAX und Maja Dateien können in der V7 noch keine Texturen außer Spiegelung vergeben werden. Das liegt daran, dass das sog. UV Map fehlt. somit werden die Texturen zwar vergeben, aber nur in der Größe 1x1 Pixel. In der V8 kann man diese UV-Maps dann auch im Nachhinein noch zuweisen und somit zumindest außer der Spiegelung auch die normale Oberflächentextur ("Diffus") vergeben.
Theoretisch könnten im Toolkit auch Materialien (bsp. Transparenz) animiert werden. Auch diese Einstellung ist wiederum dem Toolkit vorbehalten und bringt für das PDF leider nichts.

Also viel Spaß jetzt noch beim Erstellen von 3D-PDFs und wenn Du Probleme hast, schreib einfach wieder.


Gruß,
Andi



madlock
Beiträge: 6
Registriert: 29.07.2007, 12:36

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von madlock » 05.08.2007, 00:37

Hallo Andreas,

das mit der Transparenz ist ein sehr wichtiger Hinweis. Ich hätte nämlich für meine Animation genau diese Transparenz gebraucht. Da meine in meiner Baugruppe bereits alle Teile auf der Endposition waren, wollte ich sie nacheinander einfach erscheinen lassen bzw. spezielle Teile sollten am Anfang der Animation ihre Transparenz von 1 auf 0,2 und wieder auf 1 zurück verändern. Erst später, nachdem ich dann wieder mal erstaunt war, dass meine ganze Animation nicht mehr verfügbar war, nachdem ich die Baugruppe einmal geschlossen und wieder geöffnet hatte, habe ich dann in diesem Forum einen Beitrag zu dieser Problematik gelesen. Gut würde ich es finden, wenn du in deiner DVD auch auf solche Probleme eingehen würdest. Ich hab nämlich vor Beginn meiner Arbeit mit Acrobat 3D deine Lern-DVD durchgearbeitet und war dann verwundert, dass deine Animation (Drehung bei der Schere) einwandfrei funktionierte, wohingegen sich meine Ein-/Ausblendanimation in Luft aufgelöst hat. Ich bin überzeugt, man bekommt das auch mit JavaScript hin, nur hab ich davon leider überhaupt keine Ahnung und in der Kürze der Zeit, haben mir auch deine Scripts hier aus dem Forum nicht weitergeholfen. Deshalb wollte ich es eben umbedingt mit den zur Verfügung stehenden Mittel schaffen.

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von acronaut » 06.08.2007, 12:26

Hi madlock,

danke für den Input zur DVD. Versuch ich mir für das nächste mal zu merken. Ansonsten bin cih auch gerade eben dabei ein Buch über den Acrobat 3D zu schreiben, wo das ganze noch wesentlich detaillierter beschrieben wird. Dauert aber wahrscheinlich noch ein bisschen, bis es feritg ist.

Wenn Du einfach nur ein teil transparent schalten willst mach einen Button im PDF und leg folgenden Code dahinter:

Code: Alles auswählen

getAnnots3D(0)[0].context3D.scene.nodes.getByName("Bauteilname").opacity = 0.2;
 
Die beiden Nullen hinter getAnnots sind die Nummer der Seite und die Nummer der 3D-Anmerkung auf dieser Seite. Dabei ist zu beachten, dass Programmierung immer bei Null das Zählen anfängt.
=> (0)[0] = Seite 1 erste 3D-Anmerkung (Objekt)

Die "opacity" kann dann von 0-1 eingestellt werden, wobei 0 unsichtbar und 1 komplett sichtbar ist.

Gruß,
Andi


Benutzeravatar
Kottan
Beiträge: 8
Registriert: 07.05.2007, 14:12

Speichern der Glanzlichstärke und Raytrace-Reflexion im U3D?

Beitrag von Kottan » 09.08.2007, 12:31

Hallo Allerseits,

endlich komm ich auch mal dazu mich hier einwenig zu beteiligen.

Da man die Materialeigenschaften nicht mittels keys animieren kann bleibt noch die Möglichkeit einen TimeHandler zu installieren und mit Hilfe von jscript die Transparenz zu ändern. Das könnte dann ungefähr so aussehen:

var timeHandler = new TimeEventHandler();
timeHandler.onEvent = function( event )
{
    animateMaterialOverTime( event.time );
}
runtime.addEventHandler( timeHandler );

In der "animateMaterialOverTime" function setzt du dann deine Materialeigenschaften wie es unser werter Admin vorschlägt, obwohl ich dir dringend raten muss in solch Zeit-kritischen Fällen deine Nodes über Ids anstatt Strings abzufragen.

Anschauungsbeispiel:

http://spasticus.wordpress.com/files/2007/08/cross_player_v2.pdf

Gruß,

Helmut

Antworten