1

Blender2.49で背景のワールドテクスチャを設定しようとしています。

テクスチャを作成しました:

import Blender 
from Blender import * 
import bpy 

world = World.GetCurrent() 
worldTex = Texture.New('worldTex') 
worldTex.setType('Image') 
worldIm = Image.Load('//blender_scene/tex/bg 001.jpg') 
worldIm.source = Image.Sources.SEQUENCE 
worldTex.setImage(worldIm)

ワールドに適用しようとすると、デフォルトでworld.texturesにNoneのタプルが含まれているため、エラーが発生します。したがって、これは機能しません。

world.textures[0].tex = worldTex

MTexインスタンスを取得できるように、マテリアルを作成しました。

worldMat = Material.New('WorldMat')
worldMat.setTexture(worldTex)

最初のテクスチャを設定しようとすると:

world.textures[0] = worldMat.textures[0]

すでに初期化されているタプルに値を割り当てることができないため、エラーがスローされます。

交換しようとすると:

world.textures = worldMat.textures

さらに別のエラーが発生します:

TypeError: expected tuple or list containing world MTex objects and NONE

worldMTex」オブジェクトは私に少し考えさせました。別の種類のMTexオブジェクトはありますか?世界のMTex?どこで定義されていますか、インスタンスを作成するにはどうすればよいですか?

または、タイトルにあるように...テクスチャを世界に設定するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

Blender2.5xにははるかに優れたPythonAPIがあります。ChristopherWebberによるPyConトークのこのビデオをご覧になることを強くお勧めします。

2.5x APIでのテクスチャの設定:

import bpy
# create new clouds texture
bpy.ops.texture.new()
t = bpy.data.textures[-1]
# set World texture
w = bpy.data.world['World']
slot = w.texture_slots.add()
slot.texture = t
slot.use_map_horizon = True
于 2011-04-09T12:31:47.493 に答える