GameDesigner object rotation in degrees
This commit is contained in:
@@ -14,16 +14,16 @@
|
|||||||
<v-btn value="perspective" icon="mdi-cone"></v-btn>
|
<v-btn value="perspective" icon="mdi-cone"></v-btn>
|
||||||
<v-btn value="orthographic" icon="mdi-cone-off"></v-btn>
|
<v-btn value="orthographic" icon="mdi-cone-off"></v-btn>
|
||||||
</v-btn-toggle>
|
</v-btn-toggle>
|
||||||
<div v-if="currentObject" :version="version">
|
<div v-if="currentObject">
|
||||||
<v-card subtitle="Position" class="ma-1" color="light-blue-darken-4">
|
<v-card subtitle="Position" class="ma-1" color="light-blue-darken-4">
|
||||||
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="x" v-model="currentObject.position.x" :step="0.1"></v-number-input>
|
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="x" v-model="currentObject.position.x" :step="0.1"></v-number-input>
|
||||||
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="y" v-model="currentObject.position.y" :step="0.1"></v-number-input>
|
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="y" v-model="currentObject.position.y" :step="0.1"></v-number-input>
|
||||||
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="z" v-model="currentObject.position.z" :step="0.1"></v-number-input>
|
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="z" v-model="currentObject.position.z" :step="0.1"></v-number-input>
|
||||||
</v-card>
|
</v-card>
|
||||||
<v-card subtitle="Rotation" class="ma-1" color="green-darken-4">
|
<v-card subtitle="Rotation" class="ma-1" color="green-darken-4">
|
||||||
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="x" v-model="currentObject.rotation.x" :step="0.1"></v-number-input>
|
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="x" v-model="rotation.x" :step="0.1"></v-number-input>
|
||||||
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="y" v-model="currentObject.rotation.y" :step="0.1"></v-number-input>
|
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="y" v-model="rotation.y" :step="0.1"></v-number-input>
|
||||||
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="z" v-model="currentObject.rotation.z" :step="0.1"></v-number-input>
|
<v-number-input :precision="null" controlVariant="stacked" hide-details density="compact" label="z" v-model="rotation.z" :step="0.1"></v-number-input>
|
||||||
</v-card>
|
</v-card>
|
||||||
<v-card subtitle="Scale" class="ma-1" color="pink-darken-4">
|
<v-card subtitle="Scale" class="ma-1" color="pink-darken-4">
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
@@ -77,7 +77,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { GameEngine } from '@/lib/GameEngine';
|
import { GameEngine } from '@/lib/GameEngine';
|
||||||
import { GameManager } from '@/lib/GameManager';
|
import { GameManager } from '@/lib/GameManager';
|
||||||
import { markRaw } from 'vue';
|
import { markRaw, computed } from 'vue';
|
||||||
|
import Utils from '#/app/Utils';
|
||||||
|
|
||||||
let engine = null, manager = null;
|
let engine = null, manager = null;
|
||||||
|
|
||||||
@@ -100,7 +101,7 @@ export default {
|
|||||||
renderType: 'ST',
|
renderType: 'ST',
|
||||||
cameraType: 'perspective',
|
cameraType: 'perspective',
|
||||||
uniformScale: true,
|
uniformScale: true,
|
||||||
version: 0
|
rotation: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -112,6 +113,17 @@ export default {
|
|||||||
stats: true,
|
stats: true,
|
||||||
mode: 'GameDesigner'
|
mode: 'GameDesigner'
|
||||||
});
|
});
|
||||||
|
const that = this;
|
||||||
|
['x', 'y', 'z'].forEach(c=>{
|
||||||
|
this.rotation[c] = computed({
|
||||||
|
get(){
|
||||||
|
return Utils.rad2deg(that.currentObject.rotation[c]);
|
||||||
|
},
|
||||||
|
set(v){
|
||||||
|
that.currentObject.rotation[c] = Utils.deg2rad(v);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
manager = await new GameManager(engine, this.modelValue, null, {
|
manager = await new GameManager(engine, this.modelValue, null, {
|
||||||
onObjectLoad:(sceneObjects, data, object3d, source)=>{
|
onObjectLoad:(sceneObjects, data, object3d, source)=>{
|
||||||
['position', 'scale', 'rotation'].forEach(p=>{
|
['position', 'scale', 'rotation'].forEach(p=>{
|
||||||
|
|||||||
Reference in New Issue
Block a user