A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

AreaPortal Visibility By Filami. Objectivos Por em prática técnicas de determinação de visibilidades usando AreaPortals; Desenvolver uma aplicação experimental.

Apresentações semelhantes


Apresentação em tema: "AreaPortal Visibility By Filami. Objectivos Por em prática técnicas de determinação de visibilidades usando AreaPortals; Desenvolver uma aplicação experimental."— Transcrição da apresentação:

1 AreaPortal Visibility By Filami

2 Objectivos Por em prática técnicas de determinação de visibilidades usando AreaPortals; Desenvolver uma aplicação experimental com o intuito de mostrar uma técnica de determinação de visibilidades para cenários de interiores; Desenvolver Know How para futuras aplicações em jogos estilo Doom3 ou Unreal Tournement.

3 O que são AreaPortals? Uma técnica que permite separar um cenário em diferentes áreas interligadas por portais; Permite a determinação de visibilidades dos objectos contidos de forma rápida e eficiente; Muito eficaz para cenários de interiores, ricos em salas, corredores e correspondentes portas.

4 Como contruir um cenário com AreaPortals? Todos os cenários são constituidos por vários objectos que adicionam detalhe e ambiente ao cenário; Este cenário é inadequado à contrução das estruturas de dados, contem demasiados pequenos detalhes e será difícil identificar as áreas;

5 Como contruir um cenário com AreaPortals? (cont.) O cenário é então separado em 2 tipos de objectos: A Cage contendo apenas as paredes, tectos e chãos; Static Meshes com o resto dos detalhes; Na imagem ao lado, apenas a Cage é mostrada no mesmo ponto de vista da imagem anterior.

6 Como contruir um cenário com AreaPortals? (cont.) À Cage são então adicionados novos modelos que serão identificados como portais e que irão ligar as diferentes áreas.

7 DEMO

8 Construção Depois de lido o cenário do disco, este terá de ser preparado: Deverão ser calculadas as áeras que constituem o cenário; Deverão ser calculados os portais e respetivas ligações às áreas; Será, no entanto, necessário primeiro subdividir o cenário original em volumes convexos.

9 Binary Space Partition (BSP) O BSP permite a divisão da Cage em volumes convexos; Um BSP é uma árvore computacional binária cujo divisor são planos tridimensionais; Na imagem ao lado pode- se ver um exemplo de um pequeno cenário em 2D dividido numa BSP.

10 Binary Space Partition (Cont.) Como foi possivel constatar, o BSP tende a cortar alguns triangulos do cenário; Estes cortes devem ser minimizados e isso é possivel graças ao deselvolvimento de uma heuristica de sub-divisão que minimiza os cortes sem sacrificar balanceamento da árvore; As imagens ao lado demonstram os cortes efectuados pela aplicação.

11 Binary Space Partition (Cont.) Ao lado está então representada a àrvore computacional contruída a partir do actual cenário de teste; Os pontos azuis são os nós contendo os planos de corte; Os rectangulos são as folhas da árvore contendo o número de faces da Cage associados a essa mesma folha.

12 DEMO

13 Cálculo das Áreas Após dividir o cenário em volumes convexos, é então possível determinar onde ficam as áreas do mesmo cenário; As áreas são computadas através de raytracing; Entre cada par de folhas, são traçados um certo número de raios aleatórios; Se algum destes raios não for ocludido, as duas folhas têm de fazer parte da mesma área; Os portais não deixam passar os raios.

14 Cálculo das Áreas (Cont.)

15 Para alem de ocludirem os raios, os portais também os usam para determinar que áreas é que o portal interliga; Quanto um portal recebe um raio vindo de uma folha que já pertence a uma área, este portal guarda essa área e a mesma áera é notificada de que aquele portal está no seu interior; Os portais conhecem as suas áreas e as áreas conhecem os seus portais.

16 Cálculo das Áreas (Cont.) Os portais também são simplicados; A geometria destes são aproximadas a rectangulos que, no futuro, simplificarão o sistema de determinação de visibilidades.

17 DEMO

18 Aplicação Depois de computadas as estruturas de dados necessárias, é então possivel, a partir de um determinado ponto de vista, identificar quais as áreas e folhas da árvore que são potencialmente visiveis.

19 Como se usam os portais? É calculado um tronco (frustum) a partir de um ponto de vista; esse tronco é usado para determinar quais os objectos potencialmente visiveis; Os portais cortam os troncos de visão; desta forma, os troncos não são capazes de observar através das paredes.

20 DEMO

21 E os detalhes? Agora que já foram identificadas as áreas do cenário e que já é possivel determinar quais as áreas potencialmente visiveis para um determinado ponto de vista, como é que se volta a adicionar os detalhes do cenário original?

22 E os detalhes? (Cont.) Cada detalhe do cenário é representado por uma malha poligonal e cada malha poligonal contem um volume envolvente em forma de caixa (Bounding Box). Esta caixa pode ser inserida, através da ajuda da BSP, numa folha (e correspondente área); Depois de inserida na cena, a malha poligonal pode então usar a esturtura subjacente de AreaPortal para determinar se potencialmente visivel para um determinado ponto de vista.

23 DEMO

24 Onde são estas técnicas já usadas? Muitos jogos hoje em dia usam AreaPortals, ou técnicas semelhantes, para acelerar o desenho dos seus cenários de interiores; Um exemplo concreto é o Doom3, que usa técnicas muitos semelhantes às aqui apresentadas tanto para contrução do cenário como determinação de visibilidades; O Unreal Engine também é um motor muito eficaz para cenários interiores e, também ele usa algumas das técnicas apresentadas para visualização e outras.

25 Prey Prey é um jogo da autoria da 3DRealms que usa o mesmo motor de jogo desenvolvido para o Doom3; Usa o sistema de visualização usado no motor original; Estas imagens foram tiradas da demo jogavel do jogo e mostram os portais em funcionamento.

26 Prey (cont.)

27 Unreal Engine Numa artigo escrito por Lee Perry para a Game Developer Magazine, lead level designer da Epic Games, é possivel notar quer este engine usa também o conceito de Cage e detail meshes: Cage usado para BSP e criado usando CSG (Constructuve Solid Geometry) Adição de Static Meshes adicionando detalhes importantes ao cenário. http://udn.epicgames.com/Three/rsrc/Three/ModularLevelDesign/ModularLevelDesign.pdf

28 Unreal Engine (cont.) Os seguintes websites do UDN também explicam em mais algum detalhe as técnicas usadas neste motor para o desenvolvimento dos cenários: http://udn.epicgames.com/Two/IntroToUnrealEd.html http://udn.epicgames.com/Two/LevelOptimization.html

29 Trabalho Futuro... Criar uma ferramenta de leitura e compilação de cenários para ser integrada numa workflow artisitica e editores de níveis; Desenvolver CSG (Contructive Solid Geometry) para a criação das Cages facilitando o trabalho dos artistas.

30 ? ? ? ? ? ? ? ? ? ?

31


Carregar ppt "AreaPortal Visibility By Filami. Objectivos Por em prática técnicas de determinação de visibilidades usando AreaPortals; Desenvolver uma aplicação experimental."

Apresentações semelhantes


Anúncios Google