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

Reply via email to