Criando uma Casa 2/2[3D Game Builder]

Ir em baixo

Tutorial Criando uma Casa 2/2[3D Game Builder]

Mensagem  xandy1608 em Ter Mar 06, 2012 5:48 pm

Voutamos com a parte 2 do tuto Okey vamos ao que reaumente vale Não me pega!
Vamos adicionar mais um porta ligando os dois cômodos do andar inferior, o processo é o mesmo que acabamos de realizar, selecione a parede central da casa do andar inferior, altere a propriedade “Scale” dela para X=15, os outros valores podem ser mantidos, em seguida posicione-a para o canto esquerdo até que ela fecha completamente a parede do lado esquerdo, agora faça uma copia desta parede e cole-a novamente no mapa, ou então adicione outro cubo a cenário, altere as propriedades “Scale” dela para X=2,5 e mantenha as outras propriedades iguais à parede anterior, movimente a totalmente para o canto direito da casa para completar o outro canto da parede, copie novamente esta parede, cole ela no mapa e altere as propriedades “Scale” dela para X=2,39 e Y=0,9 e posicione-a na parte superior do buraco da porta. O resultado desta segunda porta deve ter ficado parecido com este:

Faça também uma terceira porta interligando os cômodos superiores, o processo é exatamente o mesmo que foi feito com esta porta que interliga os cômodos do andar inferior.

Agora vamos fazer uma abertura no chão do segundo andar para colocarmos a escada e o elevador. Para isso selecione o chão do segundo andar e altere a propriedade “Scale” dele para X=17,5 e Z=17,5 e movimente-o para a parte frontal da casa e para a direita, para que o espaço aberto fique na parte oposta a porta de entrada da casa que criamos por primeiro. Agora faça uma copia do chão, note que não é possível fazer uma copia de um objeto que já uma copia, então localize o chão que é objeto pai dos outros para fazer a copia dele, ou então adicione um novo cubo ao mapa e altere as sua propriedade para que ele fique com as mesmas características do chão, em seguida altere a propriedade “Scale” dele para X=2,5 e Z=15 e posicione-o na parte oposta à entrada da casa no espaço que ficou vazio após o redimensionamento do chão do andar superior, deverá ficar dois buracos, um em cada canto do andar superior, em um deles será colocado a escada e no outro o elevador, no espaço a direita que ficou totalmente aberto copie novamente um objeto do chão altere a propriedade “Scale” dele para X=15 e Z=2,5 e posicione-o para fechar o buraco porem dando prioridade a parte próxima a porta de entrada, como neste buraco será a escada é necessário q ele seja maior que o do elevador. O buraco do elevador deve ter ficado parecido com este:

Agora vamos criar a estrutura da escada que levará ao segundo andar, crie um novo cubo e altere as propriedades “Scale” dele para X=0,5 Y=0,5 e Z=2,5 este cubo representará um degrau, em seguida posicione-o no buraco maior que fica no mesmo cômodo da porta de entrada da casa, vamos começar a montar a escada, deve ser começar colocando os degraus pela parte de cima, posicione-o para que ele fique na mesma altura do chão do andar superior, em seguida faça uma copia deste cubo e mova-o um pouco para baixo e um pouco para frente, este será o segundo degrau, faça o mesmo processo para os demais degraus até chegar no chão, o resultado deve ser parecido com este:

Como você pode notar as paredes, o chão e a escada estão todos iguais, e não tem um aspecto muito bonito, no próximo passo iremos adicionar texturas a esta casa para tornar os objetos mais realistas e em seguida colocaremos as portas nos seus determinados lugares e programaremos os scripts para abri-las e fechá-las, e também os scripts para mover o elevador.

Antes de começarmos o a adicionar as texturas a casa devemos antes selecionar as texturas que utilizaremos, eu selecionei uma textura de tijolos para as paredes e de piso para o chão, caso deseje é possível utilizar outras texturas, as texturas selecionadas são as seguintes:

