Ajustar o alvo do inimigo
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Ajustar o alvo do inimigo
E ae galera, tudo bem?
então, estou com uma dificuldade em um javascript aqui
e tipo, o INIMIGO, só esta mirando 360° para os lados (X , Z) ou seja, quando o PLAYER fica acima do nivel do inimigo
o inimigo não esta mirando para cima, continua atirando porem na mesma direção do player mais reto na altura do inimigo.
a script é essa
eu queria fazer o inimigo atirar livre tanto pra cima, como pra baixo e pros lados.
Tentei modificar a script mais não obtive sucesso.
se alguem poder me dar uma dica, Obrigado desde já :D
então, estou com uma dificuldade em um javascript aqui
e tipo, o INIMIGO, só esta mirando 360° para os lados (X , Z) ou seja, quando o PLAYER fica acima do nivel do inimigo
o inimigo não esta mirando para cima, continua atirando porem na mesma direção do player mais reto na altura do inimigo.
a script é essa
- Código:
#pragma strict
private var target : Transform;
private var nextAttackTime : float;
var damage : float;
var force : float;
var fireRate : float;
var fire : Fire;
var tracer : GameObject;
var shootPos : Transform;
var actualSpread : float;
function Start () {
target = PlayerWeapons.weaponCam.transform;
}
function Attack () {
if(Time.time < nextAttackTime)
return;
nextAttackTime = Time.time + fireRate;
//function Fire (penetration : int, damage : float, force : float, tracer : GameObject, direction : Vector3, firePosition : Vector3) {
fire.Fire(0, damage, force, tracer, SprayDirection(), shootPos.position);
}
function SprayDirection(){
var vx = (1 - 2 * Random.value) * actualSpread;
var vy = (1 - 2 * Random.value) * actualSpread;
var vz = 1.0;
return transform.TransformDirection(Vector3(vx,vy,vz));
}
eu queria fazer o inimigo atirar livre tanto pra cima, como pra baixo e pros lados.
Tentei modificar a script mais não obtive sucesso.
se alguem poder me dar uma dica, Obrigado desde já :D
Última edição por NandoDine em Ter Nov 15, 2016 12:02 pm, editado 1 vez(es)
NandoDine- Membro
- PONTOS : 2980
REPUTAÇÃO : 5
Áreas de atuação : JS, PHP, MySQL, Web Design (Estudando C#)
Respeito as regras :
Re: Ajustar o alvo do inimigo
Tentei usar o script da seguinte forma
Porem continuou mirando pra reto para os lados X,Z.. e nao mira para o Y.. a Ideia seria que o INIMIGO olha pra cima e ataca o PLAYER se o player descer ou subir a escada, o inimigo vai estar mirando e atacando também
- Código:
#pragma strict
private var target : Transform;
private var nextAttackTime : float;
var damage : float;
var force : float;
var fireRate : float;
var fire : Fire;
var tracer : GameObject;
var shootPos : Transform;
var actualSpread : float;
var player : Transform;
var head : Transform;
function Start () {
target = PlayerWeapons.weaponCam.transform;
}
function Attack () {
if(Time.time < nextAttackTime)
return;
nextAttackTime = Time.time + fireRate;
//function Fire (penetration : int, damage : float, force : float, tracer : GameObject, direction : Vector3, firePosition : Vector3) {
fire.Fire(0, damage, force, tracer, SprayDirection(), shootPos.position);
IsAimingAtPlayer();
}
function SprayDirection(){
var vx = (1 - 2 * Random.value) * actualSpread;
var vy = (1 - 2 * Random.value) * actualSpread;
var vz = 1.0;
return transform.TransformDirection(Vector3(vx,vy,vz));
}
function IsAimingAtPlayer() : boolean {
var playerDirection : Vector3 = (player.position - head.position);
playerDirection.y = 0;
return Vector3.Angle (head.forward, playerDirection) < 15;
}
Porem continuou mirando pra reto para os lados X,Z.. e nao mira para o Y.. a Ideia seria que o INIMIGO olha pra cima e ataca o PLAYER se o player descer ou subir a escada, o inimigo vai estar mirando e atacando também
NandoDine- Membro
- PONTOS : 2980
REPUTAÇÃO : 5
Áreas de atuação : JS, PHP, MySQL, Web Design (Estudando C#)
Respeito as regras :
Re: Ajustar o alvo do inimigo
Bem, andei fazendo umas gambiarras nessa Script, com umas que Achei aqui no forum
E Ficou do jeito que eu queria, o inimigo mirar para o player onde o player exatamente tiver.
Porem, o inimigo ao mirar para o player em um lugar muito alto, ou muito baixo, o corpo vira, como se estivesse usando a ferramente de girar no unity, ele gira o corpo inteiro
Eu queria fazer ele girar apenas os braços e a arma, que fica linkado em var shootPos : Transform;
Se alguem poder mu ajudar, eu agradeço muito :D
EDIT: Já consegui arrumar a script, a mira do inimigo esta do jeito que eu queria, agora com outro problema, estarei abrindo outro topico, com uma imagem para outro assunto que queria tirar uma dúvida :D
E Ficou do jeito que eu queria, o inimigo mirar para o player onde o player exatamente tiver.
Porem, o inimigo ao mirar para o player em um lugar muito alto, ou muito baixo, o corpo vira, como se estivesse usando a ferramente de girar no unity, ele gira o corpo inteiro
Eu queria fazer ele girar apenas os braços e a arma, que fica linkado em var shootPos : Transform;
- Código:
#pragma strict
private var target : Transform;
private var nextAttackTime : float;
var damage : float;
var force : float;
var fireRate : float;
var fire : Fire;
var tracer : GameObject;
var shootPos : Transform;
var actualSpread : float;
var Target1 : Transform;
var Damping = 6.0;
function Start () {
target = PlayerWeapons.weaponCam.transform;
}
function Attack () {
if(Time.time < nextAttackTime)
return;
nextAttackTime = Time.time + fireRate;
//function Fire (penetration : int, damage : float, force : float, tracer : GameObject, direction : Vector3, firePosition : Vector3) {
fire.Fire(0, damage, force, tracer, SprayDirection(), shootPos.position);
//Inimigo Mirar para o Player
var rotation = Quaternion.LookRotation(Target1.position - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * Damping);
}
function SprayDirection(){
var vx = (1 - 2 * Random.value) * actualSpread;
var vy = (1 - 2 * Random.value) * actualSpread;
var vz = 1.0;
return transform.TransformDirection(Vector3(vx,vy,vz));
}
Se alguem poder mu ajudar, eu agradeço muito :D
EDIT: Já consegui arrumar a script, a mira do inimigo esta do jeito que eu queria, agora com outro problema, estarei abrindo outro topico, com uma imagem para outro assunto que queria tirar uma dúvida :D
Última edição por NandoDine em Ter Nov 15, 2016 12:03 pm, editado 1 vez(es) (Motivo da edição : EDIT: Já consegui arrumar a script, a mira do inimigo esta do jeito que eu queria, agora com outro problema, estarei abrindo outro topico, com uma imagem para outro assunto que queria tirar uma dúvida :D)
NandoDine- Membro
- PONTOS : 2980
REPUTAÇÃO : 5
Áreas de atuação : JS, PHP, MySQL, Web Design (Estudando C#)
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Inimigo detecta outro Inimigo.
» Script de health de inimigo sendo acessado mesmo sem acerta o inimigo
» MAGIA SEGUIR ALVO COM TAG APOS SER INSTANCIADA
» [DÚVIDA] AJUSTAR FOV COM BARRINHA SLIDER
» [RESOLVIDO] Ajustar movimentação da câmera
» Script de health de inimigo sendo acessado mesmo sem acerta o inimigo
» MAGIA SEGUIR ALVO COM TAG APOS SER INSTANCIADA
» [DÚVIDA] AJUSTAR FOV COM BARRINHA SLIDER
» [RESOLVIDO] Ajustar movimentação da câmera
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos