Pergunta

É possível carregar objetos 3D em um aplicativo Silverlight 3 ou Silverlight 4? (3DS MAX Objects ou outros formatos). Além de carregar o objeto, também preciso de alguma interação básica - rotações simples, aumente/saída de zoom.

Foi útil?

Solução

Eu acho que o motor 3D gerenciado Balder Pode ser a escolha certa para você. Ele corre muito bem em Silverlight e eu o usei com Silverlight 3 e 4b. Balder suporta o formato ASE no momento, mas Einar e seus colaboradores estão trabalhando duro no motor e eles querem apoiar mais formatos de malha no futuro.

Outras dicas

Na verdade, não.

Pode haver alguns liberes por aí que podem trazer alguns efeitos limitados em 3D-ESQ para o SL (na verdade SL 3 vem com um pouco disso). No entanto, o SL realmente não tem um bom suporte 3D.

Existe o velho Kit3d Projeto, mas não, onde está agora, ele não teve uma atualização no último ano.

Claro que é possível. Quanto código você deseja escrever? Quão bom ele tem que parecer?

A idéia de 3D em Silverlight é a mesma que 3D em flash. Você pode fazer isso, se você estiver com sua trigonometria e álgebra básica. É muito fácil, a menos que você esteja enferrujado.

Primeiro, você precisará exportar seus vértices para um formato que possa ser lido ou incorporado diretamente ao seu projeto. Em seguida, você precisará gerar vários triângulos e empurrar alças para eles em uma matriz.

Você não pode fazer iluminação de vértices com muita eficiência, então provavelmente está preso a sombreamento plano. Antes de cada quadro, você deve:

  • Atravesse sua geometria
  • Aplique suas rotações e transformações (posição, escala)
  • Ajuste um triângulo em sua matriz para cada triângulo em sua geometria (com matrizes aplicadas)
  • Classifique seus triângulos de volta à frente
  • Ajuste a cor de cada triângulo (apenas uma vez é melhor)
  • Etc.

Você seria pressionado a exceder 1.000 triângulos / 3.000 verts. Você pode fazer isso, mas não se quiser fazer outras coisas ao mesmo tempo.

Então sim. É totalmente possível, mas não algo que seja pronto nem integrado ao Silverlight. Por enquanto, temos que recorrer à maneira de fazer gráficos 3D como os velhos tempos ... à mão.

Quase impossível carregar o objeto máximo 3DS em Silverlight 3/4.

Google O3D é provavelmente o seu caminho para ir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top