3 Passos para a construção de um mundo java 3d

Em poucos passos, você pode começar a criar um programa 3D relativamente simples em JavaFX que exibe o mundo tridimensional (um exemplo é mostrado abaixo). Como você pode ver, este espaço 3D inclui quatro formas: uma esfera, um cubo, um cilindro, e uma pirâmide. Esta pequena lista mostra como começar com um cilindro.

Colocar em seu tampão de pensamento, como este exemplo é bastante técnico, às vezes, e muitos dos conceitos relacionados com a construção de mundos 3D pode ser confuso, especialmente se esta é sua primeira experiência com programação em 3D.

Um exemplo de programa 3D em JavaFX.
Um exemplo de programa 3D em JavaFX.

Passo um: Adicionar um cilindro

Nesta etapa, você adiciona um objeto básico 3D para o seu mundo. JavaFX fornece três formas básicas que você pode adicionar: cilindros, caixas e esferas. Comece adicionando um cilindro:

cilindro cilindro = new cilindro (100,50) -root.getChildren () adicionar (cilindro). -

o Cilindro construtor da classe aceita dois argumentos: o raio do cilindro e sua altura. Este exemplo cria um cilindro aproximadamente a forma de um disco de hóquei, quatro vezes mais largo que é tall- seguida, ele adiciona o cilindro para o nó raiz da cena.

Neste ponto, o cilindro existe no mundo, mas não é visível. Com base no que você sabe de formas 2D, você pode ser tentado a torná-lo visível, adicionando uma cor de preenchimento (setFill) Ou uma cor de traço (setStroke). Mas isso não é como objetos 3D trabalho. No próximo passo, você descobre como aplicar um material para a superfície do cilindro de modo que será visível na cena.

Passo dois: Criar um material

Tornando as faces de um objeto 3D é muito mais complicado do que renderizar objetos planos, bidimensionais. Para um objeto 2D, basta aplicar um Pintura objecto através da setFill método. A pintura pode ser uma cor simples, um gradiente de cor, ou uma imagem.

Video: CONSTRUINDO MINHA CIDADE DE BLOCOS no Block Craft 3D

Para objetos em 3D, você não aplicar a pintura. Em vez disso, você aplicar um objeto especial chamado material de Phong, representado pela PhongMaterial classe. Um material Phong (nomeado após Bui Tuong Phong, um pioneiro especialista em computação gráfica na década de 1970) fornece os meios pelos quais as faces de um objeto 3D são realisticamente prestados.



O código a seguir cria um material Phong simples baseada em dois tons de azul e, em seguida, aplica-se o material para o cilindro:

PhongMaterial Bluestuff = new PhongMaterial () - blueStuff.setDiffuseColor (Color.LIGHTBLUE) -blueStuff.setSpecularColor (Color.BLUE) -cylinder.setMaterial (Bluestuff) -

Depois do material Phong foi aplicada ao cilindro, o cilindro será visível dentro da cena, como mostrado.

O cilindro 3D com um material Phong.
O cilindro 3D com um material Phong.

Passo três: Traduzir o cilindro

Você, sem dúvida notado que o cilindro não parece muito tridimensional. Isso é porque você está olhando para ele edge-on: A câmera está apontando diretamente no cruzamento da xey eixos, e o cilindro é centrada naquele mesmo local.

Para ganhar alguma perspectiva sobre o cilindro, você pode movê-lo para um local diferente no espaço 3D, traduzindo o x, y, e z-coordenadas. Por exemplo:

cylinder.setTranslateX (-200) -cylinder.setTranslateY (200) -cylinder.setTranslateZ (200) -

Aqui, o cilindro é movido 200 unidades para a esquerda, 200 unidades para baixo, e 200 unidades de distância da câmera. A visão resultante se parece mais com um cilindro, como você pode ver aqui.

Video: Tutorial Criando Aplicações Gráficas com Java e NetBeans Aula 1

O cilindro 3D traduzido.
O cilindro 3D traduzido.

Nesta figura, parece que o cilindro tenha sido rodado para a frente de modo que você pode ver um pouco da superfície superior. Este não é o caso, no entanto. O que realmente aconteceu é que você não está mais olhando para a borda-on cilindro.

Em vez disso, porque o cilindro está abaixo da câmera, você está olhando para baixo sobre ele. Assim, você pode ver um pouco da face superior. Você também está olhando para ele de lado, o que explica por que parece apenas um pouco inclinada.


Publicações relacionadas