Model viewer working with all default pack models
This commit is contained in:
@@ -202,13 +202,24 @@
|
||||
var origin = c.origin || [0, 0, 0];
|
||||
var size = c.size || [1, 1, 1];
|
||||
var cRot = (c.rotation || [0, 0, 0]).map(function (d) { return -d * DEG; });
|
||||
var hasRot = !!(c.rotation && (c.rotation[0] || c.rotation[1] || c.rotation[2]));
|
||||
// Blockbench cubes rotate around their own pivot (fall back to origin).
|
||||
var cPivot = hasRot ? (c.pivot || origin) : origin;
|
||||
var center = [
|
||||
origin[0] + size[0] / 2,
|
||||
origin[1] + size[1] / 2,
|
||||
origin[2] + size[2] / 2,
|
||||
];
|
||||
var cubeWorld = multiply(
|
||||
world,
|
||||
multiply(
|
||||
translation(origin[0], origin[1], origin[2]),
|
||||
translation(cPivot[0], cPivot[1], cPivot[2]),
|
||||
multiply(
|
||||
rotationXYZ(cRot[0], cRot[1], cRot[2]),
|
||||
translation(size[0] / 2, size[1] / 2, size[2] / 2)
|
||||
multiply(
|
||||
translation(-cPivot[0], -cPivot[1], -cPivot[2]),
|
||||
translation(center[0], center[1], center[2])
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user