1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-05-20 02:25:41 +02:00

collision

This commit is contained in:
syuilo
2026-04-14 10:43:40 +09:00
parent 02eb8cfe1c
commit 240c055b45
66 changed files with 111 additions and 20 deletions

View File

@@ -21,6 +21,7 @@ export const a4Case = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model }) => {
const bodyMesh = model.findMesh('__X_BODY__');
const bodyMaterial = bodyMesh.material as BABYLON.PBRMaterial;

View File

@@ -13,6 +13,7 @@ export const aircon = defineObject({
default: {},
},
placement: 'wall',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -14,6 +14,7 @@ export const aquarium = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: ({ scene, root }) => {
return {
onInited: () => {

View File

@@ -26,6 +26,7 @@ export const aromaReedDiffuser = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model }) => {
const bottleMesh = model.findMesh('__X_BOTTLE__');
const bottleMaterial = bottleMesh.material as BABYLON.PBRMaterial;

View File

@@ -13,6 +13,7 @@ export const banknote = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -14,6 +14,7 @@ export const beamLamp = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: ({ room, root, scene }) => {
return {
onInited: () => {

View File

@@ -40,6 +40,7 @@ export const blind = defineObject({
},
},
placement: 'bottom',
noCollisions: true,
createInstance: ({ options, model }) => {
const temp = createOverridedStates({
angle: () => options.angle,

View File

@@ -45,6 +45,7 @@ export const book = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model }) => {
const bodyMesh = model.findMesh('__X_BODY__');

View File

@@ -22,6 +22,7 @@ export const books = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ scene, options, model }) => {
const coverMaterial = model.findMaterial('__X_COVER__');

View File

@@ -21,6 +21,7 @@ export const cactusS = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model }) => {
const potMesh = model.findMesh('__X_POT__');
const potMaterial = potMesh.material as BABYLON.PBRMaterial;

View File

@@ -14,6 +14,7 @@ export const ceilingFanLight = defineObject({
default: {},
},
placement: 'ceiling',
noCollisions: true,
receiveShadows: false,
castShadows: false,
createInstance: ({ scene, model }) => {

View File

@@ -13,6 +13,7 @@ export const coffeeCup = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -15,6 +15,7 @@ export const cupNoodle = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: ({ scene, root }) => {
let yugeDispose: (() => void) | null = null;

View File

@@ -13,6 +13,7 @@ export const custardPudding = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const djMixer = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -36,6 +36,7 @@ export const djPlayer = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: async ({ model, options, scene }) => {
const screenMesh = model.findMesh('__X_SCREEN__');
const screenMaterial = model.findMaterial('__X_SCREEN__');

View File

@@ -13,6 +13,7 @@ export const ductTape = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const emptyBento = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const energyDrink = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const envelope = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const facialTissue = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const hangingTShirt = defineObject({
default: {},
},
placement: 'side',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const icosahedron = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const keyboard = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -54,6 +54,7 @@ export const laptopPc = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: async ({ room, scene, options, model }) => {
const matrix = model.root.getWorldMatrix(true);
const scale = new BABYLON.Vector3();

View File

@@ -13,6 +13,7 @@ export const lavaLamp = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: ({ room, scene, root }) => {
return {
onInited: () => {

View File

@@ -13,6 +13,7 @@ export const miPlate = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const miPlateDisplayed = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const milk = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const mixer = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -21,6 +21,7 @@ export const monitorSpeaker = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model }) => {
const bodyMesh = model.findMesh('__X_BODY__');
const bodyMaterial = bodyMesh.material as BABYLON.PBRMaterial;

View File

@@ -13,6 +13,7 @@ export const monstera = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -15,6 +15,7 @@ export const mug = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: ({ scene, root }) => {
let yugeDispose: (() => void) | null = null;

View File

@@ -21,6 +21,7 @@ export const newtonsCradle = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model }) => {
const frameMaterial = model.findMaterial('__X_FRAME__');

View File

@@ -26,6 +26,7 @@ export const petBottle = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ model, options }) => {
const capMesh = model.findMesh('__X_CAP__');
const liquidMesh = model.findMesh('__X_LIQUID__');

View File

@@ -83,6 +83,7 @@ export const pictureFrame = defineObject({
},
},
placement: 'side',
noCollisions: true,
createInstance: async ({ scene, options, model }) => {
const frameMesh = model.findMesh('__X_FRAME__');
frameMesh.rotationQuaternion = null;

View File

@@ -13,6 +13,7 @@ export const pizza = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const plant = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -48,6 +48,7 @@ export const poster = defineObject({
},
},
placement: 'side',
noCollisions: true,
createInstance: async ({ scene, options, model }) => {
const pictureMesh = model.findMesh('__X_PICTURE__');
pictureMesh.rotationQuaternion = null;

View File

@@ -13,6 +13,7 @@ export const powerStrip = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -14,6 +14,7 @@ export const radiometer = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: ({ scene, model }) => {
const vanes = model.findTransformNode('__X_VANES__');
model.bakeExcludeMeshes = [...vanes.getChildMeshes()];

View File

@@ -42,6 +42,7 @@ export const randomBooks = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model, scene, id }) => {
const bodyMesh = model.findMesh('__X_BODY__');
const tex = new BABYLON.Texture('/client-assets/room/objects/random-books/texture.png', scene, {

View File

@@ -13,6 +13,7 @@ export const rolledUpPoster = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const roundRug = defineObject({
default: {},
},
placement: 'floor',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const router = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const siphon = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const snakeplant = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -26,6 +26,7 @@ export const speaker = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model }) => {
const outerMesh = model.findMesh('__X_COVER__');
const outerMaterial = outerMesh.material as BABYLON.PBRMaterial;

View File

@@ -13,6 +13,7 @@ export const sprayer = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const tabletopCalendar = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -33,6 +33,7 @@ export const tabletopDigitalClock = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ root, room, options, model, scene }) => {
const light = new BABYLON.SpotLight('', new BABYLON.Vector3(0, 3/*cm*/, 1/*cm*/), new BABYLON.Vector3(0, 0, 1), Math.PI / 1, 2, scene, room?.lightContainer != null);
light.parent = root;

View File

@@ -28,6 +28,7 @@ export const tabletopFlag = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: async ({ model, options, scene }) => {
const flagMesh = model.findMesh('__X_FLAG__');
const flagMaterial = model.findMaterial('__X_FLAG__');

View File

@@ -48,6 +48,7 @@ export const tabletopGlassPictureFrame = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: async ({ scene, options, model }) => {
const pictureMesh = model.findMesh('__X_PICTURE__');
const frameMesh = model.findMesh('__X_FRAME__');

View File

@@ -50,6 +50,7 @@ export const tabletopIronFrameStand = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: ({ options, model }) => {
const frameMaterial = model.findMaterial('__X_FRAME__');
const boardMaterial = model.findMaterial('__X_BOARD__');

View File

@@ -83,6 +83,7 @@ export const tabletopPictureFrame = defineObject({
},
},
placement: 'top',
noCollisions: true,
createInstance: async ({ scene, options, model }) => {
const frameMesh = model.findMesh('__X_FRAME__');
frameMesh.rotationQuaternion = null;

View File

@@ -48,6 +48,7 @@ export const tapestry = defineObject({
},
},
placement: 'side',
noCollisions: true,
createInstance: async ({ scene, options, model }) => {
const pictureMesh = model.findMesh('__X_PICTURE__');
pictureMesh.rotationQuaternion = null;

View File

@@ -13,6 +13,7 @@ export const tetrapod = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const twistedCubeObjet = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -13,6 +13,7 @@ export const usedTissue = defineObject({
default: {},
},
placement: 'top',
noCollisions: true,
createInstance: () => {
return {
interactions: {},

View File

@@ -44,6 +44,7 @@ export const wallCanvas = defineObject({
},
},
placement: 'side',
noCollisions: true,
createInstance: async ({ scene, options, model }) => {
const canvasMesh = model.findMesh('__X_CANVAS__');
canvasMesh.rotationQuaternion = null;

View File

@@ -21,6 +21,7 @@ export const wallClock = defineObject({
},
},
placement: 'side',
noCollisions: true,
createInstance: ({ room, root, options, model }) => {
const hourHand = model.findMesh('HandH');
const minuteHand = model.findMesh('HandM');

View File

@@ -48,6 +48,7 @@ export const wallGlassPictureFrame = defineObject({
},
},
placement: 'wall',
noCollisions: true,
createInstance: async ({ scene, options, model }) => {
const pictureMesh = model.findMesh('__X_PICTURE__');
const frameMesh = model.findMesh('__X_FRAME__');

View File

@@ -45,6 +45,7 @@ export const wallMirror = defineObject({
},
},
placement: 'side',
noCollisions: true,
createInstance: async ({ options, model }) => {
const frameMaterial = model.findMaterial('__X_FRAME__');
const frameMesh = model.findMesh('__X_FRAME__');

View File

@@ -51,6 +51,7 @@ export const woodRingsPendantLight = defineObject({
},
},
placement: 'ceiling',
noCollisions: true,
createInstance: ({ room, scene, options, model }) => {
const shadeMaterial = model.findMaterial('__X_SHADE__');

View File

@@ -13,6 +13,7 @@ export const woodSoundAbsorbingPanel = defineObject({
default: {},
},
placement: 'side',
noCollisions: true,
createInstance: () => {
return {
interactions: {},