【Defold】モデルにテクスチャを設定する

Defold, DEVELOP

アプリケーション実行中にモデルにテクスチャを設定する方法です。

目次

go.property() にセットされているテクスチャを設定する

go.property("texture", resource.texture())
 
local function setup()
    go.set("#model", "texture0", self.texture)
end

動的に読み込んだテクスチャを設定する

この場合 imageloader アセットを使用すると便利です。

local data = sys.load_resource('/res/image.png')
 
local image_resource = imageloader.load{
	data = data
}
 
resource.set_texture(go.get('#model', 'texture0'), image_resource.header, image_resource.buffer)

プロパティ名 “texture0″。どこで確認できる?

go ファイルをテキストエディタで開くと “textures" キーがあります。この記述があるとテクスチャが設定できます。

上記の場合は “textures" キーが2か所あります。この場合上から順に “texure0", “texure1" となっています。決して material の Name では無い点に注意です。こちらで指定してもエラーが出ます。

お知らせ

Posted by kazupon