allow separation of 3d file into individual meshes

This commit is contained in:
2026-04-08 11:16:24 +03:00
parent 4aa9bcdbd6
commit 8d9c7216c3
5 changed files with 14 additions and 4 deletions
+1 -2
View File
@@ -213,7 +213,6 @@ export default {
},
selectObject(oid){
console.log('Selecting object', oid)
this.currentObject = this.flatObjects[oid]?.value;
this.selectedObject = [oid];
engine.transformControls.attach(this.currentObject.__o);
@@ -226,7 +225,7 @@ export default {
targetClick(e){
if (performance.now() - this.pointerDownTime < 200){
let intersects = engine.intersect(e, this.$refs.target, engine.activeObjects.children, true);
let intersects = engine.intersect(e, this.$refs.target, this.flatObjects.map(o=>o.value.__o), true);
if (intersects.length){
this.selectObject(intersects[0].object.__pn_id)
}else{
@@ -8,6 +8,15 @@ class GenericObject extends EventManager{
this.source = await engine.load(data.$go.asset.name);
this.object = engine.meshUtils.bottomOrigin(this.source.scene)
if (data.asIndividuals){
this.object.hasIndividualChildren = true;
this.source.scene.traverse(o=>{
if (o.isMesh){
o.isIndividual = true;
}
})
}
if (!data.exclude){
engine.clickable.add(this.object, async e=>{
this.object.__onhud = !this.object.__onhud;
@@ -8,6 +8,8 @@
<v-textarea :label="l.description" v-model="modelValue.description" class="mt-3"></v-textarea>
<v-checkbox density="compact" v-model="modelValue.hud" hide-details :label="l.viewInHUD"></v-checkbox>
<v-checkbox density="compact" v-model="modelValue.exclude" hide-details :label="l.disableInteractions"></v-checkbox>
<v-checkbox density="compact" v-model="modelValue.asIndividuals" hide-details label="asIndividuals(experimental)"></v-checkbox>
<v-select :label="l.collisionType" v-model="modelValue.collisionType" density="compact" hide-details
:items="collisionTypes"></v-select>
<v-img :src="`/asset/thumb/${modelValue.go}.webp`" />