[DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
3 participantes
Página 1 de 1
[DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
Gostaria de saber a melhor forma de criar a mira neste estilo mas para um personagem em 3ª pessoa.
GibsonDKS- Avançado
- PONTOS : 3563
REPUTAÇÃO : 22
Respeito as regras :
Re: [DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
ocilando seria mexer a mira
como uma respiração ?
como uma respiração ?
cosmoplay- Avançado
- PONTOS : 3798
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: [DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
há um problema nisso... o seu sistema de arma já está pronto?
Se você fez o sistema de arma com Instantiate, não há como saber exatamente aonde a bala vai parar e portanto a mira é quase impossivel de se fazer... já se seu sistema foi feito com Raycast, basta declarar uma DrawTexture com o Rect atualizando no Update... depois explico melhor como funciona, más primeiro preciso saber como está o sistema de arma
Se você fez o sistema de arma com Instantiate, não há como saber exatamente aonde a bala vai parar e portanto a mira é quase impossivel de se fazer... já se seu sistema foi feito com Raycast, basta declarar uma DrawTexture com o Rect atualizando no Update... depois explico melhor como funciona, más primeiro preciso saber como está o sistema de arma
Re: [DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
eu fiz um de Raycast,e na verdade nao é bem uma arma, é pra um jogo de Bets(Taco) que eu to tentando fazer, e é a mira do lançador da bolinha
GibsonDKS- Avançado
- PONTOS : 3563
REPUTAÇÃO : 22
Respeito as regras :
Re: [DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
O problema é que você tem que sincronizar este Raycast com a mira... então os 2 sistemas tem que ser integrados.
Para fazer uma mira móvel, você pode usar uma DrawTexture com um rect fixo + variaveis que recebem um random.Range a cada segundo... é um sistema um pouco confuso, más em resumo você terá um rect com uma posição fixa:
agora a parte de mover a textura é dada por variaveis que deslocam a posição dela no eixo X e Y, para isto vamos somar Pixels na sua posição inicial X e Y com variaveis do tipo float que ficam recebendo valores aleatórios e indo suavemente até estes valores:
Pronto, agora se você jogar uma textura ali e der um Play você já consegue deslocar a textura inGame trocando o valor das variáveis...
más claro, este deslocamento ficaria desproporcional dependendo de cada resolução de cada tela que o jogo pode estar rodando, então vamos normalizar o deslocamento da textura de acordo com a tela:
Confuso né? são alguns cálculos que eu fiz para normalizar a posição de acordo com a resolução...
agora temos que elaborar um sistema para a mira receber valores aleatórios de tempos em tempos e então fazer as variaveis mudarem de valor suavemente do valor X atual até o valor sorteado... Dakiapouco eu posto
Para fazer uma mira móvel, você pode usar uma DrawTexture com um rect fixo + variaveis que recebem um random.Range a cada segundo... é um sistema um pouco confuso, más em resumo você terá um rect com uma posição fixa:
- Código:
using UnityEngine;
using System.Collections;
public class Mira : MonoBehaviour {
public Texture textura;
void OnGUI (){
GUI.DrawTexture (new Rect ((Screen.width / 2-textura.width/2), (Screen.height / 2-textura.height/2), textura.width, textura.height), textura);
}
}
agora a parte de mover a textura é dada por variaveis que deslocam a posição dela no eixo X e Y, para isto vamos somar Pixels na sua posição inicial X e Y com variaveis do tipo float que ficam recebendo valores aleatórios e indo suavemente até estes valores:
- Código:
using UnityEngine;
using System.Collections;
public class Mira : MonoBehaviour {
public Texture textura;
public float deslocamentoX,deslocamentoY;
void OnGUI (){
GUI.DrawTexture (new Rect ((Screen.width / 2-textura.width/2)+deslocamentoX, (Screen.height / 2-textura.height/2)+deslocamentoY, textura.width, textura.height), textura);
}
}
Pronto, agora se você jogar uma textura ali e der um Play você já consegue deslocar a textura inGame trocando o valor das variáveis...
más claro, este deslocamento ficaria desproporcional dependendo de cada resolução de cada tela que o jogo pode estar rodando, então vamos normalizar o deslocamento da textura de acordo com a tela:
- Código:
using UnityEngine;
using System.Collections;
public class Mira : MonoBehaviour {
public Texture textura;
public float deslocamentoX,deslocamentoY;
void OnGUI (){
GUI.DrawTexture (new Rect ((Screen.width / 2-textura.width/2)+(deslocamentoX/Screen.height)*Screen.width, (Screen.height / 2-textura.height/2)+(deslocamentoY/Screen.width)*Screen.height, textura.width, textura.height), textura);
}
}
Confuso né? são alguns cálculos que eu fiz para normalizar a posição de acordo com a resolução...
agora temos que elaborar um sistema para a mira receber valores aleatórios de tempos em tempos e então fazer as variaveis mudarem de valor suavemente do valor X atual até o valor sorteado... Dakiapouco eu posto
Re: [DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
Sistema feito :D
da uma olhada neste tutorial...
https://www.schultzgames.com/t246-tutorial-mira-que-fica-se-movendo#1145
da uma olhada neste tutorial...
https://www.schultzgames.com/t246-tutorial-mira-que-fica-se-movendo#1145
Re: [DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
VLW!! Vou testar assim que chegar em casa!
GibsonDKS- Avançado
- PONTOS : 3563
REPUTAÇÃO : 22
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Mira que fica se movendo (ocilando,tremendo,etc)
» Como fazer uma mira de referencia (que fica no centro da tela)
» [Dúvida] Como fazer um sistema de mira 2D?
» [DÚVIDA] Como fazer uma mira angular no Unity?
» alguem sabe como fazer as operaçoes do tipo exponencial?e na raiz?
» Como fazer uma mira de referencia (que fica no centro da tela)
» [Dúvida] Como fazer um sistema de mira 2D?
» [DÚVIDA] Como fazer uma mira angular no Unity?
» alguem sabe como fazer as operaçoes do tipo exponencial?e na raiz?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos