Ajustar o alvo do inimigo
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1 • Compartilhe •
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á
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á

Última edição por NandoDine em Ter Nov 15, 2016 12:02 pm, editado 1 vez(es)
NandoDine- Membro
-
PONTOS : 573
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 : 573
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
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
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

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

Última edição por NandoDine em Ter Nov 15, 2016 12:03 pm, editado 1 vez(es) (Razã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 : 573
REPUTAÇÃO : 5
Áreas de atuação : JS, PHP, MySQL, Web Design (Estudando C#)
Respeito as regras :
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum