Archive for the Tutorials Category

Importando e configurando um objeto na Unreal

Posted in Tutorials on março 5, 2009 by funkdelic

Olá


Montei esse tutorial bem BASICO apenas para mostrar como importar um objeto simples dentro do editor da unreal.
Antes de mais nada gostaria de lembrar que o conteúdo desse tutorial não foi criado por mim, eu apenas adaptei de tutoriais dos links:
http://www.eat3d.com/free
http://udn.epicgames.com
http://waylon-art.com/LearningUnreal/
http://www.ut40k.planetunreal.gamespy.com/unreal-Dateien/UT3_tutorials.html
credito para os autores originais.

Arquivos para usar no Tutorial

http://dl.getdropbox.com/u/691893/Unreal_Tut001.rar

Max: Dentro do max, após terminar a modelagem, resete os eixos e coloque o modelo no centro da viewport ( 0,0,0 )
File>Export Selected> Nome do arquivo.ASE
Feito isso, exporte todas as texturas como .tga
Abra o Unreal editor ( você tem que ter um jogo que use a engine, como Gears of War, Unreal Tournament 3, 2004, 2007 )

1

No meu caso, eu uso o steam, é só clicar com o botão direito no nome do jogo e pedir para rodar como editor.
Pode demorar um pouco, é um software meio pesado, aqui na minha maquina demora quase 1 minuto.
Essa é a tela do editor. Eu sugiro não desligar as ‘Tips of the day’ sempre tem uma dica ai 😛

IMPORTANDO PARA O EDITOR UNREAL

Unreal Editor:

2

A viewport é meio alien, eu sei, ainda não me acostumei direito, porém já não está tão estranha aos meus olhos, a primeira coisa que você deve notar, é o generic browser que ele abre junto com a engine, se não abrir, vá em View>Browser Windows>Generic, é dentro do generic browser que você vai importar todo o material para começar a editar na unreal!  >=)

3

4
File>Import. – procure o arquivo .ASE, que no meu caso é o parede_mesh.ase, de um nome para o seu pacote, um nome para o grupo ( como é um mesh, grupo mesh ) e um nome para esse mesh que você está importando.
Feito isso, clique OK.
Pode levar alguns segundos

Dentro do Generic Browser tem trocentos pacotes, scroll down até achar o seu recém criado pacote.
Por enquanto só temos a mesh da parede ali, sem texturas, sem material, sem nada.
Importaremos as texturas para criarmos o material.

6

7

Novamente, File>Import agora selecione as texturas, Diffuse.tga e Specular.tga, habilite a opção CompressionNoAlpha, pelo simples fato de não termos mapas de alpha nessa textura, isso salva memória dentro da engine, Compression Settings deixe como TC_Default Nomeie o grupo para TEXTURES agora o nome pode deixar o mesmo que está, ele nomeia automaticamente de acordo com o nome do arquivo da textura, clique Ok to All.  De novo! File>Import agora o normal map, CompressionSettings = TC_NormalMap CompressionNoAlpha habilitado

OK.

CRIANDO O MATERIAL 1
Ok, agora com todas as texturas importadas, criaremos o material para aplicar no modelo.

8

9
Clique com o botão direito dentro do Generic e clique em ADD NEW MATERIAL.
Group – Material

Name – Mesh_Material
10
Esse é o material editor da Unreal, é aqui onde a mágica acontece :).

11

12

Com o botão esquerdo como pode controlar o ‘PAn’ do editor, o scroll do mouse controla o zoom, e clicando sobre um slot segurando o crtl você pode movê-lo. Selecione sua Diffuse no Generic, dento do Material Editor, scroll down até TextureSample.
Clique e arraste o TEXTURESAMPLE para a área cinza do material editor, ele vai criar um slot com sua textura, agora ligue as texturas nos respectivos canais, Diffuse em Diffuse, Specular em SPecular e Normal Na normal

13
Nota: Podem ver pela imagen que meu normal está invertido! para arruma, volte no photoshop, vá à aba channels, selecione apenas o canal green, ctrl+I para inverter, e depois clique novamente em RGB para habilitar todos os canais, salve com o mesmo nome, NORMAL.TGA, de volta na unreal, clique com o botão direito sobre o normal map, e clique em RE-IMPORT TEXTURE. Pronto, o normal está certo agora!

