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 rotacijaY = 0;
|
||||||
var rotacijaZ = 0;
|
var rotacijaZ = 0;
|
||||||
|
|
||||||
|
var crotacijaX = 0.000;
|
||||||
|
var crotacijaY = 0.000;
|
||||||
|
var crotacijaZ = 0.000;
|
||||||
|
|
||||||
// Premik obstojecih barv
|
// Premik obstojecih barv
|
||||||
var zamikBarve = 0.01;
|
var zamikBarve = 0.01;
|
||||||
|
|
||||||
|
@ -104,6 +108,12 @@ function render () {
|
||||||
camRotate();
|
camRotate();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
window.onkeydown = function (e) {
|
||||||
|
crotacijaX *= 0.7;
|
||||||
|
crotacijaY *= 0.7;
|
||||||
|
crotacijaZ *= 0.7;
|
||||||
|
}
|
||||||
|
|
||||||
function modulirajParametre() {
|
function modulirajParametre() {
|
||||||
// Vsi gumbi? => RESET
|
// Vsi gumbi? => RESET
|
||||||
if ((keysPressed[0] + keysPressed[1] + keysPressed[2] + keysPressed[3]) === 4 && !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")
|
// Rotiranje manualno (z rocnimi gibi "iz sredine")
|
||||||
if (keysPressed[3]) {
|
if (keysPressed[0]) {
|
||||||
var k = objekti.slice(-1)[0];
|
var k = objekti.slice(-1)[0];
|
||||||
qObj.multiply(qWWd);
|
qObj.multiply(qWWd);
|
||||||
k.quaternion.multiply(qWWd);
|
k.quaternion.multiply(qWWd);
|
||||||
}
|
}
|
||||||
if (keysPressed[2]) {
|
if (keysPressed[1]) {
|
||||||
drotacijaX += qWWd.x / 10;
|
drotacijaX += qWWd.x / 10;
|
||||||
drotacijaY += qWWd.y / 10;
|
drotacijaY += qWWd.y / 10;
|
||||||
drotacijaZ += qWWd.z / 10;
|
drotacijaZ += qWWd.z / 10;
|
||||||
}
|
}
|
||||||
if (keysPressed[1]) {
|
if (keysPressed[2]) {
|
||||||
//qKamera.multiply(qWWd);
|
crotacijaX += qWWd.x / 30;
|
||||||
obj_limit *= 1 - dqY;
|
crotacijaY += qWWd.y / 30;
|
||||||
|
crotacijaZ += qWWd.z / 30;
|
||||||
}
|
}
|
||||||
if (keysPressed[0]) {
|
if (keysPressed[3]) {
|
||||||
width *= 1 + (dqX / 3);
|
width *= 1 + (dqX / 3);
|
||||||
barva_mod += (dqZ / 1000);
|
barva_mod += (dqZ / 1000);
|
||||||
|
obj_limit *= 1 - dqY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -201,10 +213,12 @@ function addObj(w, h) {
|
||||||
};
|
};
|
||||||
|
|
||||||
qK = new THREE.Quaternion()
|
qK = new THREE.Quaternion()
|
||||||
scene.setRotationFromQuaternion(qK)
|
|
||||||
|
|
||||||
function camRotate () {
|
function camRotate () {
|
||||||
qK.multiply(qKamera);
|
//scene.setRotationFromQuaternion(qKamera)
|
||||||
|
scene.rotation.x += crotacijaX
|
||||||
|
scene.rotation.y += crotacijaY
|
||||||
|
scene.rotation.z += crotacijaZ
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inicializiraj
|
// Inicializiraj
|
||||||
|
|
55
server.js
55
server.js
|
@ -7,6 +7,8 @@ const PORT = 6676
|
||||||
// Do we have a problem, shall we debug?
|
// Do we have a problem, shall we debug?
|
||||||
const DEBUG = true
|
const DEBUG = true
|
||||||
|
|
||||||
|
const MIDI = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,11 +23,12 @@ const WebSocket = require('ws')
|
||||||
const osc = require('osc')
|
const osc = require('osc')
|
||||||
const readline = require('readline')
|
const readline = require('readline')
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const midi = require('midi')
|
|
||||||
|
|
||||||
|
if (MIDI) {
|
||||||
let midiOn = false
|
const midi = require('midi')
|
||||||
let midiNotes = {}
|
let midiOn = false
|
||||||
|
let midiNotes = {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Vzemi iz argumenta
|
// Vzemi iz argumenta
|
||||||
|
@ -55,12 +58,14 @@ const server = http.Server(app);
|
||||||
// Odprti serijski OSC link
|
// Odprti serijski OSC link
|
||||||
let scon = null
|
let scon = null
|
||||||
|
|
||||||
// Midi port
|
if (MIDI) {
|
||||||
const mo = new midi.Output()
|
// Midi port
|
||||||
//mo.getPortCount()
|
const mo = new midi.Output()
|
||||||
//mo.getPortName(0)
|
//mo.getPortCount()
|
||||||
//mo.openPort(0)
|
//mo.getPortName(0)
|
||||||
mo.openVirtualPort("kegel")
|
//mo.openPort(0)
|
||||||
|
mo.openVirtualPort("kegel")
|
||||||
|
}
|
||||||
|
|
||||||
function openSerial() {
|
function openSerial() {
|
||||||
console.log('opening ', tty, baudrate)
|
console.log('opening ', tty, baudrate)
|
||||||
|
@ -242,19 +247,21 @@ const sendAll = (msg, info, oscWS, osclients) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg.address == '/accel') {
|
if (msg.address == '/accel') {
|
||||||
if (msg.args[1] > 2000) {
|
if (MIDI) {
|
||||||
console.log("SEND MIDI!")
|
if (msg.args[1] > 2000) {
|
||||||
const visina = Math.round((msg.args[1] - 2000) / 100)
|
console.log("SEND MIDI!")
|
||||||
midiNotes[visina] = true
|
const visina = Math.round((msg.args[1] - 2000) / 100)
|
||||||
mo.send([144, visina, 127])
|
midiNotes[visina] = true
|
||||||
midiOn = true
|
mo.send([144, visina, 127])
|
||||||
}
|
midiOn = true
|
||||||
|
}
|
||||||
|
|
||||||
if (msg.args[1] < 2000 && midiOn) {
|
if (msg.args[1] < 2000 && midiOn) {
|
||||||
Object.keys(midiNotes).forEach(visina => {
|
Object.keys(midiNotes).forEach(visina => {
|
||||||
mo.send([128, visina, 127])
|
mo.send([128, visina, 127])
|
||||||
})
|
})
|
||||||
midiOn = false
|
midiOn = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -303,4 +310,6 @@ wss.on('connection', function (ws) {
|
||||||
})
|
})
|
||||||
|
|
||||||
// Zapri midi
|
// Zapri midi
|
||||||
mo.closePort()
|
if (MIDI) {
|
||||||
|
mo.closePort()
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue