Ambitious request!? Moveable camera in 3D enviornent of any game
#1
I wonder how easy it is to implement a free camera mode which can be operated through keyboard and mouse to pan, zoom and move around the camera in the 3D enviornment of any game in situ, within restrictions.

Even just having the ability to pause the frame, move and look around the 3D envioenment which is already rendered is quite cool. This'd allow screenshots to be taken at impossible views. It does not have to interact with the game to for example load more textures and enviornment outside what is already rendered in the scene where and when the frame freezed.

I have reasons to believe it's not hard to implement, you just freeze the game state and use the 3D enviornment already rendered in memory at that instant and allow free roaming. Reality is usually more complicated but I have no know-how to speculate.

I'll leave this as a thought. Laugh
Reply

Sponsored links

#2
This is impossible for NOW. First All PS2 3d Games Don't have a Full 3d Objects.i.e. Most of the objects are hollow from inside or some unseen side if roamed or have only the front part.And also we need to freeze the background not the character(maybe slightly difficult). Eg. In Dragon Ball Z Budokai Tenkaichi 3, in the 3d fight screen, we cannot go everywhere. There's A limitation of our movement(Thats right).
[Image: recodersignature2.png]
Reply
#3
If I had this, I would mostly use it to zoom in on boobs.

/just saying
Reply
#4
This is hard on native PC titles. It's nearly impossible on emulated games.
Reply
#5
(04-12-2011, 04:35 PM)annihilatorx Wrote: I have reasons to believe it's not hard to implement, you just freeze the game state and use the 3D enviornment already rendered in memory at that instant and allow free roaming. Reality is usually more complicated but I have no know-how to speculate.

I'll leave this as a thought. Laugh

You'd have reasons to believe?

I don't think you understand how video games are rendered... Whatever you don't see beyond a little bit to the left/right of the camera isn't being rendered. There obviously isn't any need to render things that aren't being viewed... it'd be a massive waste of resources.

So if the data isn't there from the game itself to "emulate" a free roaming camera, then you have to modify the camera in the actual game... This would be something you'd have to modify on a game to game basis.

Something that would make more sense (and indeed has been done before) is the ability to dump models while running a game... The models on screen would be stored and could be (relatively) easily pulled from memory.
[Image: 2748844.png]
Reply
#6
There was a cheat code created years ago to do this. It was reported to be universal - meaning it would work across most, if not, all 3D games. You just needed the joker command address and an address to hook (execute) the subroutine (a JAL or JR RA; I don't recall which.). I never got the chance to test it out myself nor do I know where to find it at the moment. It was created by a Japanese hacker. So, that will make the search for it a bit tougher. If I do happen to come across it, I will post it here for reference.

Did you happen to get this idea from the Dolphin emulator? I have yet to try out that feature.

Edit: I just remembered the name of the program that deals with the camera codes: scevu0CameraMatrix. You can check out these sites:

http://something-lacking.all-forum.net/t...to-capkore
http://www.geocities.jp/zarazala_9/code/ps2cc.html
http://www10.atwiki.jp/ecode/pages/17.html

The cheat codes are in Action Replay v1/GameShark v1 format.

Aaaaaaaa dddddddd: 32-bit Write Once

a = Address
d = Data
Reply
#7
(04-12-2011, 10:31 PM)Koji Wrote: You'd have reasons to believe?

I don't think you understand how video games are rendered... Whatever you don't see beyond a little bit to the left/right of the camera isn't being rendered. There obviously isn't any need to render things that aren't being viewed... it'd be a massive waste of resources.

So if the data isn't there from the game itself to "emulate" a free roaming camera, then you have to modify the camera in the actual game... This would be something you'd have to modify on a game to game basis.

Something that would make more sense (and indeed has been done before) is the ability to dump models while running a game... The models on screen would be stored and could be (relatively) easily pulled from memory.

I do understand how objects are rendered. I am not industrial expert but I don't think you are 100% right either. Objects that are visible are polygons. There won't be any limitations.
You will have z-buffer optimizations which means textures at the back aren't painted. But, PS2 graphics is not exactly demanding and such optimizations can be disabled on modern GPUs

I think you believe that the graphics are handled by the game code. Not really, the GPU on your computer is what is doing the hard work. The GPU needs a stream of verticies about the polygonal shape, some textures and some geometrical coordinates and it will do its job in rendering it. Changing the camera angle is then just a trasformation of the coordinates. The GPU plugin or the GPU will do the hard work, not the game code, so there is no game code limitation.

Given a 3D enviornment, the camera position is always known by the GPU renderer, it's not a game's implementation.
(04-12-2011, 11:33 PM)Mecca Wrote: There was a cheat code created years ago to do this. It was reported to be universal - meaning it would work across most, if not, all 3D games. You just needed the joker command address and an address to hook (execute) the subroutine (a JAL or JR RA; I don't recall which.). I never got the chance to test it out myself nor do I know where to find it at the moment. It was created by a Japanese hacker. So, that will make the search for it a bit tougher. If I do happen to come across it, I will post it here for reference.

Did you happen to get this idea from the Dolphin emulator? I have yet to try out that feature.

Edit: I just remembered the name of the program that deals with the camera codes: scevu0CameraMatrix. You can check out these sites:

http://something-lacking.all-forum.net/t...to-capkore
http://www.geocities.jp/zarazala_9/code/ps2cc.html
http://www10.atwiki.jp/ecode/pages/17.html

The cheat codes are in Action Replay v1/GameShark v1 format.

Aaaaaaaa dddddddd: 32-bit Write Once

a = Address
d = Data

Thanks, this just proves that it's possible, and there is a hook in game code for doing so. Not sure action replay codes would work in PCSX2?
Reply
#8
Quote:But, PS2 graphics is not exactly demanding and such optimizations can be disabled on modern GPUs

ROTFLMAO.

yeah...... whatever kid.
Reply
#9
Erm, I may have not long started directx programming but I know for a fact that isn't the function of a zbuffer. The zbuffer decides what order objects are rendered in so further away objects don't appear in front of closer ones. Disabling such a feature would bring little to no speed improvement. What you want would be extremely difficult to do and we'd have to take all control of the camera away from the game. Unless we paused the emulation, that would be impossible without breaking it severely.
[Image: ref-sig-anim.gif]

Reply
#10
i think he mistook the z-buffer for z-culling Tongue2

Let me guess though, you saw this feature in dolphin and thought it was a good idea for PCSX2?

for starters. it doesn't even work properly in dolphin ;p

secondly, the few it does work in use heavily cutomised engines (like Factor5 level custom)
Reply




Users browsing this thread: 1 Guest(s)