14
Com o material pronto, clique no Sinal de ”check” verde, o primeiro da esquerda para a direita.agora vamos aplicar o material clique 2 vezes no seu mesh para abrir o mesh editor.

15

Agora para aplicar a textura, abra LODINFO e abra todas as abas dentro, a ultima aba tem a opção material, de volta no generic browse seleciona seu material com um clique, e depois clique na seta verde para ele usar o material que você selecionou
Pronto, agora estamos com o mesh e material prontos para de fato usarmos no nosso ”mapa”.

ADICIONANDO MESH NO ‘MAPA’

16

17

Com a mesh selecionada, clique na viewport, e escolha a opção igual na imagem. Você vai notar que o modelo está em wire frame, aperte G para ligar a visão em real time.
Você  vai perceber, que o modelo está sem nenhuma fonte de luz, por isso não esta aparecendo, habilite a opção unlit para ”apagar as luzes” assim o modelo fica com o self illumination ligado e você pode ve-lo na viewport.
Nota: a perspective view é bem chata, alias, é muito chata de controlar, o botão esquerdo da um zoom e pan ao mesmo tempo, o direito move a câmera, o scroll do mouse para zoom, para controlar eu tive que fazer uma combinação de movimentos entre o esquerdo, direito, pra cima pra baixo meia lua com soco forte, depois de um tempo você se acostuma, você pode controlar também pelas setas do mouse.
Bom, importamos o mesh e os materiais, mas ta muito chato de olhar, para tornar as coisas mais legais, vamos adicionar alguns pontos de luz.

ILUMINANDO O OBJETO NO ‘MAPA’

18
Clique com o botão direito na viewport, Add Actor, Add Ligh Point, ou então, segure a tecla L e clique no seu mesh, ele vai criar a luz no mesmo lugar do mesh.
Agora se clicarmos em Lit novamente para ver a iluminação nada acontece, isso porque ainda temos que associar a luz ao mesh, clique duas vezes no mesh, ou clique 1 vez no objeto e aperte f4 , ele vai abrir as propriedades desse objeto, navegue até a opção Collision> COllision Component> Lighting, habilite bCastDynamicShadow, depois mais pra baixo tem a opção LightingChannels, habilite a opção STATIC.
Outra forma de habilitar a luz, é abrindo as propriedades da luz, light>lighcomponent>lightingchannels> habilite DYNAMIC.
As duas maneiras dão o mesmo resultado ( para a luz, não sei dizer para outras funções, ainda.. 🙂 )

19
Novamente, nas propriedades da Luz, tem algumas opções importantes que você pode mudar e brincar para consseguir um resultado bacana, Brightness,radius, FalloffExponent e light color são as que voce pode alterar para obter resultados bons e rápidos, deixe a opção CastDynamicShadows habilitada para umas sombras ‘dah hora’.
Brightness: define quanto sua luz brilhará.
FalloffExponent: ele controla a ”queda” da luz sobre o objeto, deixe o brilho bem forte e aumente bem o fallof, voce tem um controle melhor da ilmunação, quanto mais alto mais escuro a luz fica, quanto menos o valor, mais claro.
radius: o radius serve para voce controlar o alcance da luz
Light Color:essa é a opção mais difícil de configurar, clique na lupa ao lado da cor e escolhe a cor que você quer! ufa…
Bem, configurada a primeira luz, faça algumas copias dela e posicione pelo mapa para ver um efeito melhor, mude a configuração das outras luzes para obter uns efeitos legais ( para duplicar, clique no obj, segure a tecla alt e mova o objeto, ele vai automaticamente duplicar aquele objeto e move-lo, ou então vá até EDIT>Duplicate)
Voce pode adicionar outros tipos de luzes, como spot, directional e skylight.

20

Abra o Generic Browser, abra a aba actor classes, aumente a opção lights, pode ver varias opções de luzes, clique em Spotlight, e depois na viewport com o botão direito clique em add spotlight here agora posicione a spotlight na viewport, voce vai perceber novamente que ela não está afetando o objeto, precisamos ligar a opção DYNAMIC dentro de LighComponents>LightingChannels.

A spot light além das configurações da luz normal, brightness, color etc, tem outras 2 interessantes, como a InnerConeAngle e OuterConeAngle.

21

22
Ambas servem para definir como a luz se comportará no objeto, se você deixar a inner perto da outer, a luz vai ficar com a sombra bem marcada, voce pode controlar isso para deixar a sombra mais suave ou mais marcada, de acordo com o que voce precisa.
MATERIAL 2

23
Bom, está legal até agora, conseguimos iluminar de uma maneira que deixa o objeto interessante na visão real time, mas ainda da pra deixar mais interessante, pra isso agente vai adicionar umas ”perfumarias” no material.
Vamos usar nosso specular junto com outras opções para criarmos um specular colorido. abra o material editor desconecte a textura specular do canal specular ( botão direito break link )

24
Nos vamos precisar de 2  “material expression” para isso, Constant vector 3 ( para adicionarmos cores, vector 3 pois ele trabalho com R,G e B , o vector 2, com R e G , e o constant apenas trabalha com o canal de alpha ) e o Multiply.
Clique e arraste as opções Constant Vector 3 e Multiply para a área de trabalho do material editor.Usaremos o constant vector 3 para definir a cor do specular, clique uma vez nesse slot, habilite agora a opção bRealtimePreview, e mude para uma cor que lhe agrade, no meu caso R-2, G-3, B-4
Usaremos o multiply para unir nosso specular a cor que acabamos de criar com o Constant, para isso ligue a textura do specular na opção A do multiply e o constant na Opção B, voce vai perceber que o slot do multiply ficou com a textura do specular e com a cor do constant, ligue agora o multiply no canal specular, e pode perceber a diferença na hora.

Ficou bonito e interessante, porem um pouco forte e não está parecendo natural, podemos controlar a intensidade desse specular se adicionarmos um constant ao canal specularPower, a principio ele vai estourar o specular, porem se voce aumentar o valor do R para algo em torno de 10 ou 15 ele vai controlar de uma forma mais natural o resultado, faça alguns testes e veja qual valor se encaixa melhor!

Podemos também usar um Constante Vector 3 para adicionar uma cor diferente ao diffuse! Os passos são os mesmos do specular, é são conectar o multiply novo ao diffuse.

É importante manter o material editor organizado, para facilitar a leitura, esse material está super simples com poucos nodes, imagina o material usado no Gears of war por exemplo, deve dar medo, sem uma organização o jogo nunca teria saído.

25
Em cada textura e material expression tem a opção DESC ( DESCRIPTION/descrição) então sempre coloque os nomes das texturas e relacione os material expressions com cada uma das texturasm por exemplo ” Multiply do SPecular”, outra coisa que ajuda muito a manter a organização são as Comment Box, segure control e clique nos nodes Diffuse Color e Diffuse Multiply, e aperte C, faça um comentário sobre esses nodes para facilitar para o outro artista se localizar, ou até mesmo para você não se perder depois.
Feito isso, clique no checker verde para salvar o material e mostrá-lo em real time.
Nota: ainda não descobrir como controlar a intensidade do normal map, mas assim que eu achar algo atualizo aqui 🙂
Nota2: Não esqueçam que a cor das luzes influenciam diretamente no material, se a luz estiver vermelha ofuscante de cabaré, e o seu material com uma textura verde água, “APAGA A LUZ!”

26
ADICIONANDO UM PONTO DE PARTIDA

27
Bom isso tudo que fizemos não tem a mínima graça se não colocarmos de fato dentro do jogo, para fazer isso, precisamos adicionar um PlayerStart.

28
Posicione o ícone do playerstart de frente para a parede, feito isso clique no ícone do joystick no painel de menus.

29

Quando a janela do editor in game aparece, 3 coisas acontecem, 1 voce cai, infinitamente, 2 a mensagem LIGTHING NEEDS TO BE REBUILT aparece, isso acontece porque não fizemos o bake das luzes, e 3 fica uma bagunça divina na tela, segundo o pessoal da EAT3D isso é um problema de redraw da engine, eles adicionaram algumas atualizações para que não tivesse um redraw em nada que estivesse contra o background, para concertar isso tudo, vamos por partes

30
1 – pra agente não cair infinitamente pelo editor, precisamos adicionar, nada mais nada menos que um ‘chão’. Para criá-lo, clique no seu mesh, e clique em cube na aba da esquerda da tela, voce vai notar que um cubo pequeno foi adicionado no mesmo lugar do mesh.Clique com o botão direito no ícone do cubo ( no ícone, não no cubo ), agora mexa nas configurações para ajustar o tamanho altura e profundidade do seu chão.

31
Feito isso, posicione o ‘chão’ debaixo de sua parede, agora para fazer com que não caiamos mais, vamos adicionar um BlockingVolume, selecione o cubo na viewport, clique com o botão direito no ícone da imagem e selecione BlockingVolume.
Clique novamente no ícone do joystick e você vai notar que o primeiro erro já esta concertado.
Nota: Minha parede ficou minúscula dentro da engine, se seu objeto estiver muito pequena, clique nele, f4 para abrir as propriedades, aba Display>DrawScale3D, altere os valores de x y e z para um tamanho mais adequado, no meu caso 2 2 2
2 – Toda vez que voce muda alguma configuração de luz, voce tem que dar um bake ou um build nela, para isso vá no menu BUIL> BUILD ALL.
32

3 – Esse é um pouco mais trabalhoso, para arrumar o problema de redraw do background vamos adicionar um elemento chama CSG:ADD, ele vai servir como nossa parede, selecione aquele cubo que voce usou como chão, posicione-o em cima da parede e das luzes ( se precisar redimensione ), e clique em CSG:ADD, repare que foi criado outra box cinza.

33

Agora o que voce tem que fazer é construir em volta do seu objeto uma espécie de caixa, para fazer isso voce movimenta o box para o lugar correto e clica em CSG:ADD, lembre-se de fechar por completo, em todos os lados e de usar o mesmo tamanho e largura para todos.

34

Note que agora a textura da parede também ficou no chão e nas paredes, isso acontece porque provavelmente ao clicar em CSG:ADD o material da parede estava selecionado no Generic Browser, então ele adiciona o objeto já com o material que você estava selecionando.

35

36

Na perspective view, aperte G novamente, selecione a ‘parede’, botão direito > select all surfaces, aperte f5 para abrir as propriedades e desabilite a opção Accepts Lights e em LightingChannels desabilite a opção BSP, clique em apply, agora BUild>Build All.

37

38

Outra opção é Você  clicar na surface e ir na opção apply material, eu escolhi um material default, mas você pode colocar o que quiser.Lembrando que o material tem que estar selecionado dentro do Generic Browser.Feito isso, Build>Build All,  voce pode clicar novamente no joystick, vai repara que agora voce pode andar pelo cenário livremente e sem problemas de redraw ou ‘quedas’ 😛

39
A imagem acima é um exemplo que fiz, utilizei também uma skylight, para usar a skylight não feche o ”teto” se não a luz não funciona.

Se você aperta Tab. dentro do ‘In game editor’ vai abrir o console, alguns comandos úteis são

setres ( largura )X( altura ) para redimensionar a tela da forma que voce quiser, por exemplo setres 800×600

togglehud para tirar os creditos que fica no topo da tela.
Agora não se esqueça de salvar tudo que você fez haha, no generic browser, file>save

Bom é isso ai, acho que é uma boa introdução pra galera que tem curiosidade!

Gostaria de lembrar que o conteúdo desse tutorial não foi criado por mim, eu apenas adaptei de tutoriais dos links:

http://www.eat3d.com/free
http://udn.epicgames.com
http://waylon-art.com/LearningUnreal/
http://www.ut40k.planetunreal.gamespy.com/unreal-Dateien/UT3_tutorials.html

Abaixo, um video de um personagem que fiz dentro da engine, o material está configurado usando os nodes que eu mostrei aqui, o resultado é bem legal.
http://www.vimeo.com/3475573

Espero ter ajudado, assim que eu for aprendendo mais eu vou postando mais, mas
Acho que com esse tutorial da pra fazer alguma coisa já!
Abraços

Anúncios