Live2LOVE

LÖVE module to load and render Live2D Cubism 2 models.

Due to Live2D restrictions, this library must be compiled from source. Furthermore, source modification to LÖVE is needed for iOS and Android to package.preload this library.

Examples

If you have model definition file live2d/model.json

local Live2LOVE = require("Live2LOVE")
local model

function love.load()
	-- Live2LOVE fully respect love.filesystem
	-- so loading from fused game works out-of-the-box
	model = Live2LOVE.loadModel("live2d/model.json")
	model:setMotion("idle", "loop")
end

function love.draw()
	-- Model drawing also respects love.graphics
	-- state, so you can render model to Canvas (enable stencil bufffer!)
	-- or apply Shader to it. Furthermore, graphics transformation is also
	-- applied to the model.

	-- Push stack
	love.graphics.push("all")
	-- make the model cyan-masked, and 75% opaque
	love.graphics.setColor(0, 1, 1, 1, 0.75)
	-- Scale down the model by 50%
	love.graphics.scale(0.5, 0.5)
	-- Rotate it by 30 degrees
	love.graphics.rotate(math.pi/6)
	-- Move it to +300+200
	love.graphics.translate(300, 200)
	-- Draw the model
	model:draw()
	-- Pop stack
	love.graphics.pop()
end

Links

Other Languages