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="orthographic" icon="mdi-cone-off"></v-btn>
|
||||
</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-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="z" v-model="currentObject.position.z" :step="0.1"></v-number-input>
|
||||
</v-card>
|
||||
<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="y" v-model="currentObject.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="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="rotation.y" :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 subtitle="Scale" class="ma-1" color="pink-darken-4">
|
||||
<template v-slot:append>
|
||||
@@ -77,7 +77,8 @@
|
||||
<script>
|
||||
import { GameEngine } from '@/lib/GameEngine';
|
||||
import { GameManager } from '@/lib/GameManager';
|
||||
import { markRaw } from 'vue';
|
||||
import { markRaw, computed } from 'vue';
|
||||
import Utils from '#/app/Utils';
|
||||
|
||||
let engine = null, manager = null;
|
||||
|
||||
@@ -100,7 +101,7 @@ export default {
|
||||
renderType: 'ST',
|
||||
cameraType: 'perspective',
|
||||
uniformScale: true,
|
||||
version: 0
|
||||
rotation: {}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -112,6 +113,17 @@ export default {
|
||||
stats: true,
|
||||
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, {
|
||||
onObjectLoad:(sceneObjects, data, object3d, source)=>{
|
||||
['position', 'scale', 'rotation'].forEach(p=>{
|
||||
|
||||
Reference in New Issue
Block a user