マテリアルの削除

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/5/31 14:54
七篠  半人前 居住地: チバラギ  投稿数: 37
こんにちは。

不要なマテリアルをスクリプトで削除したいのですが、上手くいきません。

参照されていると削除されないとのことらしいので、clearScriptLink やNone をリストにしたものを setMaterials に渡してやってみたのですが、効果がありませんでした。

解決策をご存知の方、いらっしゃいましたらアドバイスいただけると幸いです(スクリプトの現状をアップしておきます。pyファイルをアップしようと思ったのですが、上手くいかなかったのでソースをそのまま貼り付けました)。



import Blender
from Blender import *

material_name_list = []
materials = []
for i in xrange(16):
materials.append(None)

scene = Blender.Scene.GetCurrent()
meshes = [ob for ob in scene.objects if ob.type == 'Mesh']

# ----------------------------------
# get unused materials
# return list of Material
# ----------------------------------
def getUnusedMaterials(meshes):
# get all materials
allMats = Material.Get()
for material in allMats:
material.clearScriptLinks()
material_name_list.append(material.name)

print "hoge"

for mesh in meshes:
print mesh.getData().materials
mesh.setMaterials(materials)
# mesh.clearScriptLinks(material_name_list)
mesh.clearScriptLinks()
print mesh.getData().materials

print "fga"

return allMats

# ----------------------------------
# delete links from materials
# !incomplete(node links etc)!
# ----------------------------------
def deleteLinks(materials):
for mat in materials:
mat.clearIpo()
mat.clearScriptLinks()
for i in range(9):
mat.clearTexture(i)


# ----------------------------------
# execute
# ----------------------------------

mats = getUnusedMaterials(meshes)
print mats
deleteLinks(mats)

投票数:5 平均点:6.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/5/31 15:25
uimac  常連   投稿数: 49
残念ながら、Nodeとかもあるので、スクリプトからだと完全には無理だと思います。
投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/6/21 13:39
七篠  半人前 居住地: チバラギ  投稿数: 37
お返事ありがとうございます。

> 残念ながら、Nodeとかもあるので、スクリプトからだと完全には無理だと思います。

いつかそのような機能が追加されるといいですね。
投票数:4 平均点:5.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki