Flashhilfe.de - Flash Community

Depth of Field in Papervision3D 2.0 ??? [Flash 11]

 


AntwortenRegistrieren Seite1  

abgemeldeter Benutzer#1
03.09.2011, 14:59

Depth of Field in Papervision3D 2.0 ???
Hallo^^

Ich habe folgenden Beitrag gefunden:

http://www.flashhilfe.de/forum/flash-3d/pv3d-2-0-depth-of-field-tiefenunschaerfe-243741-243741.html

Ich möchte diese Field of Depth auch für eins meiner Projekte verwenden, leider weis ich jedoch nciht wie ich diese Funktion in mein Papervision 3D 2.0 Projekt implementieren muß damit es geht.

Es wäre super wenn mir dies jemand erklären könnte!!!

Vielen Dank schonmal!!!

Gruß Atticus^^
Schlagwörter: Papervision3D
Werbung
Beiträge: 0
Registriert: Feb 2016


blackspell#2
Benutzerbild von blackspell
Beiträge: 32
Wohnort: hh
Registriert: Dec 2002

04.09.2011, 19:00

Brrrr... Es gab von Mr. Doob mal Quelldateien für ein DOF-Experiment, aber das war PV3D 1.x und läuft nicht mehr. Er hatte ein Array von Blurfiltern und hatte die dann den Planes je nach Abstand zur Kamera zugewiesen. Ohne ein Bisschen Mathe und viel Eigenarbeit wirst du das nicht hinbekommen. Ich "denk mal laut":

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var numFilters:Number = 50; // Die Anzahl der Blur-Stufen, die du willst
var blurArray:Array = new Array(); // Ein Array um die Blurfilter zwischenzuspeichern

// Wir füllen das Array mit den Filtern
for (var i:int = 0; i <= numFilters; i++){
     blurArray[i] = [new BlurFilter(1,depth)];
}

// Der Abstand zwischen Kamera und Objekt, k.a. ob das korrekt ist. Dadurch, dass wir den
// Betrag nehmen, geht es sowohl nach vorne als auch nach hinten.
var distance:Number = Math.abs(Math.sqrt(obj.x*camera.x + obj.y*camera.y + obj.z*camera.z));

// Jetzt legen wir nen Abstand fest, bei dem alles scharf sein soll
var focusDistance:Number = 10000;

// Ok, das musst du dir jetzt überlegen: Du ordnest den Abstand den Filtern zu.
// Die filterNum muss zwischen 0 und numFilters sein.
var filterNum:Number = getFilterNum(numFilters, distance, focusDistance);

// und nun ordnest du das ganze den do3ds zu:
displayObject3D.filters = blurArray[filterNum];


Aber wie gesagt, die Quelldateien wären eh veraltet. Zudem sind die vielen Blurfilter rechenintensiv, mehr als Planes würde ich damit auch nicht verwenden.

Viel Erfolg.
--

Hurra

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de