[Curso Gm 3D] Aula 3: MODELAGEM DE SHAPES

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

100% [Curso Gm 3D] Aula 3: MODELAGEM DE SHAPES

Mensagem por Mr.Brum em Ter 14 Fev 2012, 15:28

ENGINE: Game Maker
NÍVEL: intermediário
TEMA: Game Maker, Modelagem.
PRÉVIA: Vamos aprender o básico da modelagem no Game Maker,falarei sobre a criação de shapes básicos,que temos no GM.


INTRODUÇÃO

A modelagem por gml pode parecer complicada, mas com experiência pode tornar-se fácil!
Os eixos devem ser observados antes de se modelar algo,lembre-se que a referência do ponto,é a origem da room,ou seja, se você fornece a coordenada 320 como x1,a origem no eixo x do objeto será a posição x: 320 da room.Mas se você define x1 como x-16,a origem do modelo no eixo x, será:  16pixels antes do seu modelo no eixo x.


ATRIBUTOS

A modelagem de um shape é definida por uso de funções pré-definidas, com atributos a serem configurados.
Os atributos vão definir a posição,escala e texturização de um shape.
Abaixo eu detalho cada um:



Observem um exemplo de cubo,com as coordenadas destacadas:



Como podem ver, cada coordenada define o limite de renderização do objeto.São elas:
x1= é a origem do modelo no eixo x.
x2= é o fim do modelo no eixo x.
y1= é a origem do modelo no eixo y.
y2= é o fim do modelo no eixo y.
z1= é a origem do modelo no eixo z.
z2= é o fim do modelo no eixo z.

Além das coordenadas, os shapes podem ter os seguintes parâmetros:
texid= aplica uma textura ao shape,podendo ser uma cor,background ou sprite:
   cor= -1 ; vai deixar o shape com a cor definida no draw_set_color().
   background= background_get_texture(NOME_DA_BACKGROUND)
   sprite= sprite_get_texture(NOME_DA_SPRITE,SUB_IMAGEM)
hrepeat= quantidade de vezes que a textura se repetirá na horizontal, no shape.
vrepeat= quantidade de vezes que a textura se repetirá na vertical, no shape.
closed= indica se o shape será:    fechado(1) ou aberto(0) . (cilindro e cone)
steps= arredondamento do shape,tenha 24 como padrão,aumente pra ficar mais "redondo" ou diminua pra deixar mais "quadrado". (elipsoid,cilindro e cone)


SHAPES




 Os shapes do GM são modelados por códigos gml,cada shape tem sua função pré-determinada,com atributos a serem configurados.
São eles:

Floor(solo)
Os Floors,são os shapes mais simples de se modelar,são uma malha plana e fina,que se desenha da origem(x1,y1), até o fim(x2,y2),tendo a as coordenadas de altura(z1,z2) como inclinação.
Eles são usados na intenção de simular uma plataforma,por isso suas coordenadas z1 e z2 devem ser iguais(ou próximas),para que ele não fique desequilibrado.
Textura: se repete em ambos os lados.
Code:  d3d_draw_floor(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)


Wall(parede)
A wall é bem parecida com o floor,porém é usada para simular paredes.
Ela deixa a critério do maker a escolha se será vertical ou horizontal.
Por exemplo,se vc quer a parede no eixo y, vc terá que definir valores não-nulos para x1,x2,z1,z2, deixando o eixo y(y1,y2) =0, verás que a parede fica reta, e de pé! Caso queira incliná-la lateralmente,altere o eixo y(y1,y2).
Textura: se repete em ambos os lados.
Code:  d3d_draw_wall(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)

Block(cubo)
Os blocks são bastante usados no GM3D,ele aprsenta uma forma que deve ocupar espaço nas 3dimensões e são bem simples de se modelar.
Você não precisa anular nenhum eixo.
Textura: se repete em ambos os lados.
Code:  d3d_draw_block(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)

Elipsoid(esfera)
A elisoid é uma das formas mais interessantes do GM, com ela podemos dar um toque melhor ao jogo, e através de um atributo chamado steps , você pode definir o arredondamento do shape.
Textura: Envolve toda a forma,se originando do centro superior do shape até o centro inferior.
Code: d3d_draw_ellipsoid(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,steps)

Cyllinder(cilindro)
Os cyllinders são desenhados de forma vertical(em pé).O atributo closed dele vai indicar se suas superfícies serão fechadas.Já o step vai indicar o arredondamento da forma.
Textura: Envolve toda a forma,lateralmente. As superfícies terão a cor base da textura, mas não serão propriamente texturizadas.
Code: d3d_draw_cylinder(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)

Cone(pirâmide)
Os cones são algo como uma pirâmide, e também são desenhados na vertical(em pé).
Iniciam com uma ponta bem fina,e vai se largueando,até a base.Seu atributo closed indica o fechamento da malha, e steps , o arredondamento.
Textura:  Envolve toda a forma,lateralmente. A superfície inferior(larga) terá a cor base da textura, mas não serão propriamente texturizada.
Code:  d3d_draw_cone(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)


PRATICANDO

Vamos criar uma engine com todos os shapes que aprendemos aqui.
Abriremos a engine da aula passada,para aproveitar a câmera e o solo,e introduziremos as outros shapes.

1º-> Abra a engine da aula anterior , ou se não a fez, baixe ela AQUI.

2º-> Crie um objeto, e chame-o de ofloor.
Coloque no draw:
Código:
<i>/*modelamos um shape floor(solo), na altura(z1,z2) 0,que vai da origem(0,0) da room, até o final da room. Com a textura do solo,se repetindo 32x.*/</i>
<i>d3d_draw_floor(0,0,0,room_width,room_height,z,bsolo,32,32)</i>

3º-> Crie uma background de 128x128,com a textura que desejar,coloque o nome dela de besfera.
Crie um objeto,e chame-o de oelipsoid.
Coloque no draw:
Código:
<i>//definimos a transparência de desenho para 0.7</i>
<i>draw_set_alpha(0.7)</i>

<i>/*modelamos uma esfera,na posição onde colocamos ela na room,com uma textura de repetição única.E um arredondamento de 24</i><i>.</i><i>*/</i>
<i>d3d_draw_ellipsoid(x-8,y-8,0,x+8,y+8,16,background_get_texture(besfera),1,1,24)</i>

<i>//voltamos o a transparência de desenho para 1.</i><i>
</i><i>draw_set_alpha(1)</i>

4º-> Crie um objeto,e chame-o de oblock.
Coloque no create:
Código:
<i>//declaramos a var z=5.</i>
<i>z=15</i>
Coloque no draw:
Código:
<i>/*criamos um bloco,e desenhamos ele na posição do objeto na room,e na altura definida em z, este bloco não terá textura, e será renderizado com a cor usada para desenhar.(que neste caso,é branco!)*/</i>
<i>d3d_draw_block(x-10,y-10,z-10,x+10,y+10,z+10,-1,1,1)</i>
<i>
</i>

5º-> Crie uma background de 128x128 e coloque o nome de bmuro.
Crie um objeto,e chame-o de owall.

Coloque no Create:
Código:
<i>z=0</i>
Coloque no draw:
Código:
<i>/*modelamos uma parede em pé,no eixo x,anulamos o eixo y,para que ela fique reta,será desenhada no local onde está o objeto,com a textura do muro,se repetindo 10x hor e 1x ver.*/</i>
<i>d3d_draw_wall(x-100,y,z,x+100,y,z+10,background_get_texture(bmuro),10,1)</i>
<i>
</i>

6º-> Crie uma objeto e coloque o nome de ocone.
Coloque no Create:
Código:
<i>z=20</i>
Coloque no draw:
Código:
<i>//definimos a cor de desenho para amarelo.</i>
<i>draw_set_color(c_yellow)</i>
<i>/*modelamos um cone,no local do objeto,na altura de z,sem textura,usaremos a cor de desenho,definindo ele como fechado, e com um arredondamento de 8.*/</i>
<i>d3d_draw_cone(x-10,y-10,z-10,x+10,y+10,z+10,-1,1,1,1,8)</i>
<i>//voltamos a cor de desenho para branco novamente,para que o resto do jogo não fique amarelo.</i>
<i>draw_set_color(c_white) </i>

7º-> Crie uma background e coloque o nome de bcilindro.
Crie um objeto,e coloque o nome de ocilindro.
Coloque no create dele:
Código:
<i>z=0</i>
Coloque no draw:
Código:
<i>//modelamos um cilindro fechado,no local onde está o objeto,na altura de z,com 24 de arredondamento.</i><i>
</i><i>d3d_draw_cylinder(x-10,y-10,z,x+10,y+10,z+30,background_get_texture(bcilindro),1,1,1,24)</i>

8º-> Crie uma nova room, coloque o nome dela de: Shapes.
Coloque a câmera nela.
Coloque os objetos espalhados por ela.
Teste o jogo.
Mova-se pelo cenário, e olhe atentamente cada forma.
Perceba , como cada uma tem características individuais, note também os efeitos que aplicamos a cada uma:
-O solo,que tem o eixo na origem da room.
-A esfera com transparência.
-O bloco que está sem textura, usando a cor de desenho que é branco.
-O muro, com textura que se repete apenas na horizontal.
-O cone que fica no alto e é desenhado com a cor amarela sem afetar os outros shapes.
-O cilindro com altura e textura não repetida.


Existem outras formas de modelagem no GM, porém, essa é a mais fácil, e a mais provável.
Fique atento para suas texturas, que devem ter medidas proporcionais aos modelos.
As texturas de 128x128, 256x256 e derivadas, quase sempre dão certo no seu shape, mas às vezes é preciso alterá-las.
Nas próximas aulas eu vou abordar outras formas de modelagem e falarei mais sobre as texturas.
Edit: Aqui está o link,pra quem não conseguiu criar a engine:

What a Face
FONTE: http://mrbrumgames.blogspot.com/


Última edição por Mr.Brum em Sab 21 Fev 2015, 01:16, editado 3 vez(es)

Mr.Brum

Ranking : Nota C
Número de Mensagens : 913
Idade : 25
Data de inscrição : 28/04/2011
Notas recebidas : D + D + C + C + D + B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://mrbrumgames.blogspot.com/

Voltar ao Topo Ir em baixo

100% Re: [Curso Gm 3D] Aula 3: MODELAGEM DE SHAPES

Mensagem por lucas.santos.740 em Seg 26 Ago 2013, 18:53

man, essas ai são ruins demais, ensina a modelar no milk shape

lucas.santos.740

Número de Mensagens : 2
Idade : 20
Data de inscrição : 17/08/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum