Zamenjan vrstni red gumbov, rotacija kamere
parent
b6858405b2
commit
1509776296
30
anim.js
30
anim.js
|
@ -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
|
||||
|
|
55
server.js
55
server.js
|
@ -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()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue