mdx-m3-viewer
Version:
A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.
96 lines (76 loc) • 2.68 kB
JavaScript
let m3Tests = {
name: 'm3',
tests: [
{
name: 'base',
load(viewer) {
return viewer.load('Assets/Units/Zerg/Baneling/Baneling.m3', sc2Solver);
},
test(viewer, scene, camera, model) {
camera.moveToAndFace([0, 5, 100], [0, 5, 0], [0, 1, 0]);
let instance = model.addInstance().uniformScale(50);
scene.addInstance(instance);
},
},
{
name: 'sequence',
load(viewer) {
return viewer.load('Assets/Units/Zerg/Baneling/Baneling.m3', sc2Solver);
},
test(viewer, scene, camera, model) {
camera.moveToAndFace([0, 5, 100], [0, 5, 0], [0, 1, 0]);
let instance = model.addInstance().uniformScale(50).setSequence(0);
instance.frame = 800;
scene.addInstance(instance);
},
},
{
name: 'team-color',
load(viewer) {
return viewer.load('Assets/Units/Zerg/Baneling/Baneling.m3', sc2Solver);
},
test(viewer, scene, camera, model) {
camera.moveToAndFace([0, 5, 100], [0, 5, 0], [0, 1, 0]);
let instance = model.addInstance().uniformScale(50).setTeamColor(1);
scene.addInstance(instance);
},
},
{
name: 'vertex-color',
load(viewer) {
return viewer.load('Assets/Units/Zerg/Baneling/Baneling.m3', sc2Solver);
},
test(viewer, scene, camera, model) {
camera.moveToAndFace([0, 5, 100], [0, 5, 0], [0, 1, 0]);
let instance = model.addInstance().uniformScale(50).setVertexColor([255, 0, 0, 255]);
scene.addInstance(instance);
},
},
{
name: 'vertex-and-team-colors',
load(viewer) {
return viewer.load('Assets/Units/Zerg/Baneling/Baneling.m3', sc2Solver);
},
test(viewer, scene, camera, model) {
camera.moveToAndFace([0, 5, 100], [0, 5, 0], [0, 1, 0]);
let instance = model.addInstance().uniformScale(50).setVertexColor([255, 0, 0, 255]).setTeamColor(1);
scene.addInstance(instance);
},
},
{
name: 'texture-overriding',
load(viewer) {
return viewer.load('Assets/Units/Zerg/Baneling/Baneling.m3', sc2Solver);
},
test(viewer, scene, camera, model) {
camera.moveToAndFace([0, 5, 140], [0, 5, 0], [0, 1, 0]);
let instance = model.addInstance().uniformScale(50).move([25, 0, 0]);
let instance2 = model.addInstance().uniformScale(50).move([-25, 0, 0]);
let material = model.materials[1][0];
instance.setTexture(material.layers[0].texture, material.layers[10].texture);
scene.addInstance(instance);
scene.addInstance(instance2);
},
},
],
};