Como criar um terreno 2D?
2 participantes
Página 1 de 1
Como criar um terreno 2D?
Boa tarde, estou tendo um problema com o jogo que estou desenvolvendo, ele possui sistema de construir e destruir blocos, porem estou usando para cada bloco um gameobject, o que está deixando muito pesado, então resolvi reescrever o código utilizando apenas um gameobject com mesh, nunca mexi com mesh, estou meio confuso. Duvidas:
1 - Criei um objeto vazio, coloquei um meshFilter e meshRenderer nele, e criei um script onde crio um mesh e acrescento seus vértices, e atribuo o mesh ao meshFilter, como que faço para "pintar" cada quadrado? Será necessário os triângulos ou só com os vértices eu consigo os quadrados?
2 - Se crio um mesh, e coloco um meshCollider nele, criando a malha que será meu mapa, como funcionaria a colisão? se é apenas um meshCollider , em qualquer lugar que eu lançar um raycasthit2d irá me retornar o mesmo objeto, como faria para contornar isso e individualizar cada bloco para poder "destruí-os"(repinta-los) individualmente?
1 - Criei um objeto vazio, coloquei um meshFilter e meshRenderer nele, e criei um script onde crio um mesh e acrescento seus vértices, e atribuo o mesh ao meshFilter, como que faço para "pintar" cada quadrado? Será necessário os triângulos ou só com os vértices eu consigo os quadrados?
2 - Se crio um mesh, e coloco um meshCollider nele, criando a malha que será meu mapa, como funcionaria a colisão? se é apenas um meshCollider , em qualquer lugar que eu lançar um raycasthit2d irá me retornar o mesmo objeto, como faria para contornar isso e individualizar cada bloco para poder "destruí-os"(repinta-los) individualmente?
Re: Como criar um terreno 2D?
dipode escreveu:Boa tarde, estou tendo um problema com o jogo que estou desenvolvendo, ele possui sistema de construir e destruir blocos, porem estou usando para cada bloco um gameobject, o que está deixando muito pesado, então resolvi reescrever o código utilizando apenas um gameobject com mesh, nunca mexi com mesh, estou meio confuso. Duvidas:
1 - Criei um objeto vazio, coloquei um meshFilter e meshRenderer nele, e criei um script onde crio um mesh e acrescento seus vértices, e atribuo o mesh ao meshFilter, como que faço para "pintar" cada quadrado? Será necessário os triângulos ou só com os vértices eu consigo os quadrados?
2 - Se crio um mesh, e coloco um meshCollider nele, criando a malha que será meu mapa, como funcionaria a colisão? se é apenas um meshCollider , em qualquer lugar que eu lançar um raycasthit2d irá me retornar o mesmo objeto, como faria para contornar isso e individualizar cada bloco para poder "destruí-os"(repinta-los) individualmente?
Se eu entendi esse mesh filter é do 3d,se for pode continuar lendo,se não ignore...
Para pintar as meshers é um pouco mais complicado... um método que vi na internet foi : Criar uma câmera,fazer a câmera olhar sempre um painel da cor padrão do mesh,colocar ela para emitir a sua imagem para um renderer,colocar o material renderer no objeto que será pintado,depois fazer um sistema de "pintar" o painel da cor padrão com algum código q não sei ao certo como fazer e aplicar ela ao material...(
não tenho certeza mas acho que cada MeshCollider é um objeto sozinho,assim como o CubeCollider só retorna o objeto que o tem...
Re: Como criar um terreno 2D?
PauloFR escreveu:dipode escreveu:Boa tarde, estou tendo um problema com o jogo que estou desenvolvendo, ele possui sistema de construir e destruir blocos, porem estou usando para cada bloco um gameobject, o que está deixando muito pesado, então resolvi reescrever o código utilizando apenas um gameobject com mesh, nunca mexi com mesh, estou meio confuso. Duvidas:
1 - Criei um objeto vazio, coloquei um meshFilter e meshRenderer nele, e criei um script onde crio um mesh e acrescento seus vértices, e atribuo o mesh ao meshFilter, como que faço para "pintar" cada quadrado? Será necessário os triângulos ou só com os vértices eu consigo os quadrados?
2 - Se crio um mesh, e coloco um meshCollider nele, criando a malha que será meu mapa, como funcionaria a colisão? se é apenas um meshCollider , em qualquer lugar que eu lançar um raycasthit2d irá me retornar o mesmo objeto, como faria para contornar isso e individualizar cada bloco para poder "destruí-os"(repinta-los) individualmente?
Se eu entendi esse mesh filter é do 3d,se for pode continuar lendo,se não ignore...
Para pintar as meshers é um pouco mais complicado... um método que vi na internet foi : Criar uma câmera,fazer a câmera olhar sempre um painel da cor padrão do mesh,colocar ela para emitir a sua imagem para um renderer,colocar o material renderer no objeto que será pintado,depois fazer um sistema de "pintar" o painel da cor padrão com algum código q não sei ao certo como fazer e aplicar ela ao material...(não me lembro aonde vi isso) Só que é algo meio complicado de se fazer...
não tenho certeza mas acho que cada MeshCollider é um objeto sozinho,assim como o CubeCollider só retorna o objeto que o tem...
Acho que sei o que você disse, já fiz algo assim, mas não resolveria os colliders, pelo que consegui ler, não teria como apenas criar um objeto com um mesh collider, teria que criar vários quads cada um com seu mesh collider, o que daria no mesmo do que da maneira que to fazendo, na verdade seria até pior, 2KB a mais.
Re: Como criar um terreno 2D?
dipode escreveu:PauloFR escreveu:dipode escreveu:Boa tarde, estou tendo um problema com o jogo que estou desenvolvendo, ele possui sistema de construir e destruir blocos, porem estou usando para cada bloco um gameobject, o que está deixando muito pesado, então resolvi reescrever o código utilizando apenas um gameobject com mesh, nunca mexi com mesh, estou meio confuso. Duvidas:
1 - Criei um objeto vazio, coloquei um meshFilter e meshRenderer nele, e criei um script onde crio um mesh e acrescento seus vértices, e atribuo o mesh ao meshFilter, como que faço para "pintar" cada quadrado? Será necessário os triângulos ou só com os vértices eu consigo os quadrados?
2 - Se crio um mesh, e coloco um meshCollider nele, criando a malha que será meu mapa, como funcionaria a colisão? se é apenas um meshCollider , em qualquer lugar que eu lançar um raycasthit2d irá me retornar o mesmo objeto, como faria para contornar isso e individualizar cada bloco para poder "destruí-os"(repinta-los) individualmente?
Se eu entendi esse mesh filter é do 3d,se for pode continuar lendo,se não ignore...
Para pintar as meshers é um pouco mais complicado... um método que vi na internet foi : Criar uma câmera,fazer a câmera olhar sempre um painel da cor padrão do mesh,colocar ela para emitir a sua imagem para um renderer,colocar o material renderer no objeto que será pintado,depois fazer um sistema de "pintar" o painel da cor padrão com algum código q não sei ao certo como fazer e aplicar ela ao material...(não me lembro aonde vi isso) Só que é algo meio complicado de se fazer...
não tenho certeza mas acho que cada MeshCollider é um objeto sozinho,assim como o CubeCollider só retorna o objeto que o tem...
Acho que sei o que você disse, já fiz algo assim, mas não resolveria os colliders, pelo que consegui ler, não teria como apenas criar um objeto com um mesh collider, teria que criar vários quads cada um com seu mesh collider, o que daria no mesmo do que da maneira que to fazendo, na verdade seria até pior, 2KB a mais.
um bom modo de contornar o problema de muitos colliders na mesma cena é desativar eles de acordo com a distancia do player...
tipo vc deixa o mesh ativado mas se o jogador não poder alcançar você desativa o collider ;-;
Re: Como criar um terreno 2D?
PauloFR escreveu:dipode escreveu:PauloFR escreveu:dipode escreveu:Boa tarde, estou tendo um problema com o jogo que estou desenvolvendo, ele possui sistema de construir e destruir blocos, porem estou usando para cada bloco um gameobject, o que está deixando muito pesado, então resolvi reescrever o código utilizando apenas um gameobject com mesh, nunca mexi com mesh, estou meio confuso. Duvidas:
1 - Criei um objeto vazio, coloquei um meshFilter e meshRenderer nele, e criei um script onde crio um mesh e acrescento seus vértices, e atribuo o mesh ao meshFilter, como que faço para "pintar" cada quadrado? Será necessário os triângulos ou só com os vértices eu consigo os quadrados?
2 - Se crio um mesh, e coloco um meshCollider nele, criando a malha que será meu mapa, como funcionaria a colisão? se é apenas um meshCollider , em qualquer lugar que eu lançar um raycasthit2d irá me retornar o mesmo objeto, como faria para contornar isso e individualizar cada bloco para poder "destruí-os"(repinta-los) individualmente?
Se eu entendi esse mesh filter é do 3d,se for pode continuar lendo,se não ignore...
Para pintar as meshers é um pouco mais complicado... um método que vi na internet foi : Criar uma câmera,fazer a câmera olhar sempre um painel da cor padrão do mesh,colocar ela para emitir a sua imagem para um renderer,colocar o material renderer no objeto que será pintado,depois fazer um sistema de "pintar" o painel da cor padrão com algum código q não sei ao certo como fazer e aplicar ela ao material...(não me lembro aonde vi isso) Só que é algo meio complicado de se fazer...
não tenho certeza mas acho que cada MeshCollider é um objeto sozinho,assim como o CubeCollider só retorna o objeto que o tem...
Acho que sei o que você disse, já fiz algo assim, mas não resolveria os colliders, pelo que consegui ler, não teria como apenas criar um objeto com um mesh collider, teria que criar vários quads cada um com seu mesh collider, o que daria no mesmo do que da maneira que to fazendo, na verdade seria até pior, 2KB a mais.
um bom modo de contornar o problema de muitos colliders na mesma cena é desativar eles de acordo com a distancia do player...
tipo vc deixa o mesh ativado mas se o jogador não poder alcançar você desativa o collider ;-;
Faço isso, mas o problema mesmo é o tamanho final do jogo que me preocupa.
Tópicos semelhantes
» PROGRAMA PARA CRIAR TERRENO
» Como alinhar um objeto ao terreno?
» Como criar um Reflexo falso como do Sonic Adventure?
» COMO CRIAR UM SHOP E INVENTÁRIO COMO O DOS JOGOS DE FPS ?
» Tem como eu Salvar os Dados de Um Terreno?
» Como alinhar um objeto ao terreno?
» Como criar um Reflexo falso como do Sonic Adventure?
» COMO CRIAR UM SHOP E INVENTÁRIO COMO O DOS JOGOS DE FPS ?
» Tem como eu Salvar os Dados de Um Terreno?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos