domingo, 15 de fevereiro de 2026

UPBGE meu Minigame Dynamic Wall

Dynamic Wall: Conheça meu Minigame

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.

Um muro quebrado no meio

Nesta imagem você pode conferir o Game proposto neste artigo.

Mas, quais são As cinco opções de níveis deste Minigame?

  1. Ambientes quebráveis
  2. Posição Fixa com Empty
  3. Nível de Fragmento
  4. Objetos de Geometria Diferente
  5. 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.

Um fragmento do muro

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.

Um Empty para posição

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.

A malha de partição dos fragmentos

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.

Outliner e listagem de objetos

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