Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-12-2011, 13:55   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
Away3D: Plane Material wird nicht geupdated

Das Problem: Plane bekommt ein neues Material, das wird aber nicht sofort angezeigt, sondern erst, wenn sich irgendwas am View3D ändert, sei es die Position der Camera, oder die Fenstergröße des Flash Players.

Der Aufbau ist wie folgt:

View3D <- ObjectContainer3D <- Plane

View3D wird mit ENTER_FRAME gerendert.

Ich vermute, daß ich irgendwie manuell updaten muß, damit das Material gleich angezeigt wird?
__________________
EDV = Ende Der Vernunft
hmpf ist offline   Mit Zitat antworten
Alt 14-12-2011, 08:54   #2 (permalink)
Flasher
 
Registriert seit: Aug 2010
Ort: Stuttgart
Beiträge: 360
Hi!
Erst wenn du Code postest, kann dir geholfen werden - ins blaue geraten würde ich sagen: irgendwas hast du vermurkst

Liebe Grüße!
__________________
Erwähne NIEWIEDER das Wort "Klickdummy"!
Ouroborus23 ist gerade online   Mit Zitat antworten
Alt 14-12-2011, 10:05   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
Naja, ich gehe eigentlich davon aus, daß die Problembeschreibung so allgemein und einfach ist, daß es ohne Code Hinweise geben kann. "Ne, muß man grundsätzlich nicht extra updaten." Wäre z.B. schon eine brauchbare Antwort. Wenn ich den ganzen Code poste, liest sich das hier eh keiner mehr durch.

Ich habe inzwischen auch folgendes gefunden:

forceUpdate : Boolean
Defines whether the view always redraws on a render, or just redraws what 3d objects change.

Möglicherweise wird der view nicht neu gezeichnet, weil das MaterialEvent nicht über das DisplayObject3D hinausgeht? Probiere ich heute abend mal aus.
__________________
EDV = Ende Der Vernunft
hmpf ist offline   Mit Zitat antworten
Alt 14-12-2011, 11:10   #4 (permalink)
Flasher
 
Registriert seit: Aug 2010
Ort: Stuttgart
Beiträge: 360
Eine allgemeine Problembeschreibung kann man nur schlecht lösen! Und wenn ich sage: "Ne, muss man nicht extra updaten", löst das ja noch lange nicht dein Problem... Aber nun gut... -.-

Noch eine Zwischenfrage, da die auch etwas zur Sache tut: Welche Version von Away3D nutzt du?

In meiner aktuellen App (Away3D 4.0) wird das Zuweisen des Materials problemlos durchgeführt, auch ohne forceUpdate oder Änderung des 3D-Objekts. Wenn du eine ältere Version verwendest, die noch Software-Rendering nutzt, schätze ich dass du das Problem schon selbst erfasst hast. Dort wird nämlich wirklich nur neu gerendert, wenn es notwendig ist. Und das Zuweisen eines Materials stellt allein scheinbar noch nicht diese Notwendigkeit dar.

Liebe Grüße!
__________________
Erwähne NIEWIEDER das Wort "Klickdummy"!
Ouroborus23 ist gerade online   Mit Zitat antworten
Alt 15-12-2011, 09:34   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
Zitat:
Zitat von Ouroborus23 Beitrag anzeigen
Eine allgemeine Problembeschreibung kann man nur schlecht lösen!
Das kommt ganz auf das Problem an... mit meinem Problem ging es - wie vermutet. forceUpdate ist erstmal die Lösung. Danach hatte ich ja schon in der Problembeschreibung gefragt, es war schon eine Frage, die nicht unbedingt von Code unterstützt werden musste.
Zitat:
Zitat von Ouroborus23 Beitrag anzeigen
Und wenn ich sage: "Ne, muss man nicht extra updaten", löst das ja noch lange nicht dein Problem... Aber nun gut... -.-
Stimmt, das hätte das Problem nicht direkt gelöst, wäre aber ein guter Hinweis zur Lösung gewesen. Und Hinweise, die einem helfen das Problem selbst zu lösen, sind ja eher besser, als fertig Lösungen, ne?
Zitat:
Zitat von Ouroborus23 Beitrag anzeigen
Noch eine Zwischenfrage, da die auch etwas zur Sache tut: Welche Version von Away3D nutzt du?
Hm... bin mir gar nicht sicher. In den .as Dateien finde ich keinen Versionshinweis. Ich werde mir nachher einfach mal die aktuelle Version besorgen. 4.0 ist aber noch nicht stabil? Kann man die einfach in der Bibliothek updaten oder sind dafür auch Änderungen im Code notwendig (mal abgesehen von Erweiterungen, die man ja eh nicht benutzt hat)?
__________________
EDV = Ende Der Vernunft
hmpf ist offline   Mit Zitat antworten
Alt 15-12-2011, 14:18   #6 (permalink)
Flasher
 
