Sharing is caring! Really nice example there. I like how if you go click-crazy you can totally wreak havoc with balls on the earth.
:) -Pete On Fri, Jul 16, 2010 at 10:13 AM, Darcey Lloyd <[email protected]>wrote: > I have cooked up a quick example and full source available for download on > my site for all to use. > > > http://www.allforthecode.co.uk/aftc/forum/user/modules/forum/index.php?aid=118&index=3&subindex=3 > > Happy coding > > D > > > > On 16 July 2010 15:08, joebass <[email protected]> wrote: > >> Plus, it looks cool! >> >> On Jul 16, 9:25 am, Michael Iv <[email protected]> wrote: >> > nice solution , no trig needed :) >> > >> > On Fri, Jul 16, 2010 at 4:17 PM, Darcey Lloyd <[email protected] >> >wrote: >> > >> > >> > >> > >> > >> > > In with view.render(); I set camera.lookat(new Number3D(0,0,0)); >> > >> > > Then from MouseEvent3D took stageX,stageY,stageZ scaled the normal of >> this >> > > and tweenlite the cam x,y,z to the scaled normal x,y,z, the lookat in >> with >> > > render() handles the lookat. >> > >> > > code snippets: >> > >> > > // >> > > >> -------------------------------------------------------------------------------------------------------------- >> > > private function render(e:Event=null):void >> > > { >> > > // keep camera looking at center of sphere >> > > camera.lookAt( new Number3D(0,0,0) ); >> > > view.render(); >> > > } >> > > // >> > > >> -------------------------------------------------------------------------------------------------------------- >> > >> > > some code inside main.as/mxml >> > > // >> > > >> -------------------------------------------------------------------------------------------------------------- >> > >> > > // Set location of click target primitive (not added to view) >> > > clickTargetPrimitive.x = e.sceneX; >> > > clickTargetPrimitive.y = e.sceneY; >> > > clickTargetPrimitive.z = e.sceneZ; >> > >> > > // Set center cube to look at clickTargetPrimitive >> > > centerCube.lookAt(clickTargetPrimitive.position); >> > >> > > // Tween camera to scaled face normal of clickTargetPrimitive >> > > var camTarget:Number3D = new Number3D(); >> > > camTarget.scale(clickTargetPrimitive.position,0.3); >> > > camTarget.add(camTarget,clickTargetPrimitive.position); >> > > TweenLite.to( camera, 4, { >> > > x:camTarget.x, >> > > y:camTarget.y, >> > > z:camTarget.z, >> > > onComplete:rotationComplete >> > > }); >> > >> > > // >> > > >> -------------------------------------------------------------------------------------------------------------- >> > > private function rotationComplete():void >> > > { >> > > // doesn't do anything once set at start of script >> > > stage.quality = StageQuality.BEST; >> > > } >> > > // >> > > >> -------------------------------------------------------------------------------------------------------------- >> > >> > > On 16 July 2010 13:25, Michael Iv <[email protected]> wrote: >> > >> > >> VERY NICE!!!!, Eventually what approach used for translating the >> camera ? >> > >> > >> On Fri, Jul 16, 2010 at 3:20 PM, Darcey Lloyd < >> [email protected]>wrote: >> > >> > >>> Here is the dev test so far: >> > >> > >>>http://www.allforthecode.co.uk/development/away3d/sphere_dev< >> http://www.allforthecode.co.uk/development/away3d/sphere_dev/index.html> >> > >> > >>> Still needs work but getting there, it now has: >> > >> > >>> - Rotation on drag - dead zone 40px on x and y >> > >>> - Click rotate look at target using camera3D >> > >>> - Click target sceneXYZ face normal for cube tween to location >> > >>> - Owncanvas glow >> > >>> - Sphere with transparent placement png for cloud rotation >> > >> > >>> nice little cpu killer, reload if the materials don't fully load, >> found >> > >>> this to be a tad unpredictable. >> > >> > >>> Next up, put it all in a container, do the same with the container >> to >> > >>> allow items added to the surface of the sphere to be rotated instead >> of just >> > >>> the spheres... lol I didn't think of this while building it doh :p >> > >> > >>> < >> http://www.allforthecode.co.uk/development/away3d/sphere_dev/index.html> >> > >> > >>> On 13 July 2010 10:57, Michael Iv <[email protected]> wrote: >> > >> > >>>> With some vector+ trig magic you can manage it. I would draw a >> normal >> > >>>> from the point of the sphere where clicked then scale that point >> to the >> > >>>> same distance as that of the camera from the sphere and then tween >> the >> > >>>> camera to that position.Would not use HoverCamera though , just the >> regular >> > >>>> one. >> > >> > >>>> On Tue, Jul 13, 2010 at 3:08 AM, Darcey Lloyd < >> [email protected]>wrote: >> > >> > >>>>> I am leaning towards getting rid of it also ;) >> > >> > >>>>> I think I will just rotate the sphere on mouse click and drag >> which >> > >>>>> should save any translation, easier & quicker. >> > >> > >>>>> D >> > >> > >>>>> On 13 July 2010 00:53, Peter Kapelyan <[email protected]> >> wrote: >> > >> > >>>>>> Super! >> > >> > >>>>>> Would I be a meanie if I said forget Hovercam? It's because I >> don't >> > >>>>>> use it, and it's easy to get any working with the regular cam, >> plus it seems >> > >>>>>> its giving you unneeded problems already. >> > >> > >>>>>> Maybe try the regular one? If you need help, let me know. >> > >> > >>>>>> -Pete >> > >> > >>>>>> On Mon, Jul 12, 2010 at 7:27 PM, Darcey Lloyd < >> [email protected] >> > >>>>>> > wrote: >> > >> > >>>>>>> Nice one Peter, I didn't think of that lol... Had target objects >> > >>>>>>> created from vertices, sceneX,Y,Z etc etc but didn't do that lol >> > >> > >>>>>>> I have updated url using your suggestion... Just don't drag >> rotate >> > >>>>>>> the sphere or it's chaos. >> > >> > >>>>>>> >> http://www.allforthecode.co.uk/development/away3d/lookat_point_on_sph... >> > >> > >>>>>>> < >> http://www.allforthecode.co.uk/development/away3d/lookat_point_on_sph...> >> > >>>>>>> Now to: >> > >> > >>>>>>> 1. Work out if possible to prevent HoverCamera3D from zooming >> away >> > >>>>>>> from the object when looking at the top or bottom. >> > >> > >>>>>>> 2. Work out translation of click location with HoverCamera3D pan >> and >> > >>>>>>> tilt angles. >> > >> > >>>>>>> Thanks >> > >> > >>>>>>> Darcey >> > >> > >>>>>>> On 13 July 2010 00:01, Peter Kapelyan <[email protected]> >> wrote: >> > >> > >>>>>>>> If you placed an object in the middle of the Sphere, and told >> that >> > >>>>>>>> object to lookAt the position where you clicked, shouldn't that >> object have >> > >>>>>>>> the correct rotation? Not sure, but seems like it should work. >> > >> > >>>>>>>> -Pete >> > >> > >>>>>>>> On Mon, Jul 12, 2010 at 6:55 PM, Darcey Lloyd < >> > >>>>>>>> [email protected]> wrote: >> > >> > >>>>>>>>> Hi, >> > >> > >>>>>>>>> I am trying to work out how to look at a point clicked on a >> sphere. >> > >> > >>>>>>>>> Here is where I am at so far: >> > >> > >>>>>>>>> >> http://www.allforthecode.co.uk/development/away3d/lookat_point_on_sph... >> > >> > >>>>>>>>> From what I gather I have two options: >> > >> > >>>>>>>>> 1. Move the cameras position and look at an object created at >> the >> > >>>>>>>>> point >> > >> > >>>>>>>>> or >> > >> > >>>>>>>>> 2. Rotate the sphere >> > >> > >>>>>>>>> The problems I am having are: >> > >> > >>>>>>>>> 1. The HoverCamera3D appears to have its position locked it's >> x,y,z >> > >>>>>>>>> cannot be modified.. or can it? I tried slapping TweenLite on >> its x,y,z >> > >>>>>>>>> properties and nothing happened. >> > >> > >>>>>>>>> 2. The HoverCamera3D tends to zoom out when looking at the top >> and >> > >>>>>>>>> bottom of the sphere which makes me think the best way to do >> this would be >> > >>>>>>>>> to rotate the sphere to prevent the object distance change. >> > >> > >>>>>>>>> 3. Rotating the sphere using MouseEvent3D.sceneX,sceneY,sceneZ >> (the >> > >>>>>>>>> point of click) to face the camera, I appear to be getting it >> look at 1 side >> > >>>>>>>>> of the sphere only. >> > >> > >>>>>>>>> 4. I have also tried using some pythag to calculate the angle >> I >> > >>>>>>>>> need to rotate the sphere to look at the camera but using >> > >>>>>>>>> sceneX,sceneY,sceneZ doesn't appear to give me the values I >> need to work >> > >>>>>>>>> with? or do they? >> > >> > >>>>>>>>> Any ideas on the best way to find the angle I need to rotate a >> > >>>>>>>>> sphere from it's click point? sceneX,sceneY,sceneZ to look at >> the camera? >> > >> > >>>>>>>>> Any ideas on the best way to go about this? >> > >> > >>>>>>>>> Thanks >> > >> > >>>>>>>>> Darcey >> > >> > >>>>>>>> -- >> > >>>>>>>> ___________________ >> > >> > >>>>>>>> Actionscript 3.0 Flash 3D Graphics Engine >> > >> > >>>>>>>> HTTP://AWAY3D.COM >> > >> > >>>>>> -- >> > >>>>>> ___________________ >> > >> > >>>>>> Actionscript 3.0 Flash 3D Graphics Engine >> > >> > >>>>>> HTTP://AWAY3D.COM >> > >> > >>>> -- >> > >>>> Michael Ivanov ,Programmer >> > >>>> Neurotech Solutions Ltd. >> > >>>> Flex|Air |3D|Unity| >> > >>>>www.neurotechresearch.com >> > >>>>http://blog.alladvanced.net >> > >>>>http://www.meetup.com/GO3D-Games-Opensource-3D/ >> > >>>> Tel:054-4962254 >> > >>>> [email protected] >> > >>>> [email protected] >> > >> > >> -- >> > >> Michael Ivanov ,Programmer >> > >> Neurotech Solutions Ltd. >> > >> Flex|Air |3D|Unity| >> > >>www.neurotechresearch.com >> > >>http://blog.alladvanced.net >> > >>http://www.meetup.com/GO3D-Games-Opensource-3D/ >> > >> Tel:054-4962254 >> > >> [email protected] >> > >> [email protected] >> > >> > -- >> > Michael Ivanov ,Programmer >> > Neurotech Solutions Ltd. >> > Flex|Air >> |3D|Unity|www.neurotechresearch.comhttp://blog.alladvanced.nethttp:// >> www.meetup.com/GO3D-Games-Opensource-3D/ >> > Tel:054-4962254 >> > [email protected] >> > [email protected] Hide quoted text - >> > >> > - Show quoted text - > > > -- ___________________ Actionscript 3.0 Flash 3D Graphics Engine HTTP://AWAY3D.COM
