De volgende dimensie reizen met Papervision3D: 2

, met een dimensie Papervision3D reizen: 2,,,,,,,,,, deelt, delen, delen,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, blijven de in deel 1, deel 2, we op de plaats delict Papervision3D, een beetje te ver.In het laatste gedeelte van dit document, dat zal je leren hoe je een sprong in de kubus 3D bril publiek.,,,,,,, dat de invoering van, ik weet het, deze les is over Papervision3D flash, maar in feite is het bedrog van je hersenen.We moeten je hersenen is van mening dat dit een driedimensionaal object, maar het is een tweedimensionale beelden zien, als je bekend bent met de Papervision3D, kan je langs de door het gebruik van een project, een plaats, een camera en een oog.Als het niet eerst kijken naar de les, deel 1, want ik zal blijven we weg van hier.Dit is moeten we hard werken een ding: 1: met een camera, een beetje van je vingers in de lucht, en in je neus zet het in je neus te zien, en dan met je linker.Van links naar rechts, kijk hoe het is ontstaan, en op de achtergrond, wat het ook is, het lijkt niet bewegen?Je hersenen heeft nota genomen van deze verschillen, je ogen zien, en ze gebruiken voor het creëren van een volledige simulatie van de wereld om je heen.In je hoofd.Onmiddellijk.Heel indrukwekkend.Als we bedriegen je hersenen, we moeten je ogen laten zien van verschillende beelden.Dus, laten we beginnen, toevoeging van een "ogen" (een andere camera 's) naar de plaats delict.Het zal worden gebruikt om uw rechteroog van het creëren van een beeld van de camera 's, terwijl de bestaande beeld wordt naar uw linkeroog, het creëren van een nieuwe openbare variabelen, camera2,..., de variabele camera2:Camera3D;... En zullen de belangrijkste () fabrikant: de nieuwe camera3d () =, camera' s, Stap 2: het creëren van; een nieuwe visie, we moeten een andere mening, pak de camera van de produktie, dus wordt toegevoegd en luidt als volgt:, de variabele viewport2:viewport3d;, viewport2 = nieuwe viewport3d (); viewport2.autoscaletostage = waar het oog; ///////voor het toneel voor grote (viewport2); ik heb dit alles, omdat we de laatste dekking een keer.), stap 3: de tweede camera twee als ik, weet je, viewport2, totdat we een blanco?Naar het.Moeten we niet om deze nieuwe waardoor; alleen gebruik te maken van de bestaande twee keer.Dus, in de belangrijkste (), heeft deze code:, waardoor nieuwe basicrenderengine (=); gesmolten. Renderscene (scenario 's camera oog);,... En de toevoeging van een nieuwe lijn van de tweede camera' s tweede oog, zoals:, waardoor nieuwe basicrenderengine (=); gesmolten. Renderscene (scenario 's, camera' s, maken de mening);. Renderscene (plaats, camera2, viewport2);, hetzelfde doen in je onenterframe (). Functie: en destructie. Renderscene (scenario 's, camera' s oog); maken. Renderscene (plaats, camera2, viewport2); als je testen, nou, het ziet er uit als vroeger:,, maar dat is niet zo vreemd: aan de ene kant, twee camera 's op dezelfde plek.Stap 4:, gescheiden van de camera 's, standaard camera' s worden geplaatst (= 0 = 1000). - kan je het controleren en volgen van (camera 's. Camera' s. Een dergelijk scenario.) ziet er als volgt uit:, het zit zo:,,, we moeten een tweede camera 's laten we proberen te bewegen het recht de rechten van 50 pixels, en zien wat er gebeurt.Leg dit in de belangrijkste (), een in het creëren van een tweede camera 's: de camera' s, camera2. X = X + 50;,, nu testen, kijken wat je krijgt:,, het ziet er raar uit, maar het is duidelijk dat dit werk.Op het gebied van elk van de in de kubus transparant is, dus in de eerste plaats kan zien dat achter de tweede stap 5: een knipoog.Het zou nuttig zijn, kunnen zien, wat elke camera 's, alleen kijken, dus laten we de ogen van de metafoor, zodat ze knipperen als we klikken.Ten eerste, de toevoeging van een luisteraar muis te klikken op: opsporing van elk van de,, het uitzicht. AddEventListener (mouseevent.click, onclickviewport); viewport2. AddEventListener (mouseevent.click, onclickviewport2); en in de belangrijkste functie is voorbij.Vergeet niet, de invoer van MouseEvent: invoer van Flash. Het evenement; 6: vaststelling van een gebeurtenis die stap op de toevoeging van de nieuwe functies van de code, die de functie van Main (), maar in de eerste klasse: openbare functie, onclickviewport (mouseevt:MouseEvent): openbare functie ongeldig {} onclickviewport2 (mouseevt: gebeurtenissen): ongeldige {}, stap 7: - de gezien, toen we op de eerste van mening is, we moeten het onzichtbare zichtbaar en de tweede (en vice versa, toen we op de tweede).Dus verander je een gebeurtenis, zoals: de functie onclickviewport (mouseevt:MouseEvent): ongeldig {viewport.visible = vals; viewport2.visible = waar openbare functies;} onclickviewport2 (mouseevt:MouseEvent): ongeldig {viewport.visible = waar; viewport2.visible = vals;}, probeer:,, aandacht, je moet op een doorzichtige regionale blokken; geen vuur een klikt, salaristrap 8: het vinden van een 3D - bril, je moet een 3D - beeld van de bril, die elk schot is een andere kleur.Ik gebruik de blauwe en gele ogen ogen camera Lens (bekend als de colorcode3d systeem), maar andere combinatie van kleuren zijn zeer welkom, zoals rood en blauw, je kan deze bril op Ebay gevonden een paar dollar: alleen zoeken, 3D - bril, of, je kan zelfs laat het zichzelf.André is op de hoogte van het eerste deel van de handleiding over de interpretatie van het woord, hij wel dat hij de doos van verschillende kleuren.Genie.Hoewel mijn voorbeeld is gele en blauwe glazen, van de beginselen zal ik proberen uit te leggen, zodat je je werk en je hebt geen kleur.Dit is een beetje lastig, dus in het onderstaande opmerkingen, als dit wordt smerig.Stap negen: te weten de bril, het werk, je computer is elke pixel van een groep van drie lamp: een rode en een groene en een blauwe, door aanpassing van de lamp kunnen we veranderen van kleur en helderheid, witte pixel: drie lichten, een zwarte pixel een drie, een groene pixels met de groene lamp open en twee andere gesloten, 3D - bril, stoppen met die lamp in het licht van de aangenomen.Bijvoorbeeld, mijn bril in zou stoppen met de rode en blauwe lenzen het groene licht in mijn ogen, dus als ik door M 'n blauwe lenzen naar het beeld, ik kan niet lezen, het licht van de regio' s: geen zwarte naar mijn ogen, omdat alle drie de lamp is gesloten.Geen licht op mijn groene zones, omdat alleen de groene lampen zijn geopend, terwijl de blauwe lenzen eruit filteren.Dus, ik zag een zwarte rechthoek, en nu, nou, als je het geprobeerd, en je zal zien dat dit absoluut niet waar is.Je kan de camera niet 100% puur blauw, dus het kan een beetje groen en rood licht door.Of misschien je de kleur van de monitor en ik anders, dus in het groene tekst een beetje rood en blauw.Om eerlijk te zijn, hetzelfde geldt voor mij - maar het maakt niet uit, zolang de tekst te lezen, en ons doel is om je rechteroog van links de camera beelden zien, als je links en rechts van camera 's, maatregelen om de linker oog: 10. In je ogen niet zien, blauw. Is m' n rechteroog, dus in theorie als ik verwijder alle beelden van de camera van de blauwe, ik kan niet met m 'n rechteroog kijken, en dan een stap in het linker oog, laat de beelden maar rood en groen licht, in het geheel geen BLU - Ray.We kunnen gebruik maken van een colortransform, dit doen.Dat is zo geregeld. De eerste categorie: invoer invoer, Flash. Meetkunde. Colortransform; en het creëren van een nieuwe klasse van de variabelen voor het behoud van een voorbeeld: de leftviewportcolortransform:colortransform, var; nu is het creëren van een nieuwe voorbeelden: in de belangrijkste (), leftviewportcolortransform = nieuwe colortransform (); en ten slotte de toepassing van deze colortransform flash, zei links, camera 's van de viewport.transform.colortransform = leftviewportcolortransform;:, (de laatste regel van in je oog moeten creëren en de kleur veranderen.Dit is misschien wel de meest eenvoudige zet het gewoon in de belangrijkste () aan het einde van 11.), maatregelen in het oog: het schrappen van de blauwe, SWF 's ziet er niet anders, omdat colortransform beeld niet veranderen in een bij verstek, we kunnen kiezen wat we moeten veranderen bluemultiplier door, hoe elke gloeilamp, greenmultiplier,,, redmultiplier, we colortransform aard, die een van deze, 1, zeg het. Laat het met rust, en zet het voor, 0, vertel flash is volledig afgesloten.En, natuurlijk, de produktie van 0,5, zal de helft van het normale bedrag, 2, zal het verdubbelen, enzovoort, zodat alle blauwe links van mening, dat kunnen we doen, leftviewportcolortransform.bluemultiplier = 0;:, moet je voor gedaan zal worden omgezet in de,, leftviewportcolortransform.bluemultiplier = 0; viewport.transform.colortransform = leftviewportcolortransform; als je Een rode of groene lens boven het rechteroog, dan kun je, redmultiplier, of, greenmultiplier, 0, en niet blauw.Een andere kleur, je moet met behulp van een mix van rood, meer op de stappen van de groene en blauwe 15, het testen van SWF 's:,, is het moeilijk om een "door de identificatie van een" blauwe lenzen, maar het is niet moeilijk om tegen een witte achtergrond vorm van de kubus.En stap twaalf: gevuld met transparante regionale, als je de SWF 's achtergrond, je zult het zien.Omdat de blokjes rond de "witte" regio 's in feite niet wit, maar laat dat transparante SWF' s witte achtergrond, het niet door de colortransform worden getroffen, om dit probleem op te lossen, we moeten aan de mening van een solide witte achtergrond op de doos zal presenteren.Dat is makkelijk, maar terug naar je gezien, ik: = nieuwe viewport3d (); viewport.autoscaletostage = waar; ///////waardoor de standpunten zo groot als toneel, foto 's,... Een witte rechthoekige de fase van de toevoeging van een paar regels:, = nieuwe viewport3d (); viewport.autoscaletostage = waar dit zal; ///////ik heb het podium. Figuur. Beginfill (0xffffff); ///////0xffffff is wit. Figuur. DrawRect (0, 0, stage.stagewidth, stage.stageheight);, getest, moet een somber beeld:,, saai en niet door te kijken naar De juiste schot, maar de beelden zien te vaak door links. Stap 13: het creëren van een nieuwe colortransform, wij moeten hetzelfde doenNu de rechter oog.Dus, het creëren van nieuwe colortransform:, de variabele rightviewportcolortransform:colortransform;, rightviewportcolortransform = nieuwe colortransform ();, stap 14: de toepassing van de nieuwe colortransform, nu, dit nieuwe recht van mening veranderen:, viewport2.transform.colortransform = rightviewportcolortransform, stap uit het oog; 15: schrapping van alle gele, omdat ik de lens is geel. En ik moet al deze standpunten van de gele, als je de lens is rood, dan is dit een stap is makkelijk als instellingen, redmultiplier, je nieuwe colortransform 0), maar hoe krijgen we het geel, rood, groen en blauw?Als we ons niet met verf; geel van kleur is een van de belangrijkste in dit geval.Maar als de behandeling van licht, iets anders is.Kijk eens: van Wikipedia, beeld.Dank je, Mike Horvath en jacobolus!En, zoals je kan zien, de rode en groene samen, zodat de gele (dit verklaart waarom links van de achtergrond wordt geel toen we verwijderen alle blauwe).Dus, dan verwijder alle gele uit ons beeld, we moeten het verwijderen van alle rode en alle groene!Kunnen we dit: rightviewportcolortransform = nieuwe, colortransform (); rightviewportcolortransform.redmultiplier = 0; rightviewportcolortransform.greenmultiplier = 0; viewport2.transform.colortransform = rightviewportcolortransform;. Oh, ja, we moeten in deze achtergrond achtergrond te stappen. En 16: gevuld met transparante regionale, alvorens dit te doen, viewport2:= viewport3d (nieuwe); viewport2.autoscaletostage = waar dit zal; ///////gezien het grote viewport2 als voor grafische. Beginfill (0xffffff); ///////0xffffff witte viewport2. Figuur. DrawRect (0, 0, stage.stagewidth, stage.stageheight); voor het testen op m 'n bril:,, de gele lenzen, maar laten de grote blauwe licht Door, maar hetTotdat er dieper, door de lens kijken, door het blauwe lenzen. Dit is een belangrijk punt, stap 17: de samenvoeging van deze twee foto 's, dus hebben we 2 foto' s van instellingen en van kleur veranderen.Het probleem is dat wij op dit moment in dezelfde tijd alleen maar zien dat één van hen is, zien we de vermindering van α - de meest voor de hand liggende (transparantie) in het bijzijn van de standpunten, zoals:, viewport2.alpha = 0,5; de test:,, ja.Oké, het was niet echt een succes.- blijkbaar niet het juiste instrument, wat hebben we nog meer?Stap twee, 18: samen, Flash geven ons verschillende hybride model kiezen, zullen beide samen.Hier is een volledige lijst, maar ik zal alleen maar concentreren op een heet, toevoegen, hybride model, door elke pixel vergroten, en elke pixel van helderheid, dus als een specifieke pixel in het eerste beeld met een groene lamp volledig en twee andere beeld blauwe lamp was gesloten, en toen bij de groene en blauwe lamp volledig zal worden gesloten. In een andere achtergelaten.Oké, laten we het gebruiken.Het schrappen van ons schreef, aanpassing van de alfa - lijn, maar het is dit: viewport2.blendmode = "toevoegen"; en (toepassing van hybride model hebben we niet nodig heb, is een lijst van de Top in het testen.):,, dat lijkt er meer op.Kijk, als je het een keer met je ogen, dient te worden opgemerkt dat alle ogen zien meer promintently verschillende gezien.Je kan nog wel andere als een spook, maar dit is niet een probleem; je hersenen kunnen worden genegeerd, maar het beeld te zien, niet in 3D.Laten we de indeling van 19: aanpassing van de scheiding, stap in je ogen te zien, zelfs als de verschillende beelden, dit is niet genoeg voor je hersenen.Zie je, je hersenen is slim, sommigen zouden zelfs zeggen dat dit is de slimste van de organen in je lichaam.Het weet, moet het gebruik van andere aanwijzingen op te lossen of een voorwerp is een driedimensionale perspectief, bijvoorbeeld: een object te zien hoe ver moet op basis van het belangrijkste probleem is, is dat we de twee camera 's de afstand groter dan onze eigen ogen.Dat is niet verwonderlijk, want ik koos een willekeurige 50, moeten wij gebruik maken van de feitelijke scheiding van afstand is afhankelijk van een paar dingen, zoals je is ver van de monitor en je scherm is, dus ik kan niet alleen voor je een magisch getal.We moeten voor de berekening van het met de hand, we kunnen gebruik maken van de verschillende cijfers te zijn om dit te doen, maar dit is saai, en zal het ook nooit worden.Ik heb een beter idee, dat regels toevoegen aan je onenterframe (), camera2. X = X + camera 's (mouseX * 0,1); en nu verander je onclickviewport en onclickviewport2 functie als volgt: openbare functie, onclickviewport (mouseevt:MouseEvent): ongeldig {micro - (camera2. X X van de camera' s.); openbare functies) onclickviewport2 (mouseevt:MouseEvent): ongeldig {micro - (camera2 camera. X. X);}, werking en de muis van SWF 's, links en rechts.Het ziet er zo uit, zet je bril op, doe de lichten uit, en blijven de muis, totdat je "goed" vaste beeld lijkt te worden.Op dit punt een klik met de muis, het volgen van een digitale.Schrijf het op.De maatregelen voor de scheiding, 20: als je het beste scheiding, schrappen we net aan de lijn onenterframe (), camera2. X = X + camera 's (mouseX * 0,1); voornaamste () vastgesteld, nu je de camera vinden, camera2 X = camera. X + 50; en, in plaats van... Welk nummer heb je 50.Ik vond de 18 is een goed gebruik van de nummers die ik de laatste test van SWF 's:,, ha, ha, ha!CONCLUSIE, goed gedaan, je in een flits creëren 3D en het gebruik van sommige gedachten truc om het naar je hoofd een 3D -;), als je begrijpt wat je doormaakt, moet je in staat zijn om het gebruik van dezelfde technieken om gebruik te maken van andere 3D - motor die 3D - beelden, die ik heb genoemd. Het eerste deel je kan proberen de gebruikers met de muis van mobiele camera 's.Nu heb je nog het effect van opluchting, mobiele camera 's en ziet er erg indrukwekkend, bedankt voor het lezen van deze handleiding, hoop ik dat je al het nuttig vinden.Zoals altijd, als je een probleem hebt, alsjeblieft, in de volgende opmerkingen en vragen.



Final result
From the top
From the side
From the top, side by side
Behind you!
Font is from urbanpixel.ca
Look how they shine for you
And it was all yellow
Image from Wikimedia Commons -- thanks, Mike Horvath and jacobolus!
da ba de da ba di
Muddy
Great Scott!
ThreeeeeDeeeee



Previous:
Next Page: