createObjectBreakEffect
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.
Sintaxe
Seção intitulada “Sintaxe”fracture createObjectBreakEffect ( object oObjeto [, table opcoes ] )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
oObjeto | object | — | O objeto a quebrar. Precisa ter um modelo. |
opcoes | table | — | 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:
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
fragments | number | 16 | Quantos pedaços mirar, limitado a 1–32. |
force | number | 4 | Força da explosão, 0 ou acima. |
randomness | number | 0.8 | Quão irregular é o corte, limitado a 0–1. |
velocity | number | 1 | Multiplicador de velocidade da explosão, 0 ou acima. |
gravity | number | 1 | Quão forte os pedaços caem, 0 ou acima. |
bounce | number | 0.2 | Quanto os pedaços ricocheteiam no impacto, limitado a 0–1. |
drag | number | 0.05 | Resistência do ar dos pedaços, limitado a 0–1. |
lifetime | number | 90000 | Milissegundos até o efeito parar de ser desenhado, esmaecendo no último segundo. 0 mantém o desenho para sempre. |
renderDistance | number | 0 | Distância de desenho carregada no estado da fratura. |
hideOriginal | bool | true | Se esconde o objeto de origem neste cliente. |
disableOriginalCollision | bool | true | Se desliga as colisões do objeto de origem neste cliente. |
interFragmentCollisions | bool | false | Carregada no estado da fratura para colisões dos fragmentos entre si. |
collisionMode | number or string | 0 | Modo de colisão dos fragmentos: 0 (ou "box") caixa, 1 ou "mesh" malha. |
paused | bool | false | Nasce com os fragmentos congelados no lugar, no meio da explosão. |
seed | number | 0 | Semente do corte. O padrão do cliente, 0, é um corte fixo — passe sementes diferentes para cortes diferentes. |
Retorno
Seção intitulada “Retorno”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.
Exemplo
Seção intitulada “Exemplo”-- um vaso na mesa deste jogador que racha sob comandolocal vaso = createObject(2064, 249.0, -16.0, 3.0)
addCommandHandler("racha", function() createObjectBreakEffect(vaso, { fragments = 14, force = 2, lifetime = 12000 })end)Veja também
Seção intitulada “Veja também”getBreakEffectFragmentCount— Devolve quantos fragmentos um efeito de quebra tem.getBreakEffectSleepingFragmentCount— Devolve quantos fragmentos já vieram ao repouso.getBreakEffectSourceTriangleCount— Devolve a contagem de triângulos da malha do modelo de origem.isBreakEffectPaused— Verifica se um efeito de quebra está pausado.setBreakEffectPaused— Pausa ou retoma um efeito de quebra, congelando seus fragmentos.getBreakEffectCacheHit— Diz se um efeito de quebra reaproveitou um corte em cache.getBreakEffectCacheSize— Devolve quantos cortes o cache guarda.clearBreakEffectCache— Descarta as entradas do cache que nenhum efeito de quebra está usando.