Shade online フォーラム
ログイン
ユーザ名:

パスワード:

IDとパスワードを記憶

パスワード紛失


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◇ -  ◇ - ◇ - ◇ - ◇ 1. 押忍! CGスクリプト部 ◇ - ◇ - ◇ - ◇ - ◇
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

押忍!タルタルです。今回もスクリプトの文法はとりあえずスッ飛ばしてより
実践的な空手を、否!スクリプトを紹介します! 押忍!
今回はPoserのPythonスクリプトをご紹介します。

##ここから
##Poser6

import poser

scene = poser.Scene()
actor = scene.CurrentActor()

def get_current_all_key_frames(scene):
  current_frame = scene.Frame()
  KF = [0]
  scene.SetFrame(0)
  while scene.NextKeyFrame():
    KF.append(scene.NextKeyFrame())
    scene.SetFrame(scene.NextKeyFrame())

  scene.SetFrame(current_frame)
  return KF

parm = actor.ParameterByCode(poser.kParmCodeYROT)
current_frame = scene.Frame()
for i in  get_current_all_key_frames(scene):
  scene.SetFrame(i)
  parm.SetValue(parm.Value() + 5)
scene.SetFrame(current_frame)

scene.DrawAll()
##ここまで

機能:
選択したActorに対して、全てのKeyFrameにY回転を+5度します。この+5度は、
スクリプト内の以下の行の+5を変更することにより調整可能です。
parm.SetValue(parm.Value() + 5)

説明:
正面を向けてアニメーションを付けたあとで、全体の向きを変えたくなったと
きなどに使用すると便利です。

動作環境:
本スクリプトは以下の環境での動作を確認しています。
Poser 6 for Mac OS X / for Windows

一言:
今まで我がスクリプト部ではShadeのPython スクリプトを紹介していましたが、
今回初めてPoserのPython Scriptを取り扱いました。Shadeと同じくPoserにも
いろいろなメソッドが用意されています。
リファレンスをザッと読みましたがCALLBACK CODEも有るようです。順次実験
し、良いのが書けたら紹介したいと思います。

それでは失礼します。押忍!
【タルタル】