【Defold】モデルにテクスチャを設定する
アプリケーション実行中にモデルにテクスチャを設定する方法です。
目次
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 では無い点に注意です。こちらで指定してもエラーが出ます。