Jump to content

FWCamera - An animated Camera Script for Skyrim (Beta)


Recommended Posts

Greetings all,

 

 

As some of you may know, I made an animated Camera SKSE Plugin where you can make a Camera Animation like:

- Move from Actor1 to Actor 2 and look at Actor3 Head Node.

- Then Move from Actor2 to Actor3 and Look at Actor1 Vagina Node

- ......

 

This can be made with just a few Papyrus Scripts.

 

It was part of my mod BeeingFemale, but I've decided to export it to a seperate Modder Ressource and uploading a Beta right here.

Feel free and test the script.

 

It's also planed to make CameraFiles but this isn't done yet.

 

Special Features:

- Smooth Camera Animation

- Easing In / Out Function

- Repeating Function

- Play, PlayWait, Stop functions

 

Known Problems:

When exit Skyrim during an Camera Animation, Skyrim will freeze until the camerra animation is done.

 

How To:

- At first you must create a Camera and give it an unique Name

- Create an Action with the Parameters "StartTime" and "Duration"

- Attach some jobs to the Action

- Attach the Action to the Camera

- Play the camera

(See Papyrus Script file for a full documentation)

 

example:

float RotationZ1=FWCamera.getAngleZ(target) - 3.14159
float RotationZ2=FWCamera.getAngleZ(target)
 
CamID=FWCamera.CameraCreate("My Test Camera")
 
; --- Create Camera Action 1 ---
int act1=FWCamera.CameraCreateAction(0,5)
FWCamera.MoveFrom_ObjectNode(act1,target, "head")
FWCamera.MoveFrom_CameraOffset(act1, -80,-50,0)
FWCamera.MoveFrom_Offset(act1,0,0,-20)
FWCamera.RotateFrom(act1, 0.5, RotationZ2)
 
FWCamera.MoveTo_ObjectNode(act1, target, "head")
FWCamera.MoveTo_CameraOffset(act1, 80,-50,0)
FWCamera.MoveTo_Offset(act1,0,0,-20)
FWCamera.RotateTo(act1, 0.5, RotationZ2)
 
; --- Create Camera Action 2 ---
int act2=FWCamera.CameraCreateAction(5,5)
FWCamera.MoveFrom_ObjectNode(act2,target, "head")
FWCamera.MoveFrom_CameraOffset(act2, 80,50,0)
FWCamera.RotateFrom(act2, 0.5, RotationZ1)
 
FWCamera.MoveTo_ObjectNode(act2, target, "head")
FWCamera.MoveTo_CameraOffset(act2,-80,50,0)
FWCamera.RotateTo(act2, 0.5, RotationZ1)
 
; --- Create Camera Action 3 ---
int act3=FWCamera.CameraCreateAction(10,10)
FWCamera.MoveFrom_ObjectNode(act3, target, "head")
FWCamera.MoveFrom_Offset(act3, 0,0,60)
FWCamera.MoveFrom_CameraOffset(act3, 0,50,0)
FWCamera.RotateFrom(act3, 1.5, RotationZ1)
FWCamera.MoveTo_ObjectNode(act3, target, "Root")
FWCamera.MoveTo_Offset(act3,0,0,20)
FWCamera.MoveTo_CameraOffset(act3, 0,50,0)
FWCamera.RotateTo(act3, -1.3, RotationZ1)
 
int act4=FWCamera.CameraCreateAction(20,10)
FWCamera.MoveFrom_ObjectNode(act4, target, "head")
FWCamera.MoveFrom_Offset(act4, 0,0,60)
FWCamera.MoveFrom_CameraOffset(act4, 0,-50,0)
FWCamera.RotateFrom(act4, 1.5, RotationZ2)
FWCamera.MoveTo_ObjectNode(act4, target, "Root")
FWCamera.MoveTo_Offset(act4,0,0,20)
FWCamera.MoveTo_CameraOffset(act4, 0,-50,0)
FWCamera.RotateTo(act4, -1.3, RotationZ2)
 
int act5=FWCamera.CameraCreateAction(30,10)
FWCamera.LookFrom_ObjectNode(act5, target, "head")
FWCamera.MoveFrom_ObjectNode(act5, target, "head")
FWCamera.MoveFrom_CameraOffset(act5, 50,0,0)
FWCamera.LookTo_ObjectNode(act5, target, "head")
FWCamera.MoveTo_ObjectNode(act5, target, "head")
FWCamera.MoveTo_CameraOffset(act5, 50,0,0)
 
; --- Add Camera Actions to camera ---
FWCamera.CameraAddAction(CamID, act1)
FWCamera.CameraAddAction(CamID, act2)
FWCamera.CameraAddAction(CamID, act3)
FWCamera.CameraAddAction(CamID, act4)
FWCamera.CameraAddAction(CamID, act5)
 
FWCamera.CameraPlayWait(CamID)

FWCamera.zip

Link to comment
  • 1 year later...
  • 1 month later...
  • 1 year later...

maybe if you have time, could you create a simple script with the existing cam, so that the cam is moving a little OFF the 0,0,0 position.

This would help new created furnitures agains CAM STUCKING in collision/body-meshes.

Maybe with some parameters, like the definition of one or more coordinates by properties and a time-counter, combined with a return to the original cam back?

Link to comment
  • 5 months later...
  • 2 weeks later...
  • 1 month later...
On 10/22/2020 at 11:08 AM, huanrenfeng said:

Good mod! I'm going to try it. Any chances making a SE one?

Sry, stopped playing Skyrim a long time ago.

I don't even have the necessary files to convert it.

 

On 10/12/2020 at 5:50 PM, sanwentianshi said:

This is a good idea,unfortunately I don’t even know how to start it.

It's a modder ressource file. Modders can use it for there mods. (Classic Skyrim only)

 

On 2/14/2019 at 3:18 PM, nicqyok2 said:

im gonna try it i downloaded the data file and dropped to my skyrim, is it right to do?

Yepp, just drop the folders into your skyrim folder

 

On 5/11/2020 at 2:19 PM, t.ara said:

maybe if you have time, could you create a simple script with the existing cam, so that the cam is moving a little OFF the 0,0,0 position.

This would help new created furnitures agains CAM STUCKING in collision/body-meshes.

Maybe with some parameters, like the definition of one or more coordinates by properties and a time-counter, combined with a return to the original cam back?

 

actor target = Game.GetPlayerActor() // or however the function was called again - sry it was years ago

// Create a camera Scene
CamID=FWCamera.CameraCreate("My Test Camera")

// Ser the camera to 0,0 inside the head
int act1=FWCamera.CameraCreateAction(0,0)
FWCamera.MoveFrom_ObjectNode(act1,target, "head")
FWCamera.MoveFrom_CameraOffset(act1, 0, 0, 0)

// In the second Position, move to an offset of -50
int act2=FWCamera.CameraCreateAction(0,5)
FWCamera.MoveFrom_ObjectNode(act2,target, "head")
FWCamera.MoveFrom_CameraOffset(act2, 0, -50, 0)

// Add the 2 cameras to the scene
FWCamera.CameraAddAction(CamID, act1)
FWCamera.CameraAddAction(CamID, act2)

// Now play the camera scene (and wait till the animation has ended)
FWCamera.CameraPlayWait(CamID)
Link to comment
  • 9 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use