Ir para conteúdo
  • Anúncios

    • AiroN

      Anuncie no L2JBrasil

      Deseja anunciar aqui no fórum, no Top L2JBrasil ou em nossa página no Facebook? Confira: www.l2jbrasil.com/anunciar
    • AiroN

      Tenha seu clube formalmente no L2JBrasil!   18-10-2017

      Você tem amigos que estão sempre juntos contigo na alegria e na tristeza, na saúde e na doença, em todos os desenvolvimentos de suas vida, no pvp, nas quests? rsrs   Monte seu clube formalmente na L2J Brasil!
      Criar um clube é muito fácil, basta você entrar nesse tópico e se interar do assunto:    Dominem o mundo!


      Atenciosamente,
      Administração L2jBrasil.
    • Kelvin

      L2Free - Patrocinador L2JBrasil   29-12-2017

        WWW.L2FREE.ORG   Rates Experience x100. Skill points x100. Adena x100.   Enchants Safe +3. Max. Armor +12. Max. Weapon +16. Normal rate 60%. Blessed rate 70%.   Buffs Time 2 hours. Max. slots 20 + 4 divine inspiration (self-skills not count slots). Npc Buff Full (no AIO on server). Npc Scheme Buffer (Macro).   Shop A-Grade by adenas. S-Grade by material farm. Dynasty by drop: Pagan Temple & Raid bosses.   Gameplay Server time (utc -2). Auto loot (not for boss). Auto learn skills. 1st, 2nd, 3rd job free. Subclass free (no quest). Nobless quest. Limited access - 3 sessions per PC. Offline shop - Open store and exit game (unlimited). Bank system - Gold bar (.deposit .withdraw). Wedding system - Npc located in Giran. Champion system - Drops x8 and Lifestone. Color system - 100 1000 2000 3000 4000 5000 7500 10000 15000.   Clan & Alliance Penalties disabled. Only level 8 can bid on auction. Only 2 clans per alliance.   Olympiads Oly period - 2 weeks. Battle time - 20h | 00h. Number of registration to start - 5 players. Become a Hero 5 times and receive skills in all subclasses.   Sieges Siege period - 2 weeks. Min. Level 8 to register. Max. Registered - 10 clans. Max. Flags - 10 (one at a time). Rewards on Tickets - Giran, Aden, Goddard and Rune.   Events TvT Event - automatic system, every 2 hours.   Raid & Grand Bosses Flame of Splendor Barakiel respawn time 2h ~ 4h. Raid bosses respawn time 12h ~ 24h. All Grand bosses level 80+, jewelry drop 100% and are Chaotic Zones.  
Entre para seguir isso  
velvet

Importando e configurando um objeto na Unreal

Posts recomendados

Importando e configurando um objeto na Unreal

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:

www.eat3d.com/free

http://udn.epicgames.com

http://waylon-art.com/LearningUnreal/

http://www.ut40k.planetunreal.gamespy.com/..._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 )

 

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:

 

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! >=)

 

 

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.

 

 

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.

 

 

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

Group – Material

Name – Mesh_Material

 

Esse é o material editor da Unreal, é aqui onde a mágica acontece .

 

 

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

 

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!

 

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.

 

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’

 

 

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’

 

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.. )

 

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.

 

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.

 

 

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

 

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 )

 

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.

 

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!”

 

ADICIONANDO UM PONTO DE PARTIDA

 

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.

 

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

 

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

 

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.

 

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.

 

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.

 

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.

 

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.

 

 

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.

 

 

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’

 

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:

www.eat3d.com/free

http://udn.epicgames.com

http://waylon-art.com/LearningUnreal/

http://www.ut40k.planetunreal.gamespy.com/..._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

Editado por velvet

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisando de Dedicado ou VPS?

Conheça a L2JCenter
Entre para seguir isso  




     



  • Quem Está Navegando

    Nenhum usuário registrado visualizando esta página.

  • Posts

    • Sei que o que irei citar aqui não faz parte da discussão, porém alguém teria ou poderia me indicar como ou onde consigo uma rev h5 limpa? 
    • OBT: February 23th 21:00 (UTC +2)
      LIVE: March 9th 21:00 (UTC +2)
      Lineage 2 Classic 2.0
    • Foi removido, alguém reup?
    • Ona , Quando eu carrego o server da esse erro ? WARN  SpawnTable: Data missing in NPC table for ID: {}. 35807
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35807
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35796
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35807
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 36461
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35804
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35807
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35798
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35802
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35800
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35805
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35805
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35837
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35837
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35838
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35838
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35830
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35829
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 36462
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35827
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35835
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35838
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35838
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35833
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35836
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35836
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35831
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35861
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35869
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35869
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35860
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35870
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35870
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35858
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35870
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35870
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35865
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35863
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35868
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35868
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 36463
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35867
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35906
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35907
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 36464
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35904
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35907
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35906
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35898
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35902
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35900
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35899
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35896
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35907
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35907
      WARN  SpawnTable: Data missing in NPC table for ID: {}. 35905     são vários , tinha uns de xml e armor e outras coisas que eu tirei agora esse eu queria saber se interfere em alguma coisa ? e sobre a system você pode me dizer qual usou ? so a system a interface vou usar a mesma
    • Esse bug na l2jnetwork 31 nao funciona. Pelo menos ate onde testei.
×