Jump to content

FWCamera - An animated Camera Script for Skyrim (Beta)


milzschnitte

Recommended Posts

Posted

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

  • 1 year later...
Posted

I removed the "Don't use" thing... feel free to use it.

The problem with Exit Skyrim during the camera animation still exists. You can't quit skyrim during the animation... you must wait till the animation is over

  • 1 month later...
  • 1 year later...
Posted

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?

  • 5 months later...
  • 2 weeks later...
  • 1 month later...
Posted
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)
  • 9 months later...

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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