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
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