Dynamic Wall: Minigame Criado na Engine UPBGE
As cinco opções de níveis deste Minigame
O que tem neste Minigame?
Temos um muro com diferentes fragmentos de forma que ao mover o mouse no muro "quebra" o muro em diferentes partes, de maneira que há certa programação que foi implementada em níveis progressivos de fragmentação.
UPBGE é um motor de Jogos completo e multiplataforma, link para Conhecer UPBGE, versões disponíveis para Download: Baixar UPBGE e para se aprofundar ainda mais, conheça a API de Programação em Python: API de Programação
Adotei uma estratégia para desenvolver um muro com diferentes particionamentos, com a opção de poder ter pedaços de fragmentos quebrados, para criar uma mecânica de jogos de ambientes quebráveis e assim sendo objetos destruíveis.
Nesta imagem você pode conferir o Game proposto neste artigo.
Mas, quais são As cinco opções de níveis deste Minigame?
- Ambientes quebráveis
- Posição Fixa com Empty
- Nível de Fragmento
- Objetos de Geometria Diferente
- Sensor sensível do Mouse
1. Ambientes quebráveis
Nesta seção você verá que há diferentes fragmentos para os níveis de sessões separadas do muro. Foi feito uma modelagem específica para cada pedaço do muro, aplicando face no local de corte para facilitar a visualização de cada objeto de geometria única.
Nesta imagem você pode conferir um dos fragmentos do muro.
2. Posição Fixa com Empty
Nesta seção você pode observar que há vários Emptys que são objetos primitivos do blender para a aplicação do novo objeto fragmentado em cada posição que é o centro de massa do fragmento.
Nesta imagem você pode conferir um dos Emptys com a localização de um fragmento.
3. Nível de Fragmento
Aqui temos os níveis de fragmentos com a malha original com que foi repartido os fragmentos para separação dos objetos individuais, para cada nível de fragmentação.
Nesta imagem você pode conferir a malha onde se repartiu para a criação de objetos.
4. Objetos de Geometria Diferente
Totalizando 43 objetos, este exemplo lida com a possivel implementação de integração com outros níveis de fragmentos, para poder adicionar objetos em novas secções menores.
Nesta imagem você pode conferir os nomes e tipos de objetos, uma varieade que compõe o grande muro quebrável.
5. Sensor sensível do Mouse
A grande área esverdeada é um Plano com o sensor lógico de Mouse Over e Mouse Movement, para detectar a posição do Mouse e acionar a mecânica principal deste Minigame para o Muro virtual.
E, não menos importante, abaixo você pode conferir o código fonte para a implementação desta mecânica, um Minigame completo em si só, que funciona indepedente em uma abordagem inteligente e minimalista.
import bge
cont = bge.logic.getCurrentController()
own = cont.owner
scn = own.scene
obj = scn.objects
class WallDynamic():
def mouseLoc(self):
if cont.sensors["mo"].positive:
if cont.sensors["mm"].positive:
obj["colide"].localPosition = cont.sensors["mo"].hitPosition
def colideSensor(self):
for ob in obj:
if 'level' in ob:
if "loc" in ob:
if ob['level'] == 1:
sensorID = ob['sensor']
if cont.sensors[sensorID].positive:
print("sensor")
fob = scn.addObject(sensorID, obj[ob["loc"]])
ob.endObject()
else:
print("not collide")
WallDynamic().mouseLoc()
WallDynamic().colideSensor()
Link para Baixar Este projeto único e totalmente integrado e funcional.





Nenhum comentário:
Postar um comentário