(Parede)


(Chão)


(Escada)
Você pode notar que foram criadas variações das texturas do chão e das paredes, a textura é mesma, porém foi alterado o seu tamanho e forma, isto foi feito para manter as paredes de tamanho menor, como é o caso das utilizadas sobre as portas, com a mesma aparência das paredes maiores.

O próximo passo é importar estas texturas para o 3D Game Builder, para isso acesse o menu “Banco de Dados -> Materiais”, crie todas as texturas acima utilizando o mesmo nome que foi especificado junto a imagem acima. Na textura “Parede” altere a propriedade “TextureScale” para X=3 Y=1 e Z=1, esta propriedade é utilizada para determinar o tamanho da textura, e é utilizado para posicionar uma textura pequena em um objeto grande sem que ela perca a sua qualidade. Na textura “Parede2” e “Parede3” mantenha as propriedades padrão, apenas importe as imagens. Na textura “Chao” altere a propriedade “TextureScale” para X=3 Y=3 e Z=1. Na textura “Chao2” altere a propriedade “TextureScale” para X=2 Y=1 e Z=1. Na textura “Chao3” altere a propriedade “TextureScale” para X=1 Y=2 e Z=1. E na textura “Escada” altere a propriedade “TextureScale” para X=2 Y=1 e Z=1. Note que dependendo do eixo utilizado para posicionar a casa pode ser necessário inverter alguns valores na propriedade “TextureScale” para se obter um bom resultado.

Após concluir a importação das texturas já é possível iniciar o processo de texturização da casa. Nos cubos grandes que ocupam a maior parte da parede deve ser colocado a textura “Parede”, para isto basta alterar a propriedade “Material” do objeto, note que objetos copiados não possuem esta propriedade, isto porque a textura aplicada no objeto que deu origem a ele será aplicada a ele também, dependendo da maneira que você fez as copias ao aplicar a textura na parede pai todas as outras paredes já estarão com a textura. No pequeno cubo colocado como parede sobre as portas deve-se aplicar a textura “Parede3” e nos outros cubos menores que representam a parede que ficam ao lado da porta deve ser aplicar a textura “Parede2”. No chão deve se aplicar a textura “Chao”, no chão do segundo andar também, porem somente no cubo maior, nos outros dois que foram colocados para completar o buraco deixado pela escada e pelo elevador deve ser aplicar a textura “Chao2” no cubo que completa o buraco da escada e “Chao3” no que completa o buraco do elevador. Na escada aplique a textura “Escada”, se você fez sempre uma copia do cubo pai da escada ao aplicar a textura ao cubo pai toda a escada já estará texturizada.

Basicamente a casa já esta com as suas devidas texturas, pode ser necessário fazer alguns ajustes no posicionamento dos objetos após a aplicação da textura para que eles fiquem mais bem posicionados, o resultado da aplicação da textura deve ter ficado parecido com este:

Como você pode notar as texturas ficaram da mesma cor, sem nenhuma variação de tonalidade ao serem expostas a luz do ambiente, para torná-las mais realistas deve ser alterar a propriedade “TextureMode” do material para “Modulate”, volte ao menu “Banco de Dados->Material” e altere a propriedade “TextureMode” de todas as texturas utilizadas na casa para “Modulate”
Ao utilizar texturas no modo “Modulate” é necessário prestar mais atenção nas luzes utilizadas no ambiente, para se ter o resultado desejado deve-se criar uma fonte de luz adequada para o ambiente.

Após ter feito a estrutura da casa é necessário programar os scripts para alguns eventos que podem ser executados nela, como é o casa da abertura das portas.

Vamos começar com as portas, como ainda não colocamos as portas fisicamente vamos importar o modelo de uma porta para o 3D Game Builder, o modelo utilizado foi este:

Para importar o objeto para o mapa vá até o menu “Banco de Dados -> Objetos”, crie um novo objeto, importe o arquivo do modelo, em seguida altere a propriedade “Scale” dele para X=0,1 Y=0,1 e Z=0,1 e a propriedade “PitchAngle” para 90, em seguida salve o objeto. Agora copie o arquivo “Tex21.jpg” que acompanha o tutorial para a pasta “Textures” do seu projeto, é necessário fazer isso porque o modelo da porta possui esta textura que foi aplica sobre ele no programa de modelam, então para que na próxima vez que o modelo for carregado ele possa encontrar a sua textura, a pasta base para texturas externas é sempre a pasta “Textures”, então sempre que importar um modelo que possua uma imagem como textura este arquivo deve ser copiado para a pasta “Textures”.
Agora vamos criar o script para abertura desta porta, faremos com que o ator principal possa empurrar a parta para que ela se abra, selecione a porta, em seguida vá até a aba eventos e selecione o evento “OnCollision”. O script para abertura da porta ficou assim:

if GetObjectRollAngle('Objeto33') > 0 then
SetObjectRollAngle('Objeto33', GetObjectRollAngle('Objeto33')+1);

O “Objeto33” é nome da minha porta, caso a sua possua outro nome altere no script para o nome correto, no script é verificado inicialmente a rotação da porta com o comando “GetObjetRollAngle” coso ele seja maior que 0 então quer dizer que a porta ainda não atingiu o ponto maximo de abertura, dependendo da orientação em que você criou a sua casa pode ser necessário alterar este valor, caso ela ainda não tenha atingido o maximo de rotação então é utilizado o comando “SetObjectRollAngle” para incrementar o ângulo atual em mais um, por isso é utilizado novamente o comando “GetObjetRollAngle” e ao valor retornado é acrescentado mais 1. É importante lembrar que este script será executado sempre que o ator principal tocar na porta.

Na segunda porta, que interliga os dois cômodos do primeiro andar o processo de abertura é o mesmo, o script desta porta ficou assim:

if GetObjectRollAngle('Objeto32') > -90 then
SetObjectRollAngle('Objeto32', GetObjectRollAngle('Objeto32')-1);

O “Objeto32” é o nome da minha porta, como você pode notar a única coisa que mudou neste script foi o ângulo maximo e também que neste ao invés de incrementar o ângulo eu decremento ele, como eu disse anteriormente este ângulo depende da orientação em que as paredes foram fitas, pode ser necessário alterara-lo caso você tenha feito elas em outra orientação, a melhor maneira de encontrar o ângulo maximo de abertura é durante a edição do mapa rotacionar a porta até chegar ao ângulo maximo desejado e utilizar este ângulo no script. O processo é o mesmo para a porta que interliga os dois cômodos do segundo andar.

Ao concluir todas as portas já será possível executar o jogo, andar pela casa e abrir todas as portas, dependendo das escalas utilizadas na casa pode ser necessário alterar o tamanho do ator principal para que ele fique em um tamanho proporcional a casa, para alterar o tamanho dele acesse o menu “Projeto -> Ator Principal”, altere as propriedades “Scale” e “Collision Scale” para deixar o ator proporcional ao cenário, a propriedade “Scale” do meu ator ficou sendo a seguinte X=0,044 Y=0,044 e Z=0,044 e “CollisionScale” ficou X=1 Y=1 e Z=1. Também pode ser necessário ajustar a distancia da câmera principal em relação ao ator, como foi aumentado o seu tamanho será necessário que a câmera que o acompanha fica mais distante, para alterar esta distancia acesso o menu “Projeto->Câmera Principal” e altere a propriedade “DistanceToActor” para o valor desejado, eu utilizei uma distancia de 3. Executando o jogo você verá o resultado:

Bom ja temos uma bela casa não? Okey
Fico por aqui
Fonte:Eternix
avatar
xandy1608
ADMIN
ADMIN

Mensagens : 4
Data de inscrição : 20/02/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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