[TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
+5
garden
nandeco
Amendoss
Matheus sonico
MarcosSchultz
9 participantes
Página 1 de 1
[TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
Apenas adicione um Rigidbody no objeto e este script em C# com o nome " FlutuarObjeto "
Configure as variáveis a gosto
OBS: SE ESTIVER UTILIZANDO A UNITY 5, USE O SCRIPT ABAIXO:
- Código:
using UnityEngine;
using System.Collections;
public class FlutuarObjeto : MonoBehaviour {
private float Seno = 0.0f;
private int vez = 0;
private float cronometro = 0.0f;
private float MovimentoEmX;
private float TorqueEmX;
private float TorqueEmY;
private float TorqueEmZ;
public float VelocidadeVertical = 1f;
public float DistanciaVertical = 0.8f;
public float VelocidadeHorizontal = 1.0f;
public float VelocidadeDeRotacao = 0.4f;
void Start () {
MovimentoEmX = Random.Range(-.5f,.5f)*VelocidadeHorizontal;
TorqueEmX = Random.Range(-5.0f,5.0f)*VelocidadeDeRotacao;
TorqueEmY = Random.Range(-5.0f,5.0f)*VelocidadeDeRotacao;
TorqueEmZ = Random.Range(-5.0f,5.0f)*VelocidadeDeRotacao;
rigidbody.AddRelativeTorque(new Vector3(TorqueEmX, TorqueEmY, TorqueEmZ));
}
void FixedUpdate () {
if(Seno < Mathf.PI && vez == 0){
Seno += Time.deltaTime;
}
if(Seno >= Mathf.PI){
vez = 1;
}
if(Seno <= 0){
vez = 0;
}
if(Seno >= 0 && vez == 1){
Seno = 0;
}
rigidbody.velocity = new Vector3(MovimentoEmX, Mathf.Sin(2*Seno*VelocidadeVertical)*DistanciaVertical, 0);
if(cronometro < 10){
cronometro += Time.deltaTime;
}
if(cronometro >= 10){
cronometro = 0;
rigidbody.AddRelativeTorque(new Vector3(TorqueEmX, TorqueEmY, TorqueEmZ));
}
}
}
Configure as variáveis a gosto
OBS: SE ESTIVER UTILIZANDO A UNITY 5, USE O SCRIPT ABAIXO:
- Código:
using UnityEngine;
using System.Collections;
public class FlutuarObjeto : MonoBehaviour {
private float Seno = 0.0f;
private int vez = 0;
private float cronometro = 0.0f;
private float MovimentoEmX;
private float TorqueEmX;
private float TorqueEmY;
private float TorqueEmZ;
public float VelocidadeVertical = 1f;
public float DistanciaVertical = 0.8f;
public float VelocidadeHorizontal = 1.0f;
public float VelocidadeDeRotacao = 0.4f;
void Start () {
MovimentoEmX = Random.Range(-.5f,.5f)*VelocidadeHorizontal;
TorqueEmX = Random.Range(-5.0f,5.0f)*VelocidadeDeRotacao;
TorqueEmY = Random.Range(-5.0f,5.0f)*VelocidadeDeRotacao;
TorqueEmZ = Random.Range(-5.0f,5.0f)*VelocidadeDeRotacao;
GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(TorqueEmX, TorqueEmY, TorqueEmZ));
}
void FixedUpdate () {
if(Seno < Mathf.PI && vez == 0){
Seno += Time.deltaTime;
}
if(Seno >= Mathf.PI){
vez = 1;
}
if(Seno <= 0){
vez = 0;
}
if(Seno >= 0 && vez == 1){
Seno = 0;
}
GetComponent<Rigidbody>().velocity = new Vector3(MovimentoEmX, Mathf.Sin(2*Seno*VelocidadeVertical)*DistanciaVertical, 0);
if(cronometro < 10){
cronometro += Time.deltaTime;
}
if(cronometro >= 10){
cronometro = 0;
GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(TorqueEmX, TorqueEmY, TorqueEmZ));
}
}
}
Última edição por MarcosSchultz em Ter Jun 07, 2016 9:22 pm, editado 2 vez(es)
Matheus sonico- Avançado
- PONTOS : 3836
REPUTAÇÃO : 29
Idade : 22
Respeito as regras :
Re: [TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
verdade, valeu cara, muito agradecido.
Amendoss- Iniciante
- PONTOS : 3480
REPUTAÇÃO : 0
Re: [TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
apliquei no FristPerson mas ele n flutuou, por favor me ajuda :/
nandeco- Iniciante
- PONTOS : 3358
REPUTAÇÃO : 0
Re: [TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
Por que o FirstPersonController tem Rigidbody ou CapsuleController, que sofrem efeito da gravidade
Re: [TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
como fassso pra ela parar de boiar fora dagua ??
garden- Iniciante
- PONTOS : 2805
REPUTAÇÃO : 1
Respeito as regras :
rafaelllsd- ProgramadorMaster
- PONTOS : 5242
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: [TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
basta desativar o script ué.garden escreveu:como fassso pra ela parar de boiar fora dagua ??
Use GetComponent para isso.
ManoTrevor- Avançado
- PONTOS : 2815
REPUTAÇÃO : 12
Idade : 22
Áreas de atuação : Intermediário na programação em C#
Estudando blender (básico em modelagem e texturização e animação
Respeito as regras :
Re: [TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
no caso, se eu colocar esse codigo no meu personagem tem como? e se eu quiser dar um time pra desativar este codigo, tipo, um tempo de 5 segundos apos isso ele desativa??
Frsilva- Iniciante
- PONTOS : 2222
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» (Ajuda)Script para first person flutuar na agua
» [TUTORIAL] Girar objeto com Quaternion.Lerp
» [TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
» [TUTORIAL] Como criar partículas na Unity 5 (partículas de fogo, água, explosões, etc)
» [TUTORIAL] Acessar o objeto pai de algum hit.
» [TUTORIAL] Girar objeto com Quaternion.Lerp
» [TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
» [TUTORIAL] Como criar partículas na Unity 5 (partículas de fogo, água, explosões, etc)
» [TUTORIAL] Acessar o objeto pai de algum hit.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos