mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-13 16:25:44 +02:00
wip
This commit is contained in:
@@ -194,12 +194,12 @@ class ModelManager {
|
||||
}
|
||||
this.bakedMeshes = [];
|
||||
|
||||
const childMeshes = this.root.getChildMeshes().filter(m => !m.name.includes('__TOP__') && !m.name.includes('__SIDE__') && !m.name.includes('__COLLISION__'));
|
||||
const childMeshes = this.root.getChildMeshes().filter(m => m.isVisible && !m.name.includes('__TOP__') && !m.name.includes('__SIDE__') && !m.name.includes('__COLLISION__'));
|
||||
|
||||
const _toMerge = [] as BABYLON.Mesh[];
|
||||
for (const mesh of childMeshes) {
|
||||
let fixedMesh = mesh;
|
||||
fixedMesh.isVisible = false;
|
||||
fixedMesh.setEnabled(false);
|
||||
|
||||
if (mesh instanceof BABYLON.InstancedMesh) {
|
||||
const sourceMesh = mesh.sourceMesh;
|
||||
@@ -214,7 +214,7 @@ class ModelManager {
|
||||
}
|
||||
newMesh.scaling = mesh.scaling.clone();
|
||||
newMesh.parent = mesh.parent;
|
||||
newMesh.isVisible = false;
|
||||
newMesh.setEnabled(false);
|
||||
|
||||
fixedMesh = newMesh;
|
||||
}
|
||||
|
||||
@@ -33,25 +33,27 @@ export const wallShelf = defineObject({
|
||||
},
|
||||
},
|
||||
placement: 'side',
|
||||
createInstance: ({ model, options, root }) => {
|
||||
createInstance: ({ model, options }) => {
|
||||
const applyStyle = () => {
|
||||
const aMeshes = root.getChildMeshes().filter(m => m.name.includes('__X_VARIATION_A__'));
|
||||
const bMeshes = root.getChildMeshes().filter(m => m.name.includes('__X_VARIATION_B__'));
|
||||
const cMeshes = root.getChildMeshes().filter(m => m.name.includes('__X_VARIATION_C__'));
|
||||
const dMeshes = root.getChildMeshes().filter(m => m.name.includes('__X_VARIATION_D__'));
|
||||
const aMeshes = model.findMeshes('__X_VARIATION_A__');
|
||||
const bMeshes = model.findMeshes('__X_VARIATION_B__');
|
||||
const cMeshes = model.findMeshes('__X_VARIATION_C__');
|
||||
const dMeshes = model.findMeshes('__X_VARIATION_D__');
|
||||
|
||||
for (const m of aMeshes) {
|
||||
(m as BABYLON.Mesh).setEnabled(options.style === 'A');
|
||||
m.isVisible = options.style === 'A';
|
||||
}
|
||||
for (const m of bMeshes) {
|
||||
(m as BABYLON.Mesh).setEnabled(options.style === 'B');
|
||||
m.isVisible = options.style === 'B';
|
||||
}
|
||||
for (const m of cMeshes) {
|
||||
(m as BABYLON.Mesh).setEnabled(options.style === 'C');
|
||||
m.isVisible = options.style === 'C';
|
||||
}
|
||||
for (const m of dMeshes) {
|
||||
(m as BABYLON.Mesh).setEnabled(options.style === 'D');
|
||||
m.isVisible = options.style === 'D';
|
||||
}
|
||||
|
||||
model.updated();
|
||||
};
|
||||
|
||||
applyStyle();
|
||||
|
||||
Reference in New Issue
Block a user