Pular para o conteúdo

createObjectBreakEffect

Cliente Fratura

Estilhaça um objeto em fragmentos somente nesta máquina — o irmão do lado cliente de createObjectFracture.

O objeto de origem fica onde está, escondido com as colisões desligadas neste cliente, e um elemento de fratura (tipo "fracture") é criado sob o seu recurso com objetos-fragmento abaixo dele. O motor corta o modelo em pedaços, desenha as malhas cortadas e move os pedaços com uma simulação local; nenhum outro jogador vê nada disso e o servidor nunca é avisado.

fracture createObjectBreakEffect ( object oObjeto [, table opcoes ] )
NomeTipoPadrãoDescrição
oObjetoobject—O objeto a quebrar. Precisa ter um modelo.
opcoestable—Qualquer mistura dos campos abaixo; deixe de fora para todos os padrões. Um segundo argumento que não é tabela é ignorado.

A tabela opcoes aceita:

CampoTipoPadrãoDescrição
fragmentsnumber16Quantos pedaços mirar, limitado a 1–32.
forcenumber4Força da explosão, 0 ou acima.
randomnessnumber0.8Quão irregular é o corte, limitado a 0–1.
velocitynumber1Multiplicador de velocidade da explosão, 0 ou acima.
gravitynumber1Quão forte os pedaços caem, 0 ou acima.
bouncenumber0.2Quanto os pedaços ricocheteiam no impacto, limitado a 0–1.
dragnumber0.05Resistência do ar dos pedaços, limitado a 0–1.
lifetimenumber90000Milissegundos até o efeito parar de ser desenhado, esmaecendo no último segundo. 0 mantém o desenho para sempre.
renderDistancenumber0Distância de desenho carregada no estado da fratura.
hideOriginalbooltrueSe esconde o objeto de origem neste cliente.
disableOriginalCollisionbooltrueSe desliga as colisões do objeto de origem neste cliente.
interFragmentCollisionsboolfalseCarregada no estado da fratura para colisões dos fragmentos entre si.
collisionModenumber or string0Modo de colisão dos fragmentos: 0 (ou "box") caixa, 1 ou "mesh" malha.
pausedboolfalseNasce com os fragmentos congelados no lugar, no meio da explosão.
seednumber0Semente do corte. O padrão do cliente, 0, é um corte fixo — passe sementes diferentes para cortes diferentes.

O elemento de fratura, ou false — com um aviso no console de debug — quando o primeiro argumento não é um objeto, quando o objeto de origem ainda não tem modelo, ou quando o efeito não pôde ser criado (efeitos de quebra não estão disponíveis nesta máquina, ou o elemento do efeito não pôde ser construído).

Diferente de uma fratura do servidor, o efeito não termina sozinho: lifetime apenas esmaece o desenho. O elemento do efeito, seus fragmentos e as mudanças no objeto de origem vivem até o seu recurso parar ou até os elementos serem destruídos.

-- um vaso na mesa deste jogador que racha sob comando
local vaso = createObject(2064, 249.0, -16.0, 3.0)
addCommandHandler("racha", function()
createObjectBreakEffect(vaso, {
fragments = 14,
force = 2,
lifetime = 12000
})
end)