[TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
+2
MarcosSchultz
GibsonDKS
6 participantes
Página 1 de 1
[TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
Elaborei este sistema bem simples para acumular força segurando o mouse apertado, e quando soltar, direcionar esta força a um rigidbody, fazendo ele se mover de sua posição atual para a posição de onde estava o mouse
Basta jogar este script em uma Share e tudo irá funcionar:
Quando você clicar em algum colisor qualquer do cenário, pode ser o chao, terreno, objetos, etc, etc, uma força será adicionada na share, fazendo ela se mover em direção ao lugar onde você clicou
Basta jogar este script em uma Share e tudo irá funcionar:
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]
public class MoverRigidbody : MonoBehaviour {
public float ForcaDoRigidbody = 100;
private float PontoDeInicio;
void FixedUpdate(){
if(Input.GetMouseButtonDown(0)){
PontoDeInicio = Time.time;
}
if(Input.GetMouseButtonUp(0)){
float ForcaAcumulada = Time.time - PontoDeInicio;
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit)){
GetComponent<Rigidbody>().AddForceAtPosition(ray.direction * (ForcaAcumulada*ForcaDoRigidbody), hit.point);
}
}
}
}
Quando você clicar em algum colisor qualquer do cenário, pode ser o chao, terreno, objetos, etc, etc, uma força será adicionada na share, fazendo ela se mover em direção ao lugar onde você clicou
Última edição por MarcosSchultz em Ter Jun 07, 2016 9:29 pm, editado 1 vez(es)
Re: [TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
Eu fiz um teste com sphere e ela nao para depois que eu aplico a força, tem alguma forma de desacelera-la?
GibsonDKS- Avançado
- PONTOS : 3560
REPUTAÇÃO : 22
Respeito as regras :
Re: [TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
Apenas utilize metodos para normalizar a velocidade com
use comandos como normalize para diminuir
- Código:
GetComponent<Rigidbody>().velocity
use comandos como normalize para diminuir
Re: [TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
como posso fazer com que eu so posso aplicar essa força quando o objeto estiver perto do player ?
ou alguma forma de chutar uma bola ao gol ? kk
ou alguma forma de chutar uma bola ao gol ? kk
deikson- MembroAvançado
- PONTOS : 3439
REPUTAÇÃO : 14
Idade : 28
Áreas de atuação : Modelagem SketchUp;
design;
Iniciando C#;
Respeito as regras :
Gabriel César CORINTHIANS- Membro
- PONTOS : 2702
REPUTAÇÃO : 11
Áreas de atuação : 0
Respeito as regras :
Re: [TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
Pra mim não funcionou. Não deu nenhum erro, só não funciona.
Será que tem alguma coisa errada na configuração do Rigidbody?
Estou usando Rigidbody 2D. No Script, onde está Rigidbody mudei para Rigidbody2D para testar e continua não funcionando?
Alguma dica? (Sou bem iniciante.)
Será que tem alguma coisa errada na configuração do Rigidbody?
Estou usando Rigidbody 2D. No Script, onde está Rigidbody mudei para Rigidbody2D para testar e continua não funcionando?
Alguma dica? (Sou bem iniciante.)
AleNovak- Iniciante
- PONTOS : 2495
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
deikson escreveu:como posso fazer com que eu so posso aplicar essa força quando o objeto estiver perto do player ?
ou alguma forma de chutar uma bola ao gol ? kk
Faça uma verificação com Vector3.Distance para isto
Referencia:
https://docs.unity3d.com/ScriptReference/Vector3.Distance.html
Phph09- Profissional
- PONTOS : 3789
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Tópicos semelhantes
» Atirar o player na direção onde esta o mouse
» Como adicionar uma força oposta a colisão no rigidbody?
» Como adicionar uma força oposta a colisão no rigidbody?
» [TUTORIAL] Mover um Rigidbody com o mouse fazendo ele respeitar outros Rigidbody e suas massas
» Como posso fazer pra atirar onde o cursor do mouse está (UNITY 2D)
» Como adicionar uma força oposta a colisão no rigidbody?
» Como adicionar uma força oposta a colisão no rigidbody?
» [TUTORIAL] Mover um Rigidbody com o mouse fazendo ele respeitar outros Rigidbody e suas massas
» Como posso fazer pra atirar onde o cursor do mouse está (UNITY 2D)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos