mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-06-25 17:10:43 +00:00
wip
This commit is contained in:
parent
83a4281a30
commit
a201f72c8a
33 changed files with 150 additions and 119 deletions
|
|
@ -44,8 +44,9 @@ export const lowPartitionBar = defineObject({
|
|||
|
||||
const applySize = () => {
|
||||
for (const mesh of model.root.getChildMeshes()) {
|
||||
if (mesh.morphTargetManager != null && mesh.morphTargetManager.getTargetByName('W') != null) {
|
||||
mesh.morphTargetManager.getTargetByName('W').influence = options.width;
|
||||
const widthTarget = mesh.morphTargetManager?.getTargetByName('W');
|
||||
if (widthTarget != null) {
|
||||
widthTarget.influence = options.width;
|
||||
}
|
||||
}
|
||||
model.updated();
|
||||
|
|
@ -54,7 +55,7 @@ export const lowPartitionBar = defineObject({
|
|||
applySize();
|
||||
|
||||
return {
|
||||
onOptionsUpdated: ([k, v]) => {
|
||||
onOptionsUpdated: ([k]) => {
|
||||
switch (k) {
|
||||
case 'bodyMat': applyBodyMat(); break;
|
||||
case 'width': applySize(); break;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ export const piano = defineObject({
|
|||
applyBodyMat();
|
||||
|
||||
return {
|
||||
onOptionsUpdated: ([k, v]) => {
|
||||
onOptionsUpdated: () => {
|
||||
applyBodyMat();
|
||||
},
|
||||
interactions: {},
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ export const sofa = defineObject({
|
|||
applyBodyMat();
|
||||
|
||||
return {
|
||||
onOptionsUpdated: ([k, v]) => {
|
||||
onOptionsUpdated: () => {
|
||||
applyBodyMat();
|
||||
},
|
||||
interactions: {},
|
||||
|
|
|
|||
|
|
@ -5,19 +5,20 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const speaker = defineObject({
|
||||
id: 'speaker',
|
||||
name: 'Speaker',
|
||||
name: i18n.ts._miRoom._objects.speaker,
|
||||
options: {
|
||||
schema: {
|
||||
outerMat: {
|
||||
type: 'material',
|
||||
label: 'Outer Material',
|
||||
label: i18n.ts._miRoom._objects._speaker.outerMat,
|
||||
},
|
||||
innerMat: {
|
||||
type: 'material',
|
||||
label: 'Inner Material',
|
||||
label: i18n.ts._miRoom._objects._speaker.innerMat,
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -5,19 +5,20 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const speakerStand = defineObject({
|
||||
id: 'speakerStand',
|
||||
name: 'speakerStand',
|
||||
name: i18n.ts._miRoom._objects.speakerStand,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'Body material',
|
||||
label: i18n.ts._miRoom._objects._speakerStand.bodyMat,
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'height',
|
||||
label: i18n.ts._miRoom._objects._speakerStand.height,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
|
|
|
|||
|
|
@ -7,30 +7,31 @@ import * as BABYLON from '@babylonjs/core';
|
|||
import { defineObject } from '../object.js';
|
||||
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';
|
||||
import { cm, remap, WORLD_SCALE } from '@/world/utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const spotLight = defineObject({
|
||||
id: 'spotLight',
|
||||
name: 'spotLight',
|
||||
name: i18n.ts._miRoom._objects.spotLight,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'Body material',
|
||||
label: i18n.ts._miRoom._objects._spotLight.bodyMat,
|
||||
},
|
||||
light: {
|
||||
type: 'light',
|
||||
label: 'Light',
|
||||
label: i18n.ts._miRoom._objects._spotLight.light,
|
||||
},
|
||||
angleV: {
|
||||
type: 'range',
|
||||
label: 'Vertical angle',
|
||||
label: i18n.ts._miRoom._objects._spotLight.angleV,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
angleH: {
|
||||
type: 'range',
|
||||
label: 'Horizontal angle',
|
||||
label: i18n.ts._miRoom._objects._spotLight.angleH,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
*/
|
||||
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const sprayer = defineObject({
|
||||
id: 'sprayer',
|
||||
name: '霧吹き',
|
||||
name: i18n.ts._miRoom._objects.sprayer,
|
||||
options: {
|
||||
schema: {},
|
||||
default: {},
|
||||
|
|
|
|||
|
|
@ -5,19 +5,20 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const stanchionPole = defineObject({
|
||||
id: 'stanchionPole',
|
||||
name: 'stanchionPole',
|
||||
name: i18n.ts._miRoom._objects.stanchionPole,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'Body material',
|
||||
label: i18n.ts._miRoom._objects._stanchionPole.bodyMat,
|
||||
},
|
||||
ropeMat: {
|
||||
type: 'material',
|
||||
label: 'Rope material',
|
||||
label: i18n.ts._miRoom._objects._stanchionPole.ropeMat,
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -6,111 +6,112 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { cm, remap } from '@/world/utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const steelRack = defineObject({
|
||||
id: 'steelRack',
|
||||
name: 'steelRack',
|
||||
name: i18n.ts._miRoom._objects.steelRack,
|
||||
options: {
|
||||
schema: {
|
||||
shelfMat: {
|
||||
type: 'material',
|
||||
label: 'Shelf material',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelfMat,
|
||||
},
|
||||
poleMat: {
|
||||
type: 'material',
|
||||
label: 'Pole material',
|
||||
label: i18n.ts._miRoom._objects._steelRack.poleMat,
|
||||
},
|
||||
widthAndDepthVariation: {
|
||||
type: 'enum',
|
||||
label: 'W x D',
|
||||
label: i18n.ts._miRoom._objects._steelRack.widthAndDepthVariation,
|
||||
enum: [{
|
||||
label: '60 x 35',
|
||||
label: i18n.ts._miRoom._objects._steelRack['widthAndDepthVariation:60-35'],
|
||||
value: '60-35',
|
||||
}, {
|
||||
label: '90 x 35',
|
||||
label: i18n.ts._miRoom._objects._steelRack['widthAndDepthVariation:90-35'],
|
||||
value: '90-35',
|
||||
}],
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'Height',
|
||||
label: i18n.ts._miRoom._objects._steelRack.height,
|
||||
min: 1,
|
||||
max: 7,
|
||||
step: 1,
|
||||
},
|
||||
numberOfShelfs: {
|
||||
type: 'range',
|
||||
label: '# of shelfs',
|
||||
label: i18n.ts._miRoom._objects._steelRack.numberOfShelfs,
|
||||
min: 2,
|
||||
max: 10,
|
||||
step: 1,
|
||||
},
|
||||
shelf1Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf1 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf1Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf2Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf2 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf2Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf3Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf3 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf3Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf4Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf4 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf4Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf5Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf5 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf5Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf6Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf6 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf6Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf7Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf7 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf7Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf8Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf8 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf8Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf9Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf9 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf9Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
shelf10Position: {
|
||||
type: 'range',
|
||||
label: 'Shelf10 position',
|
||||
label: i18n.ts._miRoom._objects._steelRack.shelf10Position,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
*/
|
||||
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const stormGlass = defineObject({
|
||||
id: 'stormGlass',
|
||||
name: 'stormGlass',
|
||||
name: i18n.ts._miRoom._objects.stormGlass,
|
||||
options: {
|
||||
schema: {},
|
||||
default: {},
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
*/
|
||||
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const tableSalt = defineObject({
|
||||
id: 'tableSalt',
|
||||
name: 'tableSalt',
|
||||
name: i18n.ts._miRoom._objects.tableSalt,
|
||||
options: {
|
||||
schema: {},
|
||||
default: {},
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
*/
|
||||
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const tabletopCalendar = defineObject({
|
||||
id: 'tabletopCalendar',
|
||||
name: 'Tabletop Calendar',
|
||||
name: i18n.ts._miRoom._objects.tabletopCalendar,
|
||||
options: {
|
||||
schema: {},
|
||||
default: {},
|
||||
|
|
|
|||
|
|
@ -6,19 +6,20 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { cm, get7segMeshesOfCurrentTime, WORLD_SCALE } from '@/world/utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const tabletopDigitalClock = defineObject({
|
||||
id: 'tabletopDigitalClock',
|
||||
name: 'Tabletop Digital Clock',
|
||||
name: i18n.ts._miRoom._objects.tabletopDigitalClock,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'Body Material',
|
||||
label: i18n.ts._miRoom._objects._tabletopDigitalClock.bodyMat,
|
||||
},
|
||||
lcdColor: {
|
||||
type: 'color',
|
||||
label: 'LCD Color',
|
||||
label: i18n.ts._miRoom._objects._tabletopDigitalClock.lcdColor,
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -6,15 +6,16 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { createTextureManager, defineObject } from '../object.js';
|
||||
import { createPlaneUvMapper } from '../../utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const tabletopFlag = defineObject({
|
||||
id: 'tabletopFlag',
|
||||
name: 'Tabletop flag',
|
||||
name: i18n.ts._miRoom._objects.tabletopFlag,
|
||||
options: {
|
||||
schema: {
|
||||
image: {
|
||||
type: 'image',
|
||||
label: 'Image',
|
||||
label: i18n.ts._miRoom._objects._tabletopFlag.image,
|
||||
presets: [],
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { createTextureManager, defineObject } from '../object.js';
|
||||
import { createPlaneUvMapper, getPlaneUvIndexes } from '../../utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
const remap = (value: number, fromMin: number, fromMax: number, toMin: number, toMax: number) => {
|
||||
return toMin + ((value - fromMin) / (fromMax - fromMin)) * (toMax - toMin);
|
||||
|
|
@ -13,26 +14,26 @@ const remap = (value: number, fromMin: number, fromMax: number, toMin: number, t
|
|||
|
||||
export const tabletopGlassPictureFrame = defineObject({
|
||||
id: 'tabletopGlassPictureFrame',
|
||||
name: 'tabletopGlassPictureFrame',
|
||||
name: i18n.ts._miRoom._objects.tabletopGlassPictureFrame,
|
||||
options: {
|
||||
schema: {
|
||||
width: {
|
||||
type: 'range',
|
||||
label: 'Width',
|
||||
label: i18n.ts._miRoom._objects._tabletopGlassPictureFrame.width,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'Height',
|
||||
label: i18n.ts._miRoom._objects._tabletopGlassPictureFrame.height,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
image: {
|
||||
type: 'image',
|
||||
label: 'Image',
|
||||
label: i18n.ts._miRoom._objects._tabletopGlassPictureFrame.image,
|
||||
presets: [],
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -5,37 +5,38 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const tabletopIronFrameStand = defineObject({
|
||||
id: 'tabletopIronFrameStand',
|
||||
name: 'tabletopIronFrameStand',
|
||||
name: i18n.ts._miRoom._objects.tabletopIronFrameStand,
|
||||
options: {
|
||||
schema: {
|
||||
frameMat: {
|
||||
type: 'material',
|
||||
label: 'Frame material',
|
||||
label: i18n.ts._miRoom._objects._tabletopIronFrameStand.frameMat,
|
||||
},
|
||||
boardMat: {
|
||||
type: 'material',
|
||||
label: 'Board material',
|
||||
label: i18n.ts._miRoom._objects._tabletopIronFrameStand.boardMat,
|
||||
},
|
||||
width: {
|
||||
type: 'range',
|
||||
label: 'Width',
|
||||
label: i18n.ts._miRoom._objects._tabletopIronFrameStand.width,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
depth: {
|
||||
type: 'range',
|
||||
label: 'Depth',
|
||||
label: i18n.ts._miRoom._objects._tabletopIronFrameStand.depth,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'Height',
|
||||
label: i18n.ts._miRoom._objects._tabletopIronFrameStand.height,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
|
|
|
|||
|
|
@ -6,26 +6,27 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { createTextureManager, defineObject } from '../object.js';
|
||||
import { createPlaneUvMapper, normalizeUvToSquare } from '../../utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const tabletopLcdButtonsController = defineObject({
|
||||
id: 'tabletopLcdButtonsController',
|
||||
name: 'tabletopLcdButtonsController',
|
||||
name: i18n.ts._miRoom._objects.tabletopLcdButtonsController,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'Body material',
|
||||
label: i18n.ts._miRoom._objects._tabletopLcdButtonsController.bodyMat,
|
||||
},
|
||||
screenBrightness: {
|
||||
type: 'range',
|
||||
label: 'Screen brightness',
|
||||
label: i18n.ts._miRoom._objects._tabletopLcdButtonsController.screenBrightness,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
image: {
|
||||
type: 'image',
|
||||
label: 'Image',
|
||||
label: i18n.ts._miRoom._objects._tabletopLcdButtonsController.image,
|
||||
presets: [],
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -6,63 +6,64 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { createTextureManager, defineObject } from '../object.js';
|
||||
import { createPlaneUvMapper } from '../../utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
// NOTE: シェイプキーのnormalのエクスポートは無効にしないとmatを大きくしたときに面のレンダリングがグリッチする
|
||||
|
||||
export const tabletopPictureFrame = defineObject({
|
||||
id: 'tabletopPictureFrame',
|
||||
name: 'Tabletop simple picture frame',
|
||||
name: i18n.ts._miRoom._objects.tabletopPictureFrame,
|
||||
options: {
|
||||
schema: {
|
||||
frameMat: {
|
||||
type: 'material',
|
||||
label: 'Frame material',
|
||||
label: i18n.ts._miRoom._objects._tabletopPictureFrame.frameMat,
|
||||
},
|
||||
width: {
|
||||
type: 'range',
|
||||
label: 'Width',
|
||||
label: i18n.ts._miRoom._objects._tabletopPictureFrame.width,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'Height',
|
||||
label: i18n.ts._miRoom._objects._tabletopPictureFrame.height,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
frameThickness: {
|
||||
type: 'range',
|
||||
label: 'Frame thickness',
|
||||
label: i18n.ts._miRoom._objects._tabletopPictureFrame.frameThickness,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
depth: {
|
||||
type: 'range',
|
||||
label: 'Depth',
|
||||
label: i18n.ts._miRoom._objects._tabletopPictureFrame.depth,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
matHThickness: {
|
||||
type: 'range',
|
||||
label: 'Mat horizontal thickness',
|
||||
label: i18n.ts._miRoom._objects._tabletopPictureFrame.matHThickness,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
matVThickness: {
|
||||
type: 'range',
|
||||
label: 'Mat vertical thickness',
|
||||
label: i18n.ts._miRoom._objects._tabletopPictureFrame.matVThickness,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
image: {
|
||||
type: 'image',
|
||||
label: 'Image',
|
||||
label: i18n.ts._miRoom._objects._tabletopPictureFrame.image,
|
||||
presets: [],
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { createTextureManager, defineObject } from '../object.js';
|
||||
import { createPlaneUvMapper, getPlaneUvIndexes } from '../../utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
const remap = (value: number, fromMin: number, fromMax: number, toMin: number, toMax: number) => {
|
||||
return toMin + ((value - fromMin) / (fromMax - fromMin)) * (toMax - toMin);
|
||||
|
|
@ -13,26 +14,26 @@ const remap = (value: number, fromMin: number, fromMax: number, toMin: number, t
|
|||
|
||||
export const tapestry = defineObject({
|
||||
id: 'tapestry',
|
||||
name: 'Tapestry',
|
||||
name: i18n.ts._miRoom._objects.tapestry,
|
||||
options: {
|
||||
schema: {
|
||||
width: {
|
||||
type: 'range',
|
||||
label: 'Width',
|
||||
label: i18n.ts._miRoom._objects._tapestry.width,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'Height',
|
||||
label: i18n.ts._miRoom._objects._tapestry.height,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
image: {
|
||||
type: 'image',
|
||||
label: 'Image',
|
||||
label: i18n.ts._miRoom._objects._tapestry.image,
|
||||
presets: [],
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
*/
|
||||
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const tetrapod = defineObject({
|
||||
id: 'tetrapod',
|
||||
name: '波消ブロック',
|
||||
name: i18n.ts._miRoom._objects.tetrapod,
|
||||
options: {
|
||||
schema: {},
|
||||
default: {},
|
||||
|
|
|
|||
|
|
@ -7,19 +7,20 @@ import * as BABYLON from '@babylonjs/core';
|
|||
import { defineObject } from '../object.js';
|
||||
import { getLightRangeFactorByGraphicsQuality, initTv } from '../utility.js';
|
||||
import { cm, WORLD_SCALE } from '@/world/utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const tv = defineObject({
|
||||
id: 'tv',
|
||||
name: 'TV',
|
||||
name: i18n.ts._miRoom._objects.tv,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'Body material',
|
||||
label: i18n.ts._miRoom._objects._tv.bodyMat,
|
||||
},
|
||||
screenBrightness: {
|
||||
type: 'range',
|
||||
label: 'Screen brightness',
|
||||
label: i18n.ts._miRoom._objects._tv.screenBrightness,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
*/
|
||||
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const twistedCubeObjet = defineObject({
|
||||
id: 'twistedCubeObjet',
|
||||
name: 'twistedCubeObjet',
|
||||
name: i18n.ts._miRoom._objects.twistedCubeObjet,
|
||||
options: {
|
||||
schema: {},
|
||||
default: {},
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
*/
|
||||
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const usedTissue = defineObject({
|
||||
id: 'usedTissue',
|
||||
name: 'usedTissue',
|
||||
name: i18n.ts._miRoom._objects.usedTissue,
|
||||
options: {
|
||||
schema: {},
|
||||
default: {},
|
||||
|
|
|
|||
|
|
@ -6,29 +6,30 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { createTextureManager, defineObject } from '../object.js';
|
||||
import { createPlaneUvMapper, getPlaneUvIndexes } from '../../utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const wallCanvas = defineObject({
|
||||
id: 'wallCanvas',
|
||||
name: 'wallCanvas',
|
||||
name: i18n.ts._miRoom._objects.wallCanvas,
|
||||
options: {
|
||||
schema: {
|
||||
width: {
|
||||
type: 'range',
|
||||
label: 'Width',
|
||||
label: i18n.ts._miRoom._objects._wallCanvas.width,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'Height',
|
||||
label: i18n.ts._miRoom._objects._wallCanvas.height,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
image: {
|
||||
type: 'image',
|
||||
label: 'Image',
|
||||
label: i18n.ts._miRoom._objects._wallCanvas.image,
|
||||
presets: [],
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -5,15 +5,16 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const wallClock = defineObject({
|
||||
id: 'wallClock',
|
||||
name: 'Wall Clock',
|
||||
name: i18n.ts._miRoom._objects.wallClock,
|
||||
options: {
|
||||
schema: {
|
||||
frameMat: {
|
||||
type: 'material',
|
||||
label: 'Frame material',
|
||||
label: i18n.ts._miRoom._objects._wallClock.frameMat,
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
import * as BABYLON from '@babylonjs/core';
|
||||
import { createTextureManager, defineObject } from '../object.js';
|
||||
import { createPlaneUvMapper, getPlaneUvIndexes } from '../../utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
const remap = (value: number, fromMin: number, fromMax: number, toMin: number, toMax: number) => {
|
||||
return toMin + ((value - fromMin) / (fromMax - fromMin)) * (toMax - toMin);
|
||||
|
|
@ -13,26 +14,26 @@ const remap = (value: number, fromMin: number, fromMax: number, toMin: number, t
|
|||
|
||||
export const wallGlassPictureFrame = defineObject({
|
||||
id: 'wallGlassPictureFrame',
|
||||
name: 'wallGlassPictureFrame',
|
||||
name: i18n.ts._miRoom._objects.wallGlassPictureFrame,
|
||||
options: {
|
||||
schema: {
|
||||
width: {
|
||||
type: 'range',
|
||||
label: 'Width',
|
||||
label: i18n.ts._miRoom._objects._wallGlassPictureFrame.width,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'Height',
|
||||
label: i18n.ts._miRoom._objects._wallGlassPictureFrame.height,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
image: {
|
||||
type: 'image',
|
||||
label: 'Image',
|
||||
label: i18n.ts._miRoom._objects._wallGlassPictureFrame.image,
|
||||
presets: [],
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -5,36 +5,37 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const wallMirror = defineObject({
|
||||
id: 'wallMirror',
|
||||
name: 'wallMirror',
|
||||
name: i18n.ts._miRoom._objects.wallMirror,
|
||||
options: {
|
||||
schema: {
|
||||
width: {
|
||||
type: 'range',
|
||||
label: 'Width',
|
||||
label: i18n.ts._miRoom._objects._wallMirror.width,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
height: {
|
||||
type: 'range',
|
||||
label: 'Height',
|
||||
label: i18n.ts._miRoom._objects._wallMirror.height,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
frameThickness: {
|
||||
type: 'range',
|
||||
label: 'Frame thickness',
|
||||
label: i18n.ts._miRoom._objects._wallMirror.frameThickness,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
frameMat: {
|
||||
type: 'material',
|
||||
label: 'Frame material',
|
||||
label: i18n.ts._miRoom._objects._wallMirror.frameMat,
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -7,30 +7,31 @@ import * as BABYLON from '@babylonjs/core';
|
|||
import { defineObject } from '../object.js';
|
||||
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';
|
||||
import { cm, WORLD_SCALE } from '@/world/utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const wallMountSpotLight = defineObject({
|
||||
id: 'wallMountSpotLight',
|
||||
name: 'wallMountSpotLight',
|
||||
name: i18n.ts._miRoom._objects.wallMountSpotLight,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'Body material',
|
||||
label: i18n.ts._miRoom._objects._wallMountSpotLight.bodyMat,
|
||||
},
|
||||
light: {
|
||||
type: 'light',
|
||||
label: 'Light',
|
||||
label: i18n.ts._miRoom._objects._wallMountSpotLight.light,
|
||||
},
|
||||
angleV: {
|
||||
type: 'range',
|
||||
label: 'Vertical angle',
|
||||
label: i18n.ts._miRoom._objects._wallMountSpotLight.angleV,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
},
|
||||
angleH: {
|
||||
type: 'range',
|
||||
label: 'Horizontal angle',
|
||||
label: i18n.ts._miRoom._objects._wallMountSpotLight.angleH,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
|
|
|
|||
|
|
@ -5,43 +5,44 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const wallShelf = defineObject({
|
||||
id: 'wallShelf',
|
||||
name: 'Wall Shelf',
|
||||
name: i18n.ts._miRoom._objects.wallShelf,
|
||||
options: {
|
||||
schema: {
|
||||
style: {
|
||||
type: 'enum',
|
||||
label: 'Style',
|
||||
label: i18n.ts._miRoom._objects._wallShelf.style,
|
||||
enum: [{
|
||||
label: 'A',
|
||||
label: i18n.ts._miRoom._objects._wallShelf['style:A'],
|
||||
value: 'A',
|
||||
}, {
|
||||
label: 'B',
|
||||
label: i18n.ts._miRoom._objects._wallShelf['style:B'],
|
||||
value: 'B',
|
||||
}, {
|
||||
label: 'C',
|
||||
label: i18n.ts._miRoom._objects._wallShelf['style:C'],
|
||||
value: 'C',
|
||||
}, {
|
||||
label: 'D',
|
||||
label: i18n.ts._miRoom._objects._wallShelf['style:D'],
|
||||
value: 'D',
|
||||
}],
|
||||
},
|
||||
boardStyle: {
|
||||
type: 'enum',
|
||||
label: 'Board style',
|
||||
label: i18n.ts._miRoom._objects._wallShelf.boardStyle,
|
||||
enum: [{
|
||||
label: 'Wood',
|
||||
label: i18n.ts._miRoom._objects._wallShelf['boardStyle:wood'],
|
||||
value: 'wood',
|
||||
}, {
|
||||
label: 'Color',
|
||||
label: i18n.ts._miRoom._objects._wallShelf['boardStyle:color'],
|
||||
value: 'color',
|
||||
}],
|
||||
},
|
||||
boardMat: {
|
||||
type: 'material',
|
||||
label: 'Board material',
|
||||
label: i18n.ts._miRoom._objects._wallShelf.boardMat,
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -5,15 +5,16 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const wireBasket = defineObject({
|
||||
id: 'wireBasket',
|
||||
name: 'wireBasket',
|
||||
name: i18n.ts._miRoom._objects.wireBasket,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'bodyMaterial',
|
||||
label: i18n.ts._miRoom._objects._wireBasket.bodyMat,
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -5,15 +5,16 @@
|
|||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const wireNet = defineObject({
|
||||
id: 'wireNet',
|
||||
name: 'wireNet',
|
||||
name: i18n.ts._miRoom._objects.wireNet,
|
||||
options: {
|
||||
schema: {
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'bodyMaterial',
|
||||
label: i18n.ts._miRoom._objects._wireNet.bodyMat,
|
||||
},
|
||||
},
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -7,27 +7,28 @@ import * as BABYLON from '@babylonjs/core';
|
|||
import { defineObject } from '../object.js';
|
||||
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';
|
||||
import { cm, remap, WORLD_SCALE } from '@/world/utility.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const woodRingsPendantLight = defineObject({
|
||||
id: 'woodRingsPendantLight',
|
||||
name: 'woodRingsPendantLight',
|
||||
name: i18n.ts._miRoom._objects.woodRingsPendantLight,
|
||||
options: {
|
||||
schema: {
|
||||
shadeMat: {
|
||||
type: 'material',
|
||||
label: 'Shade material',
|
||||
label: i18n.ts._miRoom._objects._woodRingsPendantLight.shadeMat,
|
||||
},
|
||||
bodyMat: {
|
||||
type: 'material',
|
||||
label: 'Body material',
|
||||
label: i18n.ts._miRoom._objects._woodRingsPendantLight.bodyMat,
|
||||
},
|
||||
light: {
|
||||
type: 'light',
|
||||
label: 'Light',
|
||||
label: i18n.ts._miRoom._objects._woodRingsPendantLight.light,
|
||||
},
|
||||
length: {
|
||||
type: 'range',
|
||||
label: 'Length',
|
||||
label: i18n.ts._miRoom._objects._woodRingsPendantLight.length,
|
||||
min: 0,
|
||||
max: 1,
|
||||
step: 0.01,
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@
|
|||
*/
|
||||
|
||||
import { defineObject } from '../object.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
|
||||
export const woodSoundAbsorbingPanel = defineObject({
|
||||
id: 'woodSoundAbsorbingPanel',
|
||||
name: 'Wood Sound Absorbing Panel',
|
||||
name: i18n.ts._miRoom._objects.woodSoundAbsorbingPanel,
|
||||
options: {
|
||||
schema: {},
|
||||
default: {},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue