TUTORIAL 20 - UTILIZANDO SHADERS NO 3D GAME BUILDER
Este tutorial tem como objetivo mostrar como utilizar os recursos de shaders do 3D Game Builder para criar materiais e texturas realistas.
Shader são conjuntos de instruções de software que são utilizados principalmente para calcular e renderizar efeitos no hardware gráfico, com os shader é possível programar diretamente para a unidade de processamento gráfico (GPU).
Os shaders são divididos em dois tipos:
- Pixel Shader - Shader utilizado para trabalhar na estrutura dos pixels depois que os objetos são rasterizados. Com o pixel shader podemos criar efeitos nas imagens, como efeitos de vidro, rugosidade, desfoque e etc. Além disso, também permitem a criação de texturas procedurais.
- Vertex Shader - Shader utilizado para trabalhar na estrutura de vértices dos objetos 3D, podendo modificar a sua estrutura em tempo de execução. É utilizado para otimização dos objetos 3D, pois a partir da programação conseguimos detalhes ou efeitos que seriam muito árduos para serem criados durante a modelagem. Por exemplo modelar as ondas de um oceano além de ser difícil conseguir um resultado bom, alterá-lo dinamicamente para o mar não ficar estático é muito trabalhoso, um vertex shader é capaz de fazer isso com poucas linhas de código.
O 3D Game Builder possui 6 shaders pré definidos:
- Diffuse Specular Shader
- Cel Shading
- Bump Mapping
- Toon Shading
- Gooch Light
- Environment Mapping
A seguir serão apresentados mais detalhes sobre os shaders pré definidos.
O Diffuse Specular Shader é utilizado para simular iluminação mais realista nos objetos. As propriedades do Diffuse Specular Shader são:
- Enabled - Habilita/Desabilita o shader;
- Realistic Specular - Habilita/Desabilita o uso do specular realista;
- Specular Power - Define a intensidade do specular;
- Light Power - Define a intensidade da luz;
O resultado produzido pelo Diffuse Specular Shader é o seguinte:
O Cel Shader permite criar contornos nos objetos 3D, em conjunto com texturas simples pode ser utilizado de modo que o resultado final se assemelhe ao de desenhos em 2D. As propriedades do Cel Shader são:
- Enabled - Habilita/Desabilita o shader;
- OutLines - Habilita/Desabilita os contornos desenhados no objeto;
- Textured - Habilita/Desabilita a textura do objeto;
- BuildShadeTexture - Habilita/Desabilita o shader como textura;
- OutLineWidth - Define o tamanho da linha dos contornos do objeto;
- OutLineColor - Define a cor das linhas do contorno criadas pelo shader no objeto;
O resultado produzido pelo Cel Shader é o seguinte:
O Bump Mapping Shader é utilizado para simular superfícies realistas utilizando texturas. As propriedades do Bump Mapping Shader são:
- Enabled - Habilita/Desabilita o shader.
- Normal Map Texture - Define a textura que será utilizada como normal map para perturbar a iluminação da superfície.
O resultado produzido pelo Bump Mapping Shader é o seguinte:
O Toon Shader é semelhante ao Cel Shader porem não utiliza textura nos objetos. As propriedades do Toon Shader são:
- Enabled - Habilita/Desabilita o shader.
- Edge - Define o limite das bordas.
- Phong - Define o limite para a cor phong.
- Diffuse Color - Define a cor difusa do objeto.
- Phong Color - Define a cor phong do objeto.
O resultado produzido pelo Toon Shader é o seguinte:
O Gooch Shader é utilizado para simular iluminações não foto realistas. As propriedades do Gooch Shader são:
- Enabled - Habilita/Desabilita o shader.
- DiffuseWarm - Define o limite da cor warm (quente) do objeto.
- DiffuseCool - Define o limite da cor cool (fria) do objeto.
- Surface Color - Define a cor da superficie do objeto.
- Warm Color - Define a cor warm (quente) do objeto.
- Cool Color - Define a cor cool (fria) do objeto.
O resultado produzido pelo Gooch Shader é o seguinte:
O Environment Mapping Shader é utilizado para simular reflexões nos objetos. As propriedades do Environment Mapping Shader são:
- Enabled - Habilita/Desabilita o shader.
- Environment Map Texture - Define a textura que seja utilizada para o environment map.
- MixRatio - Define a o valor para interpolação linear.
- Base Color - Define a cor base do do objeto.
O resultado produzido pelo Environment Mapping Shader é o seguinte:
Além dos shaders pré definidos o 3D Game Builder também oferece a possibilidade de o usuário programar os seus próprios shaders através da opção Custom Shader. A linguagem utilizada para a criação dos shaders é a linguagem GLSL, mais informações sobre a linguagem pode ser encontrada no seguinte link: http://www.opengl.org/documentation/glsl/
Após a criação de um shader pré definido ou a programação um novo shader ele já poderá ser associado aos materiais utilizados nos objetos. Para isso acesso o banco de dados de materiais (Banco de Dados -> Materiais).
Todo material possui a opção "Material Shader" e nela duas sub opções: o "Shader Type" que referece ao tipo shader (Diffuse Specular Shader, Cel Shading, Bump Mapping, Toon Shading, Gooch Light, Environment Mapping ou Custom Shader) e a segunda sub opção é a definição de qual shader será utilizado. Por exemplo, se criarmos um novo shader do tipo "Gooch Shader" no banco de dados de Gooch Shaders (Banco de Dados ->Shaders -> Gooch Shader) ao selecionarmos o tipo de shader "Gooch Shader" no material o shader que criamos será listado e poderemos selecioná-lo para aplicá-lo no material.
Após selecionar um shader será possível visualizá-lo na janela de materiais. Salvando o material em que o shader foi associado é possível aplicá-lo normalmente em qualquer objeto do cenário.
A maioria dos shaders dependem de uma fonte de luz, lembre-se de sempre adicionar um fonte de luz no cenário, caso contrario o shader não irá funcionar corretamente.
Créditos: Retirado do Site Oficial: http://www.3dgamebuilder.com.br
Obrigado por suas instruções. muito detalhado e específico, muito útil para mim.
superslot เทคนิคการเล่นสล็อตออนไลน์ โปร 100 คือตัวช่วยในการเล่นสล็อตของผู้เล่น northbristol ที่ต้องการเข้าใกล้คำว่า herbalpertpresents โบนัสให้ได้มากที่สุด ทั้งนี้มันคือ xopg.net ตัวช่วยสำคัญที่ทำให้เรา mavoixtavoie ชนะรางวัลได้ง่ายขึ้นมา สมัคร super ต้องบอกว่า เทคนิคการเล่นสล็อตใช้แล้วมันคือตัวช่วยสำหรับผู้ที่ชอบเล่นเกมการพนันเท่านั้น ทดลองเล่นสล็อต ซึ่งเทคนิคต่าง ๆ ไม่ เทคนิคสล็อต เพียง reeffutures2018 เป็นตัวช่วยการทำเงินอย่างเดียวเท่านั้น gclub ยังช่วยสอนให้ slotsuper เรารู้จักและเข้าใจเกมการพนันมากขึ้น
เราคือผู้ให้บริการ superslot เกมสล็อตออนไลน์ northbristol สำหรับบนมือถือ reeffutures2018อันดับ 1 ของประเทศไทย โปร 100 รองรับทั้ง iPhone หรือระบบ IOS และ Android เทคนิคสล็อต เว็บ สล็อต herbalpertpresents ของเรามีเกมส์ให้เลือกเล่นกว่า 200 เกมส์ mavoixtavoie ไม่ว่าจะเป็น xopg.net/ สล็อตยิงปลา เสือมังกร รูเล็ท แข่งม้า ไฮโล เกมคาสิโน Casino และ gclubอีกมากมาย ทดลองเล่นสล็อต เติมเงิน ถอนเงินผ่านระบบอัตโนมัติ. เพื่อนๆ slotsuper สามารถ ดาวน์โหลด ผ่านทาง QR Code ข้างล้างนี้ได้เลย สมัคร super
Thanks for sharing this information. I really like your blog post very much. You have really shared an informative and interesting blog post. play snake
I don't believe I've ever come across such incredible blogs. I was able to acquire the redactle unlimited comprehensive material with all of the specifics that I desired. Thus, kindly keep us up to date.
I’m typically in order to running a blog and that i actually appreciate your articles. The write-up has actually highs my curiosity. I will save your own web site and maintain checking for brand spanking new data. Peq 15