The Witcher 3

File information

Last updated

Original upload

Created by

erxv

Uploaded by

erxv

Virus scan

Safe to use

Tags for this mod

About this mod

Changes the camera angle of alternate Igni to be similar to the 37 min demo and Sword of Destiny trailer

Permissions and credits
Donations
v 1.4
    • works with patch 1.10



Changes the camera angle when Channeling Igni to be similar to the Sword of Destiny trailer and 37 min demo.

Installation:
Put the modIgniCameraChange into your Mods folder

Uninstall:
Take it out of there....

Conflicts:
This will most likely cause a conflict since it modifies the r4Player.ws so use Scriptmerger


Customizing:

      If you want to change the slowmotion ammount, go to:
                The Witcher3Wild Hunt\Mods\modIgniCameraChange\content\scripts\game\player\r4Player.ws ... or to merged scripts and go to lines marked with: // --modIgniAardSlowMo-- and change the 2 values: SLOWMO_DURATION and SLOWMO_SLOW 

So, if you want to make it look exactly how you want, navigate yourself to:
 The Witcher3Wild Hunt\Mods\modIgniCameraChange\content\scripts\game\player\r4Player.ws .... or if you have merged scripts then to wherever they are

go to line 3493 (in the default r4Player.ws, if you have merged that file it may be further down)

see the lines
    if ( oTCameraOffset == leftOffset )
        {
                screenSpaceOffset = 0.65f;
                oTCameraPitchOffset = 13.f; 
        }
        else if ( oTCameraOffset == rightOffset )
        {
                screenSpaceOffset = -0.65f;
                oTCameraPitchOffset = 13.f; 
        }
Change the screenSpaceOffset for Horizontal camera angle (left right)

go to line 3557 (by default)

see this

        if ( moveData.pivotRotationValue.Pitch <= 5.f && moveData.pivotRotationValue.Pitch >= -15.f )
        {
                screenSpaceOffsetFwd = 1.8;
                screenSpaceOffsetUp = 0.4;
        }
        else if ( moveData.pivotRotationValue.Pitch > 0 )
        {
                screenSpaceOffsetFwd = moveData.pivotRotationValue.Pitch*0.00727 + 1.275f;
                screenSpaceOffsetFwd = ClampF( screenSpaceOffsetFwd, 1.5, 2.2 );
                
                screenSpaceOffsetUp = -moveData.pivotRotationValue.Pitch*0.00727 + 0.4363f;
                screenSpaceOffsetUp = ClampF( screenSpaceOffsetUp, 0, 0.3 );
        }
        else
        {
                
        if ( GetCurrentlyCastSign() == ST_Axii )
        {
                screenSpaceOffsetFwd = -moveData.pivotRotationValue.Pitch*0.0425 + 0.8625f;
                screenSpaceOffsetFwd = ClampF( screenSpaceOffsetFwd, 1.5, 2.3 );
        }
        else
        {
                screenSpaceOffsetFwd = -moveData.pivotRotationValue.Pitch*0.035 + 0.75f;
                screenSpaceOffsetFwd = ClampF( screenSpaceOffsetFwd, 1.5, 2.6 );
        }
                screenSpaceOffsetUp = -moveData.pivotRotationValue.Pitch*0.005 + 0.325f;
                screenSpaceOffsetUp = ClampF( screenSpaceOffsetUp, 0.4, 0.5 );
}

change screenSpaceOffsetFwd to change how close to the camera is to Geralt
change screenSpaceOffsetUp   to change the height of the camera

important to change each of these not just the first screenSpaceOffsetFwd = 1.8; and screenSpaceOffsetUp = 0.4; because if you tilt the camera up and down it will revert back to the vanilla one.

also, notice how they are mostly 2 in a row, for example:

        screenSpaceOffsetFwd = moveData.pivotRotationValue.Pitch*0.00727 + 1.275f;
        
screenSpaceOffsetFwd = ClampF( screenSpaceOffsetFwd, 1.5, 2.2 );

same thing being set twice, change only the lower one

and you dont need to have this thing: ClampF( screenSpaceOffsetUp, 0.4, 0.5 ),  just use a number