quinta-feira, 9 de janeiro de 2020

01=BGE CONTINUANDO COM PASSOS

olá amigos hoje quinta feira de 2020, continuar os exemplos que fiz no passado sobre bge e claro que hoje dias atuais continuo estudando sobre, minha intenção e fazer blog completo sobre as classes da bge e não só fazer vídeo como fazer o personagem andar ou coisas do tipo.

hoje vou mostrar um do 
youtuber bge vicio
https://www.youtube.com/user/EVERTON2570/playlists

o incrível e esse exemplo de movimento de carro que ele fez ficou muito bom, e claro que não e um carro de gta porem ficou melhor que muitos exemplo que vi por ai

agora vamos por partes:
códigos carro que e separado  por dois códigos o controle e a física.

CONTROLE:

código e para a bloco rosâo,kkkk.

# importando os modules
from bge import logic as g, events

# obter o controle
c = g.getCurrentController()

# obter o objeto conectado o carro
o = c.owner

# obter o teclado
tc = g.keyboard.events

# variaveis
freio = 0.0
virar = 0.0
acelerador = 0.0

# as teclas que vai muda os valor das variaveis
if tc[events.WKEY]: acelerador -= 1000.0
if tc[events.SKEY]: acelerador  = 1000.0
if tc[events.AKEY]: virar = 0.3
if tc[events.DKEY]: virar -= 0.3
if tc[events.SPACEKEY]: freio = 20.0

# obter a fisica do carro que esta no outro script
carro = o["carro"]

# obter aceleracao nas rodas 0,1,2,3
carro.applyEngineForce(acelerador,0)
carro.applyEngineForce(acelerador,1)
carro.applyEngineForce(acelerador,2)
carro.applyEngineForce(acelerador,3)

# virar roda 0.1
carro.setSteeringValue(virar,0)
carro.setSteeringValue(virar,1)

# freia rodas 0,1,2,3
carro.applyBraking(freio,0)
carro.applyBraking(freio,1)
carro.applyBraking(freio,2)
carro.applyBraking(freio,3)


o segundo código também e para o bloco rosa
FISICA:

# importando os modules
from bge import logic as g
import PhysicsConstraints as pc

c = g.getCurrentController()

# obter a cena e os objetos da cena
s = g.getCurrentScene().objects

# nome das rodas
rd_0 = s["0"]
rd_1 = s["1"]
rd_2 = s["2"]
rd_3 = s["3"]

# posicao das rodas
rd_p_0 = [1.02, 2.08, 0.43]
rd_p_1 = [-1.075, 2.08, 0.43]
rd_p_2 = [-1.075, -2.05, 0.43]
rd_p_3 = [1.02, -2.05, 0.43]

# angulo da suspensao
rd_an_0 = [0.0, 0.0, -1.0]
rd_an_1 = [0.0, 0.0, -1.0]
rd_an_2 = [0.0, 0.0, -1.0]
rd_an_3 = [0.0, 0.0, -1.0]

# eixo
rd_e_0 =  [-1.0, 0.0, 0.0]
rd_e_1 =  [-1.0, 0.0, 0.0]
rd_e_2 =  [-1.0, 0.0, 0.0]
rd_e_3 =  [-1.0, 0.0, 0.0]

# altura da suspensao
rd_a_s_0 = 0.5
rd_a_s_1 = 0.5
rd_a_s_2 = 0.5
rd_a_s_3 = 0.5

# raio das rodas
rd_r_0 = 0.48
rd_r_1 = 0.48
rd_r_2 = 0.48
rd_r_3 = 0.48

# direcao
rd_d_0 = True
rd_d_1 = True
rd_d_2 = False
rd_d_3 = False

# obter o objeto conectado, o carro
o = c.owner

# criando a fisica
carro = pc.createConstraint(o.getPhysicsId(),0,11)
carro = carro.getConstraintId()
o["carro"] = carro = pc.getVehicleConstraint(carro)

# add as rodas no carro
carro.addWheel(rd_0, rd_p_0, rd_an_0, rd_e_0, rd_a_s_0, rd_r_0, rd_d_0)
carro.addWheel(rd_1, rd_p_1, rd_an_1, rd_e_1, rd_a_s_1, rd_r_1, rd_d_1)
carro.addWheel(rd_2, rd_p_2, rd_an_2, rd_e_2, rd_a_s_2, rd_r_2, rd_d_2)
carro.addWheel(rd_3, rd_p_3, rd_an_3, rd_e_3, rd_a_s_3, rd_r_3, rd_d_3)

# limite da rotacao do carro, pra ele nao capota
carro.setRollInfluence(0.05,0)
carro.setRollInfluence(0.05,1)
carro.setRollInfluence(0.05,2)
carro.setRollInfluence(0.05,3)


lembrando cada roda possui uma outra roda dentro.essas são rodas reais que fazem carro andar ou se locomover com achar melhor, as outras roda são so as rodas do modelo.

já a câmera possui um simples Always com atuador (câmera) heigtht 2,00/axis+x/ min10-max12/damping0.03

bom hoje e só isso [kkkkk] sei que pouco espero que ajude a vocês a criar seus carros ou corridas ou gta.





Nenhum comentário:

Postar um comentário