[TUTORIAL] Script simples para CAMA ELÁSTICA
3 participantes
Página 1 de 1
[TUTORIAL] Script simples para CAMA ELÁSTICA
Olá galera, elaborei este código simples para fazer uma cama elástica, e é bem simples de implementar.
Basta ter um objeto com colisor, que represente a sua cama elástica. Neste objeto, você deve utilizar este código abaixo (o nome do script deve ser "CamaElastica"):
E a cama elástica já estará funcionando. Qualquer objeto COM RIGIDBODY que entrar no colisor da cama elástica, será arremessado para cima na mesma força com que colidiu com a cama. E se quiserem configurar a força, o sistema ainda tem uma variável, permitindo decidir como será a reação da cama ao impacto.
Basta ter um objeto com colisor, que represente a sua cama elástica. Neste objeto, você deve utilizar este código abaixo (o nome do script deve ser "CamaElastica"):
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//este código vai na cama elástica. Ela deve possuir um colisor com Trigger, para os Rigidbody poderem entrar.
public class CamaElastica : MonoBehaviour {
//se a força do impulso for maior do que 1, o objeto vai ir cada vez mais longe
//se a força do impulso for igual ou menor a 1, o objeto vai parar de pular devagarinho.
public float forceImpulse = 1;
void Start(){
Collider tempCol = GetComponent<Collider> ();
tempCol.isTrigger = true;
}
void OnTriggerEnter(Collider other){
Rigidbody rbTemp;
rbTemp = other.gameObject.GetComponent<Rigidbody> ();
if (rbTemp) {
float rbTempSpeed = rbTemp.velocity.magnitude;
if (rbTempSpeed > 2) {
rbTemp.velocity = Vector3.zero;
rbTemp.AddForce (Vector3.up * forceImpulse * rbTemp.mass * rbTempSpeed, ForceMode.Impulse);
}
}
}
}
E a cama elástica já estará funcionando. Qualquer objeto COM RIGIDBODY que entrar no colisor da cama elástica, será arremessado para cima na mesma força com que colidiu com a cama. E se quiserem configurar a força, o sistema ainda tem uma variável, permitindo decidir como será a reação da cama ao impacto.
Re: [TUTORIAL] Script simples para CAMA ELÁSTICA
Show brothi!MarcosSchultz escreveu:Olá galera, elaborei este código simples para fazer uma cama elástica, e é bem simples de implementar.
Basta ter um objeto com colisor, que represente a sua cama elástica. Neste objeto, você deve utilizar este código abaixo (o nome do script deve ser "CamaElastica"):
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//este código vai na cama elástica. Ela deve possuir um colisor com Trigger, para os Rigidbody poderem entrar.
public class CamaElastica : MonoBehaviour {
//se a força do impulso for maior do que 1, o objeto vai ir cada vez mais longe
//se a força do impulso for igual ou menor a 1, o objeto vai parar de pular devagarinho.
public float forceImpulse = 1;
void Start(){
Collider tempCol = GetComponent<Collider> ();
tempCol.isTrigger = true;
}
void OnTriggerEnter(Collider other){
Rigidbody rbTemp;
rbTemp = other.gameObject.GetComponent<Rigidbody> ();
if (rbTemp) {
float rbTempSpeed = rbTemp.velocity.magnitude;
if (rbTempSpeed > 2) {
rbTemp.velocity = Vector3.zero;
rbTemp.AddForce (Vector3.up * forceImpulse * rbTemp.mass * rbTempSpeed, ForceMode.Impulse);
}
}
}
}
E a cama elástica já estará funcionando. Qualquer objeto COM RIGIDBODY que entrar no colisor da cama elástica, será arremessado para cima na mesma força com que colidiu com a cama. E se quiserem configurar a força, o sistema ainda tem uma variável, permitindo decidir como será a reação da cama ao impacto.
Re: [TUTORIAL] Script simples para CAMA ELÁSTICA
MarcosSchultz escreveu:Olá galera, elaborei este código simples para fazer uma cama elástica, e é bem simples de implementar.
Basta ter um objeto com colisor, que represente a sua cama elástica. Neste objeto, você deve utilizar este código abaixo (o nome do script deve ser "CamaElastica"):
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//este código vai na cama elástica. Ela deve possuir um colisor com Trigger, para os Rigidbody poderem entrar.
public class CamaElastica : MonoBehaviour {
//se a força do impulso for maior do que 1, o objeto vai ir cada vez mais longe
//se a força do impulso for igual ou menor a 1, o objeto vai parar de pular devagarinho.
public float forceImpulse = 1;
void Start(){
Collider tempCol = GetComponent<Collider> ();
tempCol.isTrigger = true;
}
void OnTriggerEnter(Collider other){
Rigidbody rbTemp;
rbTemp = other.gameObject.GetComponent<Rigidbody> ();
if (rbTemp) {
float rbTempSpeed = rbTemp.velocity.magnitude;
if (rbTempSpeed > 2) {
rbTemp.velocity = Vector3.zero;
rbTemp.AddForce (Vector3.up * forceImpulse * rbTemp.mass * rbTempSpeed, ForceMode.Impulse);
}
}
}
}
E a cama elástica já estará funcionando. Qualquer objeto COM RIGIDBODY que entrar no colisor da cama elástica, será arremessado para cima na mesma força com que colidiu com a cama. E se quiserem configurar a força, o sistema ainda tem uma variável, permitindo decidir como será a reação da cama ao impacto.
so good..
Tópicos semelhantes
» [TUTORIAL] Script de AI para Zombie [Simples]
» [TUTORIAL] Criar botões (com UI) para movimentação simples
» [TUTORIAL] Sistema simples para lançar objetos.
» [RESOLVIDO] Cama elastica e ventuinha que lança pra cima
» [TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D
» [TUTORIAL] Criar botões (com UI) para movimentação simples
» [TUTORIAL] Sistema simples para lançar objetos.
» [RESOLVIDO] Cama elastica e ventuinha que lança pra cima
» [TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos