Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (
- selectedKeys_Pos = #()
- selectedKeysTime_Pos = #()
- selectedKeys_Rot = #()
- selectedKeysTime_Rot = #()
- selectedKeys_Scale = #()
- selectedKeysTime_Scale = #()
- fn fn_GetNewKeyTimeValue key modValue =
- (
- tmp = key
- i = 0
- newkey=0
- if (mod key modValue == 0) then return key
- while (mod tmp modValue !=0) do
- (
- tmp+=1
- i+=1
- if i>2 then
- (
- newkey = key - (modValue-i)
- )
- else
- (
- newkey = key + i
- )
- )
- newkey
- )
- fn fn_SnapKeys obj modValue =
- (
- if obj == undefined then return Messagebox "Please select an object"
- --position
- for i=1 to obj.position.controller.keys.count do
- (
- if (isKeySelected obj.position.controller i) then
- (
- keytime = (getKeyTime obj.position.controller i )
- append selectedKeysTime_Pos keytime.frame
- append selectedKeys_Pos i
- deselectKey obj.position.controller i
- )
- )
- --rotation
- for i=1 to obj.rotation.controller.keys.count do
- (
- if (isKeySelected obj.rotation.controller i) then
- (
- keytime = (getKeyTime obj.rotation.controller i )
- append selectedKeysTime_Rot keytime.frame
- append selectedKeys_Rot i
- deselectKey obj.rotation.controller i
- )
- )
- --scale
- for i=1 to obj.scale.controller.keys.count do
- (
- if (isKeySelected obj.scale.controller i) then
- (
- keytime = (getKeyTime obj.scale.controller i )
- append selectedKeysTime_Scale keytime.frame
- append selectedKeys_Scale i
- deselectKey obj.scale.controller i
- )
- )
- --position
- for k=1 to selectedKeys_Pos.count do
- (
- newkeytime = fn_GetNewKeyTimeValue selectedKeysTime_Pos[k] modValue
- delta = (newkeytime - selectedKeysTime_Pos[k])
- selectKey obj.position.controller selectedKeys_Pos[k]
- moveKeys obj.position.controller delta #selection
- deselectKey obj.position.controller selectedKeys_Pos[k]
- format "Pos Keyframe: % got snapped to: % \n" selectedKeysTime_Pos[k] newkeytime
- )
- --rotation
- for k=1 to selectedKeys_Rot.count do
- (
- newkeytime = fn_GetNewKeyTimeValue selectedKeysTime_Rot[k] modValue
- delta = (newkeytime - selectedKeysTime_Rot[k])
- selectKey obj.rotation.controller selectedKeys_Rot[k]
- moveKeys obj.rotation.controller delta #selection
- deselectKey obj.rotation.controller selectedKeys_Rot[k]
- format "Rotation Keyframe: % got snapped to: % \n" selectedKeysTime_Rot[k] newkeytime
- )
- --scale
- for k=1 to selectedKeys_Scale.count do
- (
- newkeytime = fn_GetNewKeyTimeValue selectedKeysTime_Scale[k] modValue
- delta = (newkeytime - selectedKeysTime_Scale[k])
- selectKey obj.scale.controller selectedKeys_Scale[k]
- moveKeys obj.scale.controller delta #selection
- deselectKey obj.scale.controller selectedKeys_Scale[k]
- format "Scale Keyframe: % got snapped to: % \n" selectedKeysTime_Scale[k] newkeytime
- )
- )
- fn_SnapKeys $ 5
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement