У меня есть been told, что стандартный нормальный вектор для геометрии в трёх.js - (0, 0, 1)
.three.js: GridHelper делает нестандартную сетку?
Однако, когда я делаю экземпляр конструктора GridHelper, он создает плоскость, натянутую на оси X и Z. Такая плоскость имеет нормальный вектор (0, 1, 0)
.
Это можно увидеть на скриншоте, показывая вершины Arry геометрии моего GridHelper:
и подтверждается визуальным осмотром:
Этот как я создаю свой GridHelper:
var myGridHelper = new THREE.GridHelper(10, 20);
Почему GridHelper не соответствует стандартным нормальным векторам?
Если эта функция/ошибка не изменится: Могу ли я решить ее всегда инициировании мои экземпляры GridHelper с этим кодом:
var standardPlaneNormal = new THREE.Vector3(0, 0, 1);
var GridHelperPlaneNormal = new THREE.Vector3(0, 1, 0);
var quaternion = new THREE.Quaternion();
quaternion.setFromUnitVectors(standardPlaneNormal, GridHelperPlaneNormal);
var myGridHelper = new THREE.GridHelper(10, 20);
myGridHelper.rotation.setFromQuaternion(quaternion);
?
Вы можете решить, что? Что ты пытаешься сделать? – WestLangley
См. Это сообщение: https://msdn.microsoft.com/en-us/library/dn479430%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 по умолчанию Трижды положительный Y - «вверх» –
@ WestLangley Я хочу, чтобы все было повернуто в соответствии с моими ожиданиями .. :). Когда я создаю кватернион со стартовым вектором и конечным вектором, кватернион должен вращаться в соответствии с ними. Теперь, если я буду кормить '(0, 0, 1)' в качестве стартового вектора, он этого не сделает. Мое предложение добавить дополнительное вращение кватерниона, чтобы компенсировать это, было ошибочным. Я могу просто передать альтернативный (или истинный?) Стандартный вектор '(0, 1, 0)' в качестве стартового вектора для 'quaternion.setFromUnitVectors()'. Это заставляет вещи вращаться в соответствии с моими ожиданиями :) – loldrup