Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (499)
Games in Android Showcase (118)
games submitted by our members
Games in WIP (567)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Positioning the camera in overhead view  (Read 1839 times)
0 Members and 1 Guest are viewing this topic.
Offline sproket

Junior Member


Medals: 1



« Posted 2009-11-29 22:42:00 »

Hi all,

In my game design I use first person view for movement and then switch to an overhead view for combat. This is working fine.

When I setup combat I select a player and the scene is re-rendered with the camera raised few meters and facing down.

Then I want to select a specific player on the screen at a coordinate a move the camera so it's directly overhead. This part for me is not working.

So in my keyBehavior class I get the Transform3D from the player object and from that get his vector. Then I try to place the camera at that vector. But the camera view goes haywire.

Code is like this:

// Local new transform3D so it should be empty
Transform3D t = new Transform3D();

// init the Transform3D from the selected object
selectedPlayer.getTG().getTransform(t);

// Get the vector for this object
Vector3d vector = new Vector3d();
t.get(vector);

// Reset the KeyBehavior Transform3D
t3d = new Transform3D();

// Set the KeyBehavior TransformGroup
targetTG.getTransform(t3d);

// This is an instance var for repeated calcs
toMove.setTranslation(theMove);

// move the camera?  Huh
t3d.mul(toMove);
targetTG.setTransform(t3d);

******

TIA

Offline rdcarvallo

Senior Member


Projects: 5
Exp: 15 years


2D Java games forever!


« Reply #1 - Posted 2009-12-16 19:43:00 »

Hi,

    You can use the helper method  void lookAt(Point3d eye, Point3d center, Vector3d up) in the Transform3D class.

1  
2  
3  
4  
5  
6  
7  
8  
9  
Transform3D trns = new Transform3D();
Point3D center = "position of player"
Point3D eye = "position of player + x distance over his head"  

Vector3D up ="forward direction of the player"  //assuming Z axis as Up in the game world , this vector must be in X/Y plane

trns.lookAt(eye, center, up);

targetTG.setTransform(trns);
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Pippogeek (39 views)
2014-09-24 16:13:29

Pippogeek (30 views)
2014-09-24 16:12:22

Pippogeek (19 views)
2014-09-24 16:12:06

Grunnt (45 views)
2014-09-23 14:38:19

radar3301 (27 views)
2014-09-21 23:33:17

BurntPizza (63 views)
2014-09-21 02:42:18

BurntPizza (33 views)
2014-09-21 01:30:30

moogie (41 views)
2014-09-21 00:26:15

UprightPath (50 views)
2014-09-20 20:14:06

BurntPizza (54 views)
2014-09-19 03:14:18
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!