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

パスワード:

IDとパスワードを記憶

パスワード紛失


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◇ - ◇ - ◇ - ◇ -   2. CGスクリプト部   - ◇ - ◇ - ◇ - ◇ 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

押忍!タルタルです。今回もスクリプトの文法はとりあえずスッ飛ばしてより
実践的な空手を、否!スクリプトを紹介します! 押忍!
今回はPoserのFigureファイル(cr2ファイル)をバッチレンダリングしてみます。

##ここから
import poser
import os
import glob

def is_CR2(f):
  return os.path.splitext(f)[-1] == ".cr2"

scene = poser.Scene()

getFigureDir = poser.DialogDirChooser(message="Choose Folder", startDir="nothing")
if (getFigureDir.Show()):
  FigureDir =  getFigureDir.Path()

getImageSaveDir = poser.DialogDirChooser(message="Choose Folder", startDir="nothing")
if (getImageSaveDir.Show()):
  ImageSaveDir =  getImageSaveDir.Path()

ext = "jpg"

Files = os.listdir(FigureDir)
Cr2Files = filter(is_CR2, Files)
for i in Cr2Files:
  scene.LoadLibraryFigure(os.path.join(FigureDir , i))
  scene.Render()
  scene.SaveImage(ext, os.path.join(ImageSaveDir, os.path.splitext(os.path.split(i)[-1])[0] + "." + ext))
  scene.DeleteCurrentFigure()

##ここまで

使い方:
まず、元になるシーンを準備します。
本スクリプトを実行すると、フォルダ選択ダイアログボックスが2回でます。
最初のダイアログボックスでcr2ファイルのあるフォルダを選択してください。
2回目に出るダイアログボックスでレンダリングイメージを保存してください。

注意:
保存する画像フォーマットを変更したい場合には
ext = "jpg"
部分を変更してください。
なお、スクリプトで対応していない画像フォーマットの拡張子を指定すると、
画像は正しく保存されません。

本スクリプトはPoser 6 for Macintsh / Windowsで動作確認しています。

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