Registriert seit: Aug 2010
Ort: Stuttgart
Beiträge: 360
Ja, Away3d 4.0 unterscheidet sich recht stark zu der 3.6er Version, es wird also sicherlich Umstellungen im Code geben müssen - deswegen glaube ich kaum, dass es geschickt wäre, mitten in einem Projekt umzuschwenken... Unmöglich ist es deswegen aber nicht

Was heißt "stabil"... ist nicht mehr alpha! Ich render hier 120.000 Dreiecke bei vierfachem Antialiasing mit konstanten 60 FPS inklusive Umfärben, Environment-Mapping, etc. Bisher nie Probleme bekommen. An einigen Stellen erscheint mir die API jedoch als "unfertig", ich habe es bis heute nicht hinbekommen, einem ColorMaterial ne normalMap hinzuzufügen und bekomme auch im Away3D-Forum prompt keine Antwort darauf. Ansonsten ist die 4.0 schon richtig fett!
__________________
Erwähne NIEWIEDER das Wort "Klickdummy"!
Ouroborus23 ist gerade online   Mit Zitat antworten
Alt 17-12-2011, 15:40   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 1.197
Also mein Projekt ist nicht so komplex. Bisher gibt es nur ein View3D, Planes und natürlich Camera. Ich werde es einfach mal ausprobieren.

Eine Frage noch:
Scene3D hat keine richtige DisplayList, richtig? D.h. Events von darin enthaltenen Objekten bubblen nicht nach oben durch...

Ist es für die Performance egal, ob ich ganz oben einen EventListener setze, oder einen an jedes einzelne Object3D? Wird bei mir wohl nicht so ausschlaggebend sein, interessiert mich nur...
__________________
EDV = Ende Der Vernunft
hmpf ist offline   Mit Zitat antworten
Alt 18-12-2011, 22:17   #8 (permalink)
Flasher
 
Registriert seit: Aug 2010
Ort: Stuttgart
Beiträge: 360
Hey.
Prinzipiell ermöglicht jeder ObjectContainer3D (also auch die Scene3D) die Nutzung klarer Hierarchien. (Nicht verwechseln mit DisplayList, das ist eine Anzeigeebene des Flash-Players, darauf wird in der 4.0er Version gar nicht mehr zugegriffen zum Rendern)
Wie es sich genau mit dem EventBubbling verhält kann ich dir nicht sagen, da ich bisher (aufgrund der Anwesenheit von nur einem Objekt), meine Eventlistener direkt auf die Stage gelegt habe (Aber pssst!)

Zum Thema EventListener hinzufügen vertrete ich allerdings sowieso die Meinung - und die ist unabhängig von Scene3D oder ähnlichem - eine Listener gehört nur an ein Objekt, welches auch wirklich Events erwartet. Auch wenn man mit einem Listener auf einen Container vielleicht ein paar Listener spart und stattdessen eben eine target-Abfrage macht, ich finde das ist ein ganz schlimmer unlesbarer Programmierstiel. Dann lieber ein Listener mehr, dafür sauberen Code, und wenig böse Überaschungen

Was die Performance angeht, sind die EventListener bei 3D-Anwendungen sowieso eher das geringere übel, natürlich aber nie zu vernachlässigen.

Vielleicht probier ich das mit dem Bubbling kommende Woche mal nach Feierabend aus irgendwann Liebe Grüße!
__________________
Erwähne NIEWIEDER das Wort "Klickdummy"!
Ouroborus23 ist gerade online   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Away3D - MouseEvent über einer Plane (beinhaltet ein TextFiled als Material)?? JoeS ActionScript 3 3 10-01-2011 15:11
Away3d - Rahmen wird in der Rückansicht nicht angezeigt denniz ActionScript 3 1 15-12-2010 01:16
Away3D - Model nimmt Material nicht denniz ActionScript 3 4 01-12-2010 19:03
viewport.containerSprite als Material für plane MisterDan 3D 0 27-09-2009 22:56
away3D: Material zur Laufzeit ändern jacquesr 3D 0 02-09-2008 07:59


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele