« 簡易キャプチャ! | トップページ | なんでもやってみよう »

2017年5月12日 (金)新しいツールで蛇使い 其の捌

おはようございます。本日の当番、モーションデザイナーのR.Iです。

本日もスクリプトの話をしたいと思います。

Pythonの外部モジュールに「xlrd」というものがあります。
任意でインストールしないと使えないのですが、インストールすることでPythonからエクセルファイルの内容にアクセスすることが可能になります。

テスト用に以下のようなエクセルファイルを作成しました。
2017_05_11_00

「motion_name」にゲームで使用される際のモーション名
「scene_name」にモーションデータを出力すためのデータ名
「start」にモーションの開始フレーム
「end」にモーションの終了フレーム

が記載されているものになります。
実際の仕事ではエクセルファイルがゲームに使用されるモーション名、それの詳細情報が記載されたデータとなっているわけです。

では、各セルの情報を取得するスクリプトを以下に書いてみます。

# -*- coding: utf-8 -*-
import xlrd

#エクセルファイルを取得
book = xlrd.open_workbook("パス名\\エクセルファイル.xlsx")

#エクセルファイル内にあるシートを取得
sheet = book.sheet_by_name("エクセルファイル内にあるシート名")

#シート内にある列の情報をリストで取得
motion_name_list = sheet.col_values(0)
scene_name_list = sheet.col_values(1)
start_frame_list = sheet.col_values(2)
end_frame_list = sheet.col_values(3)

print motion_name_list
print scene_name_list
print start_frame_list
print end_frame_list

取得されたデータはこんな感じ
[u'motion_name', u'motionA', u'motionB']
[u'scene_name', u'sceneA.ma', u'sceneB.ma']
[u'start', 0.0, 0.0]
[u'end', 32.0, 9.0]

頭は項目名なので、それ以外を情報として使います。

モーションを出力するスクリプトは
①「モーションデータを出力すためのデータ」を開く
②モーションの「開始フレーム」と「終了フレーム」を設定
③「モーション名」に記載されている名前をつけてモーションデータを出力する

※以降、全てのデータを書き出すまで①~③を繰り返す

というような挙動を想定しておき、情報を渡せば、自動でほしいデータを出力してくれます。
こうしておけば、モーションの作成に時間を使えますし、席を離れる時などにスクリプトを実行することで時間を無駄にせず、モーションの出力を行うことが可能です。

「xlrd」の情報は結構、ネット上にありますので、調べやすいです。
昔「win32com」という外部モジュールを使い、エクセルファイルにアクセスしたことがありますが、「xlrd」の方がシンプルでわかりやすく、扱いやすかったです。
ただ、エクセルファイル専用なので、PhotoShopなどにアクセスする際は他の手段が必要です。

このような外部モジュールを使うことで、作業をより効率的に行えるのはPythonの強みです。
小さいことかもしれませんが、このような仕組みを考えたり、実装することはとてもワクワクします。

今後も興味を持って、日々精進していきたいと思います。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/05/post-6283.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« 簡易キャプチャ! | トップページ | なんでもやってみよう »

モーションデザイナー」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 新しいツールで蛇使い 其の捌:

« 簡易キャプチャ! | トップページ | なんでもやってみよう »