HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

1st person camera in Jass

10-19-2004, 12:26 AM#1
Linera
This is my script:

function Trig_Update_Camera_Func001Func004C takes nothing returns boolean
if ( not ( udg_bol_up == true ) ) then
return false
endif
if ( not ( udg_bol_down == false ) ) then
return false
endif
return true
endfunction

function Trig_Update_Camera_Func001C takes nothing returns boolean
if ( not ( udg_bol_FPV == true ) ) then
return false
endif
return true
endfunction

function Trig_Update_Camera_Actions takes nothing returns nothing
if ( Trig_Update_Camera_Func001C() ) then
call CameraSetupApplyForPlayer( true, gg_cam_FPS, Player(0), 0 )
if ( Trig_Update_Camera_Func001Func004C() ) then
call SetCameraTargetControllerNoZForPlayer( Player(0), udg_unit_controled, ( GetLocationX(PolarProjectionBJ(GetUnitLoc(udg_unit_controled), ( udg_real_camcorrection * 1.50 ), udg_real_moveangle)) - GetLocationX(GetUnitLoc(udg_unit_controled)) ), ( GetLocationY(PolarProjectionBJ(GetUnitLoc(udg_unit_controled), ( udg_real_camcorrection * 1.50 ), udg_real_moveangle)) - GetLocationY(GetUnitLoc(udg_unit_controled)) ), true )
else
call SetCameraTargetControllerNoZForPlayer( Player(0), udg_unit_controled, ( GetLocationX(PolarProjectionBJ(GetUnitLoc(udg_unit_controled), udg_real_camcorrection, udg_real_moveangle)) - GetLocationX(GetUnitLoc(udg_unit_controled)) ), ( GetLocationY(PolarProjectionBJ(GetUnitLoc(udg_unit_controled), udg_real_camcorrection, udg_real_moveangle)) - GetLocationY(GetUnitLoc(udg_unit_controled)) ), true )
endif
else
call CameraSetupApplyForPlayer( true, gg_cam_TPS, Player(0), 0 )
call SetCameraTargetControllerNoZForPlayer( Player(0), udg_unit_controled, 0.00, 0.00, true )
endif
call SetCameraFieldForPlayer( Player(0), CAMERA_FIELD_ROTATION, udg_real_moveangle, 0 )
endfunction

//===========================================================================
function InitTrig_Update_Camera takes nothing returns nothing
set gg_trg_Update_Camera = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Update_Camera, 0.01 )
call TriggerAddAction( gg_trg_Update_Camera, function Trig_Update_Camera_Actions )
endfunction

I need the function for camera - Z offset
10-19-2004, 05:08 AM#2
-={tWiStÄr}=-
call SetCameraFieldForPlayer( Player(0), CAMERA_FIELD_FARZ, 0.00, 0 )
right.. just convert the GUI function
10-19-2004, 05:22 AM#3
Linera
Thats how you set the Z offset of the camera?
10-19-2004, 06:56 AM#4
-={tWiStÄr}=-
i think so,
SetCameraField takes camerafield whichField, real value, real duration returns nothing
10-19-2004, 05:51 PM#5
Linera
can you write a script real quick that adjusts the camera to the same terran cliff level as the unit that first is being seen through.

Here is a link to the 1st person engine I'm using:http://www.wc3campaigns.com/attachme...chmentid=20885

please change it so it will allow my unit to go up and down hills and ramps.
10-19-2004, 06:14 PM#6
Freakazoid
Please post a demo map to save us all some truble, nice anyway
10-19-2004, 07:41 PM#7
Linera
This is the demo: This is the demo. ^_^
10-23-2004, 02:49 PM#8
LegolasArcher
What the hell is wrong with you? I made that cam about a year and half ago, and put it in the repository.

http://www.wc3campaigns.com/showthread.php?t=44551

My god, you didnt even remove my name from the Notes!

Oh, and I have a working cam that follows the terrian, and adjusts it's angle--and I was about to release it. However, I've changed my mind now that I've met you.
10-24-2004, 02:39 AM#9
Guest
x.X

I hope you fixed the PolarProjection memory leaks in the newer version ^ ^
10-24-2004, 02:45 AM#10
SS3Goku
can you please release it! I would really like to have it in a map
10-24-2004, 12:35 PM#11
LegolasArcher
I really have to read through the fps mod EULA, because I'm using their function to compensate for blizzard's smoothing, and for slope (it was the most lag free slope function I could find/make). Also, I have only one fire function done (instant). Finnally, I want to double check that the modified cam function works in multiplayer.

[edit] Is claiming someone else's work a bannable offence?