wozzy Posted May 10, 2015 Share Posted May 10, 2015 (edited) I've been playing around with camera functions, trying figuring out how they work, and I thought I'd share some of what I've found It seems there are at least 2 different types of cameras, the default gameplay camera, and scripted cameras created by scripts. Each have there own set of natives assosciated with them, and the ones for the gameplay camera are pretty limited. It isn't possible to get a handle to the gameplay camera, there are only a few functions that access and modify certain properties (GET_GAMEPLAY_CAM_COORD, GET_GAMEPLAY_CAM_ROT, etc) There is a lot more control over scripted cameras. They can be created with CREATE_CAM or more often CREATE_CAM_WITH_PARAMS, which return an ID, it's possible to get/set most of their properties, interpolate between them, attach/pointAt targets, etc. Each creation function takes a string name, ie "DEFAULT_SCRIPTED_CAMERA", "DEFAULT_SPLINE_CAMERA", and a few others. I've only tested using "DEFAULT_SCRIPTED_CAMERA" so far, as it's the most commonly used one Creating a camera sets it as active, but that's not enough for it to render. RENDER_SCRIPT_CAMS must also be called. I'm not sure what all the params are, only that the first is a bool that sets whether to render scripted cameras or the gameplay camera. Using the common values from the scripts for the others seems to work: RENDER_SCRIPT_CAMS(1, 0, 3000, 1, 0). Set the first param to 0 to switch back to the default game camera To shake the camera, call SHAKE_CAM(cameraId, shakeType, shakeAmplitude). shakeType is a string containing the name of the shake type. I found the following types in the decompiled scripts: "HAND_SHAKE""SMALL_EXPLOSION_SHAKE""MEDIUM_EXPLOSION_SHAKE""LARGE_EXPLOSION_SHAKE""JOLT_SHAKE""VIBRATE_SHAKE""ROAD_VIBRATION_SHAKE""DRUNK_SHAKE""SKY_DIVING_SHAKE""FAMILY5_DRUG_TRIP_SHAKE""DEATH_FAIL_IN_EFFECT_SHAKE" Some types are one-shot shakes (such as explosions), but most of them loop. To stop a looping shake, use STOP_CAM_SHAKING There seems to be a hard limit of 26 scripted cameras that can be created at a time. After that, calling CREATE_CAM will return an invalid ID, until other cameras are destroyed with DESTROY_CAM(cameraID), or DESTROY_ALL_CAMS() Some things I still plan on looking into: -CameraAnimations -Special types of scripted cameras, ie spline, cinematic, I'm not sure at all how these work yet -Any other natives I may have missed, as well as the unknown ones that are still hashed If you're using the Community Scripthook V .Net wrapper, use the new Camera/Gameplay classes (not yet in a release build, but you can get automated builds from the latest commit here). See this post for a simple example I'll be releasing a Top Down Mod using all of this pretty soon Edited May 10, 2015 by wozzy gtaVmod, kallas, Freakyy and 2 others 5 Link to comment https://gtaforums.com/topic/793247-cameras/ Share on other sites More sharing options...
Freakyy Posted May 10, 2015 Share Posted May 10, 2015 Very good job! Thanks a lot! Link to comment https://gtaforums.com/topic/793247-cameras/#findComment-1067443953 Share on other sites More sharing options...
jeason1997 Posted May 11, 2015 Share Posted May 11, 2015 thanks man Link to comment https://gtaforums.com/topic/793247-cameras/#findComment-1067447668 Share on other sites More sharing options...
SaladinoGW Posted June 8, 2015 Share Posted June 8, 2015 how delete cam and back to normal? because when i deleted,not happens Link to comment https://gtaforums.com/topic/793247-cameras/#findComment-1067565556 Share on other sites More sharing options...
ChOcOsKiZo Posted June 8, 2015 Share Posted June 8, 2015 (edited) how delete cam and back to normal? because when i deleted,not happens RENDER_SCRIPT_CAMS(1, 0, 3000, 1, 0). Set the first param to 0 to switch back to the default game camera.... Edited June 8, 2015 by ChOcOsKiZo Fireboyd78 1 Link to comment https://gtaforums.com/topic/793247-cameras/#findComment-1067565594 Share on other sites More sharing options...
ffzero58 Posted June 8, 2015 Share Posted June 8, 2015 Highly anticipating this. In regards to cams, is there a way to avoid LOD when the cam is too far away from the player ped? Other than dragging the player ped along with the cam, I don't see how this can be avoided (not that I mind). It would be great to have WASD control of the cam and fly around. It would make for great unique shots. Link to comment https://gtaforums.com/topic/793247-cameras/#findComment-1067566778 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now