Zamenjan vrstni red gumbov, rotacija kamere

main
Jurij Podgoršek 2022-05-05 18:59:50 +02:00
parent b6858405b2
commit 1509776296
2 changed files with 54 additions and 31 deletions

30
anim.js
View File

@ -38,6 +38,10 @@ var rotacijaX = 0;
var rotacijaY = 0;
var rotacijaZ = 0;
var crotacijaX = 0.000;
var crotacijaY = 0.000;
var crotacijaZ = 0.000;
// Premik obstojecih barv
var zamikBarve = 0.01;
@ -104,6 +108,12 @@ function render () {
camRotate();
};
window.onkeydown = function (e) {
crotacijaX *= 0.7;
crotacijaY *= 0.7;
crotacijaZ *= 0.7;
}
function modulirajParametre() {
// Vsi gumbi? => RESET
if ((keysPressed[0] + keysPressed[1] + keysPressed[2] + keysPressed[3]) === 4 && !reset) {
@ -126,23 +136,25 @@ function modulirajParametre() {
}
// Rotiranje manualno (z rocnimi gibi "iz sredine")
if (keysPressed[3]) {
if (keysPressed[0]) {
var k = objekti.slice(-1)[0];
qObj.multiply(qWWd);
k.quaternion.multiply(qWWd);
}
if (keysPressed[2]) {
if (keysPressed[1]) {
drotacijaX += qWWd.x / 10;
drotacijaY += qWWd.y / 10;
drotacijaZ += qWWd.z / 10;
}
if (keysPressed[1]) {
//qKamera.multiply(qWWd);
obj_limit *= 1 - dqY;
if (keysPressed[2]) {
crotacijaX += qWWd.x / 30;
crotacijaY += qWWd.y / 30;
crotacijaZ += qWWd.z / 30;
}
if (keysPressed[0]) {
if (keysPressed[3]) {
width *= 1 + (dqX / 3);
barva_mod += (dqZ / 1000);
obj_limit *= 1 - dqY;
}
}
@ -201,10 +213,12 @@ function addObj(w, h) {
};
qK = new THREE.Quaternion()
scene.setRotationFromQuaternion(qK)
function camRotate () {
qK.multiply(qKamera);
//scene.setRotationFromQuaternion(qKamera)
scene.rotation.x += crotacijaX
scene.rotation.y += crotacijaY
scene.rotation.z += crotacijaZ
}
// Inicializiraj

View File

@ -7,6 +7,8 @@ const PORT = 6676
// Do we have a problem, shall we debug?
const DEBUG = true
const MIDI = false
@ -21,11 +23,12 @@ const WebSocket = require('ws')
const osc = require('osc')
const readline = require('readline')
const fs = require('fs')
const midi = require('midi')
let midiOn = false
let midiNotes = {}
if (MIDI) {
const midi = require('midi')
let midiOn = false
let midiNotes = {}
}
// Vzemi iz argumenta
@ -55,12 +58,14 @@ const server = http.Server(app);
// Odprti serijski OSC link
let scon = null
// Midi port
const mo = new midi.Output()
//mo.getPortCount()
//mo.getPortName(0)
//mo.openPort(0)
mo.openVirtualPort("kegel")
if (MIDI) {
// Midi port
const mo = new midi.Output()
//mo.getPortCount()
//mo.getPortName(0)
//mo.openPort(0)
mo.openVirtualPort("kegel")
}
function openSerial() {
console.log('opening ', tty, baudrate)
@ -242,19 +247,21 @@ const sendAll = (msg, info, oscWS, osclients) => {
}
if (msg.address == '/accel') {
if (msg.args[1] > 2000) {
console.log("SEND MIDI!")
const visina = Math.round((msg.args[1] - 2000) / 100)
midiNotes[visina] = true
mo.send([144, visina, 127])
midiOn = true
}
if (MIDI) {
if (msg.args[1] > 2000) {
console.log("SEND MIDI!")
const visina = Math.round((msg.args[1] - 2000) / 100)
midiNotes[visina] = true
mo.send([144, visina, 127])
midiOn = true
}
if (msg.args[1] < 2000 && midiOn) {
Object.keys(midiNotes).forEach(visina => {
mo.send([128, visina, 127])
})
midiOn = false
if (msg.args[1] < 2000 && midiOn) {
Object.keys(midiNotes).forEach(visina => {
mo.send([128, visina, 127])
})
midiOn = false
}
}
}
@ -303,4 +310,6 @@ wss.on('connection', function (ws) {
})
// Zapri midi
mo.closePort()
if (MIDI) {
mo.closePort()
}