Здравствуйте, я новичок в babylonjs и уже несколько дней пытаюсь создать постоянную схему распространения дробовика в babylon.js.
На данный момент мой подход состоит в том, чтобы подготовить пару строк для отображения в массиве:
let sgPellets = [
BABYLON.Mesh.CreateLines("lines", [
shotgunPosition,
meshFound.pickedPoint
], this.Player.game.scene),
BABYLON.Mesh.CreateLines("lines", [
shotgunPosition,
meshFound.pickedPoint
], this.Player.game.scene),
]
, где shotgunPosition
- это абсолютная позиция сетки дробовика в мире, а meshFound.pickedPoint
- это позиция, к которой я стремлюсь (на сетке).
Таким образом, я могу нарисовать линию (в данном случае первую из массива) между сеткой дробовика и сеткой, на которую я нажимаю.
Теперь для второй строки я хочу, чтобы она немного повернулась на оси Y от первой (именно на которую я нацеливаюсь), так:
for(let k=0; k<sgPellets.length; k++){
sgPellets[k].setPivotPoint(shotgunPosition);
sgPellets[k].isPickable = false;
switch(k){
case 1:
sgPellets[k].rotation.y += 0.1
break
}
}
Это хорошо работает, когда я смотрю по сторонам
но не когда я смотрю вверх или вниз.
Я думаю, что я что-то упустил по математике.
Я также пытался использовать другие методы вращения, для того же результата.
Есть ли у кого-нибудь советы о том, как сделать угол постоянным между двумя линиями? Спасибо.