Сфера вращения в Вавилоне. js - PullRequest
0 голосов
/ 16 апреля 2020

Я хочу попросить помощи относительно вращения с использованием Вавилона. js framework.

Мне нужно, чтобы сфера вращалась на 45 градусов, точно выровненная по диагональному кругу, который имеет 45-градусную ориентацию, но Я не получаю его.

Код, который я сделал, находится по ссылке ниже: https://codepen.io/polalas/pen/VwvaKwL

Метод, отвечающий за вращение, это l oop () метод, который запускается каждый раз при рендеринге сцены.

function loop () {
    var y1 = scene.getMeshByName("I1");
    y1.rotation.y - = 0.01 * Math.sin (Math.PI / 4);
    y1.rotation.x - = 0.01 * Math.sin (Math.PI / 4);
}

Я полагаю, что неправильно обработал поворот. Может ли кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 24 апреля 2020

Используя ваш код, лучший способ добиться этого - сначала повернуть родительский элемент сферы (то, что вы назвали newMesh (или I1)) на 45 градусов вокруг оси Z непосредственно перед добавлением сферы в качестве дочернего элемента. :

newMesh.rotate(BABYLON.Axis.Z, Math.PI / 4);

После этого вы можете повернуть его вокруг своей локальной (!) Оси X в вашем рендере l oop:

function loop(){
    var y1 = scene.getMeshByName("I1");
}

Таким образом вы получите идеальный поворот вокруг ( издевались) пивот.

...