[Unity 5] Instanciar objetos onde mouse mira
5 participantes
Página 1 de 1
[Unity 5] Instanciar objetos onde mouse mira
Queria saber como instanciar objetos onde o mouse está mirando, só isso
Aliás weslley, eu não achei maneiras muito eficazes de fazer a bala com raycast, então usei o própio corpo rigido de cada bala para lança-la, usei o raycast pra determinar se um objeto pode ou não ser destruido, tipo para não ocorrer do player atirar no chão por exemplo e ele ser destruido entende ?
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Bala : MonoBehaviour {
private Vector3 forçaBala;
public Rigidbody bala;
// Use this for initialization
void Start () {
forçaBala.z = 50;
}
// Update is called once per frame
void Update () {
bala.AddForce (forçaBala, ForceMode.Acceleration);
bala.constraints = RigidbodyConstraints.FreezePositionY;
}
}
Aliás weslley, eu não achei maneiras muito eficazes de fazer a bala com raycast, então usei o própio corpo rigido de cada bala para lança-la, usei o raycast pra determinar se um objeto pode ou não ser destruido, tipo para não ocorrer do player atirar no chão por exemplo e ele ser destruido entende ?
ScorpionG4mer- Avançado
- PONTOS : 3445
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
Re: [Unity 5] Instanciar objetos onde mouse mira
Como a sim não acho maneiras eficazes de fazer a bala
na verdade o raycast não e a bala em si mais o que vai detectar se colidiu com o objeto o que sai da bala e somente digamos "Um efeito " chamado muzzle
na verdade o raycast não e a bala em si mais o que vai detectar se colidiu com o objeto o que sai da bala e somente digamos "Um efeito " chamado muzzle
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [Unity 5] Instanciar objetos onde mouse mira
ScorpionG4mer escreveu:Queria saber como instanciar objetos onde o mouse está mirando, só isso
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Bala : MonoBehaviour {
private Vector3 forçaBala;
public Rigidbody bala;
// Use this for initialization
void Start () {
forçaBala.z = 50;
}
// Update is called once per frame
void Update () {
bala.AddForce (forçaBala, ForceMode.Acceleration);
bala.constraints = RigidbodyConstraints.FreezePositionY;
}
}
Aliás weslley, eu não achei maneiras muito eficazes de fazer a bala com raycast, então usei o própio corpo rigido de cada bala para lança-la, usei o raycast pra determinar se um objeto pode ou não ser destruido, tipo para não ocorrer do player atirar no chão por exemplo e ele ser destruido entende ?
Cara deixa eu ver se eu entendi:
a única coisa que voce quer é fazer um sistema decente de tiro usando raycast? porque se for eu sei exatamente aonde está o que vc procura!!
JohnRambo- Moderador
- PONTOS : 5171
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: [Unity 5] Instanciar objetos onde mouse mira
Tipo eu fiz um sisteminha com base no que o weslley me ensino do raycast,John Rambo escreveu:
Cara deixa eu ver se eu entendi:
a única coisa que voce quer é fazer um sistema decente de tiro usando raycast? porque se for eu sei exatamente aonde está o que vc procura!!
- Código:
collidedInObject = Physics.Raycast (ray, out hit, bulletDistance);
raio = Camera.main.ScreenPointToRay (new Vector3 (Screen.width / 2, Screen.height / 2));
if (pickupWeapon == true) {
if (collidedInObject == true)
{
GameObject destroyThisObject = hit.collider.gameObject;
if (Input.GetMouseButton (0) && currentMunition > 0)
{
GameObject shot = Instantiate (bala) as GameObject;
shot.transform.position = new Vector3 (bulletExit.transform.position.x, bulletExit.transform.position.y, bulletExit.transform.position.z);
Atirou ();
if (destroyThisObject.tag == "Terreno") {
Debug.LogError ("Esse objeto não pode ser destruido");
} else {
Destroy (destroyThisObject);
}
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Bala : MonoBehaviour {
private Vector3 forçaBala;
public Rigidbody bala;
// Use this for initialization
void Start () {
forçaBala.z = 50;
}
// Update is called once per frame
void Update () {
bala.AddForce (forçaBala, ForceMode.Acceleration);
bala.constraints = RigidbodyConstraints.FreezePositionY;
}
}
até o momento ele só faz com que todos os clones da bala sejam jogados no eixo z, e é congelado o eixo y para que as balas não caiam, porém logo vou tirar isso, só estou tentando encontrar a fórmula pra desutilizar esse comando, até porque ele faz com que a bala não suba nem desça, enfim ele adiciona a força e só, eu queria que ele adicionasse a força ao eixo correspondente do mouse, tipo o Input.mousePosition, porém como aplicar isso nesse script(se é possível), isso que quero para ser especifico
ScorpionG4mer- Avançado
- PONTOS : 3445
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
JohnRambo- Moderador
- PONTOS : 5171
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: [Unity 5] Instanciar objetos onde mouse mira
Bom tem um pouco a ver, mas não é isso que eu procuro, isso faz um sistema de vida inimiga e dano da bala, eu já sei fazer isso, como disse quero que a bala saia com velocidade do seu ponto inicial, referente a onde o mouse mira, mas obrigado de qualquer forma :D
ScorpionG4mer- Avançado
- PONTOS : 3445
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
Re: [Unity 5] Instanciar objetos onde mouse mira
Pelo que eu entendi, seria algo assim?
- Código:
using UnityEngine;
using System.Collections;
public class Atirar : MonoBehaviour {
public GameObject prefabBala; // o prefab da bala obrigatoriamente precisa ter um rigidbody
public float forcaDaBala = 100, tempoDaBala = 10;
void Update () {
if (Input.GetMouseButtonDown (0)) {
GameObject projetil = Instantiate (prefabBala, transform.position, transform.rotation)as GameObject;
projetil.GetComponent<Rigidbody> ().AddForce (transform.forward*forcaDaBala, ForceMode.Impulse);
Destroy (projetil, tempoDaBala);
}
}
}
Re: [Unity 5] Instanciar objetos onde mouse mira
Em prática isso funciona porém istancia a bala em uma cordenada apenas, eu quero que seja instanciada a frente do cano da arma, isso que eu tentei fazer:MarcosSchultz escreveu:Pelo que eu entendi, seria algo assim?
- Código:
using UnityEngine;
using System.Collections;
public class Atirar : MonoBehaviour {
public GameObject prefabBala; // o prefab da bala obrigatoriamente precisa ter um rigidbody
public float forcaDaBala = 100, tempoDaBala = 10;
void Update () {
if (Input.GetMouseButtonDown (0)) {
GameObject projetil = Instantiate (prefabBala, transform.position, transform.rotation)as GameObject;
projetil.GetComponent<Rigidbody> ().AddForce (transform.forward*forcaDaBala, ForceMode.Impulse);
Destroy (projetil, tempoDaBala);
}
}
}
- Código:
using UnityEngine;
using System.Collections;
public class Bala : MonoBehaviour {
public GameObject prefabBala; // o prefab da bala obrigatoriamente precisa ter um rigidbody
public float forcaDaBala = 100, tempoDaBala = 10;
public GameObject bulletExit;
void Update () {
if (Input.GetMouseButtonDown (0)) {
GameObject projetil = Instantiate (prefabBala, new Vector3(bulletExit.transform.position.x, bulletExit.transform.position.y,bulletExit.transform.position.z),transform.rotation)as GameObject;
projetil.GetComponent<Rigidbody> ().AddForce (transform.forward*forcaDaBala, ForceMode.Impulse);
Destroy (projetil, tempoDaBala);
}
ScorpionG4mer- Avançado
- PONTOS : 3445
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
Re: [Unity 5] Instanciar objetos onde mouse mira
Agora acabei de perdeber, alterei o script fazendo com que quando a bala nasce ela ganha a força de 20, mesmo assim ela sempre vai pro eixo X, eu quero fazer com que ele vá pra onde o mouse aponta, veja o script:
- Código:
using UnityEngine;
using System.Collections;
public class Bala : MonoBehaviour {
public GameObject prefabBala; // o prefab da bala obrigatoriamente precisa ter um rigidbody
public float forcaDaBala = 20, tempoDaBala = 10;
void Start()
{
prefabBala.GetComponent<Rigidbody>().AddForce(transform.forward*forcaDaBala, ForceMode.Impulse);
}
void Update () {
}
}
ScorpionG4mer- Avançado
- PONTOS : 3445
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
Re: [Unity 5] Instanciar objetos onde mouse mira
ScorpionG4mer escreveu:Agora acabei de perdeber, alterei o script fazendo com que quando a bala nasce ela ganha a força de 20, mesmo assim ela sempre vai pro eixo X, eu quero fazer com que ele vá pra onde o mouse aponta, veja o script:o Add force manda ela pra X, o que eu faço pra mudar isso, pra colocar a posição do mouse como referencia a bala
- Código:
using UnityEngine;
using System.Collections;
public class Bala : MonoBehaviour {
public GameObject prefabBala; // o prefab da bala obrigatoriamente precisa ter um rigidbody
public float forcaDaBala = 20, tempoDaBala = 10;
void Start()
{
prefabBala.GetComponent<Rigidbody>().AddForce(transform.forward*forcaDaBala, ForceMode.Impulse);
}
void Update () {
}
}
Especifique, você quer atirar para frente (tipo, centro da tela) ou exatamente para onde o mouse está mirando?
Re: [Unity 5] Instanciar objetos onde mouse mira
Como seria pra fazer o objeto seguir exatamente a mira q esta no centro da tela?
emerson007santos- Iniciante
- PONTOS : 2884
REPUTAÇÃO : 0
Respeito as regras :
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Tópicos semelhantes
» Como posso fazer pra atirar onde o cursor do mouse está (UNITY 2D)
» Olhar para onde o mouse aponta
» Instanciar objeto onde cricar com mouse ou touch
» Como colocar uma mira no lugar do cursor do mouse
» Coletar Objetos que estão na mira
» Olhar para onde o mouse aponta
» Instanciar objeto onde cricar com mouse ou touch
» Como colocar uma mira no lugar do cursor do mouse
» Coletar Objetos que estão na mira
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos