ゲーム開発ではデータの容量をとても気します。
モデリングに入る前に「ココは総量〇〇サイズに収めて作ってください」とか。
今回はMAYAで作成するモデルの総容量の中で以外に大きな割合のサイズになる
テクスチャーファイルのサイズをPythonスクリプトで取得する方法を紹介します。
|
index
選択したテクスチャーファイルの縦横の大きさをPythonで取得する
import maya.cmds as cmds
selected_file = cmds.ls(type="file")
file_size = cmds.getAttr(selected_file[0] + ".outSize")
print(file_size)
selected_file = cmds.ls(type="file")
cmds.ls(sl=True)ではなくTypeを”file”と指定してセレクトしています。
出力結果:
[(512.0, 512.0)]
x と y の大きさが出力されました。
x と y の値を個別に取得する事が出来ます。
import maya.cmds as cmds
selected_file = cmds.ls(type="file")
file_sizeX = cmds.getAttr(selected_file[0] + ".outSizeX")
file_sizeY = cmds.getAttr(selected_file[0] + ".outSizeY")
print(file_sizeX)
print(file_sizeY)
出力結果:
512.0
512.0
512.0
x と y の値が個別に出力されました。
選択したfileのテクスチャーのファイルパスをPythonで取得する
import maya.cmds as cmds
selected_file = cmds.ls(type="file")
filename = cmds.getAttr(selected_file[0] + ".fileTextureName")
print(filename)
出力結果:
D:/maya/projects/New_Project/sourceimages/lj_icon.png
テクスチャーファイルのファイルパスを取得することが出来ました。
パスを取得できたので
ファイル名のみ、ディレクトリパスのみ
に分ける事も出来ます。
import maya.cmds as cmds
import os
selected_file = cmds.ls(type="file")
filename = cmds.getAttr(selected_file[0] + ".fileTextureName")
print(os.path.basename(filename))
print(os.path.dirname(filename))
出力結果:
lj_icon.png
D:/maya/projects/New_Project/sourceimages
D:/maya/projects/New_Project/sourceimages
テクスチャーファイル名 と ディレクトリパスに分けることができました。
|
Pythonの osモジュール でテクスチャーファイルのbyteサイズを取得する
osモジュールを使うと テクスチャーファイルのサイズを取得できます。
import maya.cmds as cmds
import os
selected_file = cmds.ls(type="file")
filename = cmds.getAttr(selected_file[0] + ".fileTextureName")
file_byte_size = os.path.getsize(filename)
print(file_byte_size)
出力結果
8739
8739byteと出力されました。
これでテクスチャーファイルが容量を圧迫しているか等を調べることが出来ます。
|
まとめ
テクスチャーファイルの縦横の大きさを取得するには
cmds.getAttr(“file名.outSize”)
テクスチャーファイルのbyteサイズを取得するには
import os
filename = cmds.getAttr(“fil名.fileTextureName”)
os.path.getsize(filename)
cmds.getAttr(“file名.outSize”)
テクスチャーファイルのbyteサイズを取得するには
import os
filename = cmds.getAttr(“fil名.fileTextureName”)
os.path.getsize(filename)
MAYAのスクリプトでテクスチャーファイルの情報を取得する事が出来ました。
Pythonスクリプトだとファイルの作成日や更新日など更に多くの情報を簡単に取得できて通常のPythonと同じ様に扱えます。
この部分がMAYAスクリプトをPythonで書く利点の一つではないでしょうか。
|
最新のゲーミングPCが安く手に入れられる「 FRONTIER 」
豊富なカスタマイズメニューで、あなた好みの1台が購入できます。
人気の秘密は何と言ってもコスパの高さ。
最新のCPU・GPUパーツを搭載したモデルを驚きの価格で提供。
山口県の自社工場で組み立てられ徹底した試験・検査後に出荷。
無償修理サービスもありサポート体制も安心。
コスパに徹底的にこだわる方は公式サイトへ >> 【FRONTIER】
豊富なカスタマイズメニューで、あなた好みの1台が購入できます。
人気の秘密は何と言ってもコスパの高さ。
最新のCPU・GPUパーツを搭載したモデルを驚きの価格で提供。
山口県の自社工場で組み立てられ徹底した試験・検査後に出荷。
無償修理サービスもありサポート体制も安心。
コスパに徹底的にこだわる方は公式サイトへ >> 【FRONTIER】
|
|
BTOパソコンの草分け的ブランドFRONTIER(フロンティア) 3DCG/動画編集/ゲーム用途に合わせてCPUやGPUなどパーツを自由に選べてコスパにもこだわる方にオススメ。 |
おすすめの関連記事
|
|
|
|
|
あわせてよく読まれている記事