Я новичок в 3d-моделировании JavaFx. Я пытаюсь создать 3d-модель ящиков в комнате. У меня есть размеры ящиков и коордов из переднего левого нижнего угла каждой коробки. Я попытался установить координаты с setTranslateX(), но результат неверен. Вот пайса моего кода, где я пытаюсь установить COORDS:Позиционирование 3d-ящиков в JavaFx
for (int i = 0; i < Main.load.size(); i++) {
Load l=Main.load.get(i);
Box sphere = new Box(l.getLength()*10, l.getWidth()*10, l.getHeight()*10);
sphere.setTranslateX(l.getX()*10);
sphere.setTranslateY(l.getY()*10);
sphere.setTranslateZ(l.getZ()*10);
PhongMaterial m = new PhongMaterial();
m.setDiffuseColor(new Color(Math.random(),Math.random(),Math.random(),1));
m.setSpecularColor(Color.BLACK);
sphere.setMaterial(m);
root.getChildren().add(sphere);
}
Я надеюсь, что кто-то может мне помочь.
Вот пример:
Размеры: синий (30,50,50) розовый (10,10,20)
Должность: синий (0,0,0) розовый (30,0,0)
Не могли бы вы описать эффект, который вы видите? Какую версию Java вы используете? Установили ли вы глубину глубины 3D-подсети true с помощью конструктора? – Birdasaur
@Birdasaur Я обновил вопрос на примере. Я использую Java 8. Значение depthBuffer истинно. Спасибо за вашу помощь! – holzfeli
Кажется, что ваши объекты переведены точно там, где они должны предполагать, что камера, которую вы используете, является PerspectiveCamera. PerspectiveCamera использует 3D-начало координат (0,0,0) в центре 3D-сцены. Это то, что вы хотите, или ваши значения позиции, ожидающие, что один из «углов» станет источником? – Birdasaur