Archived

This topic is now archived and is closed to further replies.

SoaringTortoise

Small problem: Creative Solution Required: 3rd-person camera

Recommended Posts

I''ve got a problem with my 3rd-person camera in that the ''person'' the camera is watching is very short... actually, it''s a kind of tank shape, but slightly flatter. This is causing more problems than I ever thought possible: 1) Looking up is a tricky thing because there isn''t enough ''height'' in the character to let the camera rotate nicely. You either end up with the camera inside the character, the character completely occluding the view, or the character becomes out of camera shot. 2) If I ''detach'' the camera for extreme vertical viewing and the character is no longer in camera shot, the aiming becomes non-intuitive - I''m rigging it so that the guns on the character track the camera angle you''re looking at. If you''re looking straight up, you can''t see the guns. 3) I can''t limit the camera angles because the terrain allows for enemies to be at extreme heights relative to the character, and not being able to target them is just plain mean. I''m happy to just fake the guns when the camera looks up, but I was hoping for another solution because this seems to me to be a cheap''n''nasty fix.

Share this post


Link to post
Share on other sites
quack    125
you can try moving the camera position down and closer to the hero as you rotate it up. you may have to post a drawing on what you mean. In most cases when you look straight up in 3rd person you prob wont see the hero anyways.

Share this post


Link to post
Share on other sites
I can''t really draw to save my life, and posting the code is a massive task. How about this:

I have coded my camera so that it appears to be attached to the ''head'' of the character by a fixed line. As I move the camera around, it will always face the exact same position on the character. So, if I move the camera lef/right, it rotates around the head at a fixed distance. If I move up and down, the same applies.

Now, there is some collision detection stuff that happens such that if the character is near to a wall and I move the camera around, then the camera moves closer to the head. This is fine.

The problem is that looking upwards is a problem because the character is not shaped like a human. If it was, then looking upwards would simply result in the camera being close to the ground and still looking up towards the head. no problem because the body of the character is narrow.

My character is proportioned more like a car. Imagine that the ''head'' is actually a gun turret placed on the roof. So, as you move the camera around, you are always looking at the gun turret. If you now start to look upwards, the camera runs out of space pretty quickly and has to start moving the into the trunk space of the car. Which is a problem.

If I move the camera further away (so that it navigates behind the trunk), then you still have a problem because the best possible angle you can look upwards at would be 45-degrees (a line drawn from the turret to the ground that avoids hitting the trunk would be at 45-degrees).

Alternatively, if I stop moving the camera if it can connect with the trunk, but still allow you look further upwards, then the camera is no longer looking along that fixed line towards the turret, and you have a problem because you no longer see the character - the camera is looking upwards, but the turret is actually below the camera. This makes the view ''detatched'' and non-intuitive.

I''m looking for some other ideas than those two.

Share this post


Link to post
Share on other sites