Inteligencia artificial?
3 participantes
Página 1 de 1
Inteligencia artificial?
Estou com esse script para IA mais ele esta dando erro na linha que tem ?
- Código:
eulerAngles.y = rotQ.eulerAngles
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent(typeof(Animator))]
public class Ia : MonoBehaviour {
public Animator anim;//Animator
public GameObject Player;//Player
public Vector3 DistV;//Distancia em x,y,z
public Quaternion rotQ;//Olhar para o Player
public float rmaxF;//Raio maximo
public float rmedF;//Raio medio
public float rmimF;//Raio minimo
public int animI;//Numero de comportamento
public Rigidbody rb;
public bool ATT;
void Awake () {
rb = GetComponent<Rigidbody>();
}
void Start (){
animI = 1;
rmaxF = 25;
rmedF = 10;
rmimF = 5;
anim = GetComponent<Animator> ();
anim.SetBool("andar",false);
anim.SetBool("ataque",false);
ATT = false;
}
void Update (){
if(animI == 1){anim.SetBool("andar",false);}//parado
if(animI == 2){anim.SetBool("andar",true); }//Seguindo
if(animI == 3){anim.SetBool("andar",false);}//Distanciando
if(animI == 4){anim.SetBool("ataque",true);}//Atacando
if(animI == 5){anim.SetBool("andar",true);}//Movimento Aleatorio
//Variaves
DistV = transform.position - Player.transform.position;//Distancia
rotQ = Quaternion.LookRotation(DistV);//Local de rotaçao
//funçao
if(ATT == true){transform.rotation.eulerAngles.y = rotQ.eulerAngles.y + 180;}
if(DistV.x <= rmimF && DistV.x >= - rmimF && DistV.z <= rmimF && DistV.z >= - rmimF)
{animI = 4; ATT = true;}else
if(DistV.x <= rmedF && DistV.x >= - rmedF && DistV.z <= rmedF && DistV.z >= - rmedF)
{animI = 3;}else
if(ATT == true){
if(DistV.x <= rmaxF && DistV.x >= - rmaxF && DistV.z <= rmaxF && DistV.z >= - rmaxF)
{animI = 2;}else{animI = 1; ATT = false;}
}
}
}
Re: Inteligencia artificial?
você não pode setar um eixo separado, tipo:
eulerAngles.y = 1;
Você tem que setar um novo Vector3 inteiro, ex:
transform.eulerAngles = new Vector3(transform.eulerAngles.x,1,transform.eulerAngles.z);
eulerAngles.y = 1;
Você tem que setar um novo Vector3 inteiro, ex:
transform.eulerAngles = new Vector3(transform.eulerAngles.x,1,transform.eulerAngles.z);
Re: Inteligencia artificial?
cara nao presisa escrever ex
[list=linenums]
[*]if(ATT == true){transform.rotation.eulerAngles.y = rotQ.eulerAngles.y + 180;}
[*]da par aescrever so
[*]if(ATT){transform.rotation.eulerAngles.y = rotQ.eulerAngles.y + 180;}
[*] em vez de escrever o true ou o null da ´para escrever so a variavel dos objetoa e das boleanas e
[*]quando for negativo coloca o "!" na frente da variaveis
[*]popa um grande tempo nao prescisar escrever os true
[*]e Ia é melhor fazer em switch pois vc tem mais opcoes; para a sua ai
[*]vlw
[/list]
[list=linenums]
[*]if(ATT == true){transform.rotation.eulerAngles.y = rotQ.eulerAngles.y + 180;}
[*]da par aescrever so
[*]if(ATT){transform.rotation.eulerAngles.y = rotQ.eulerAngles.y + 180;}
[*] em vez de escrever o true ou o null da ´para escrever so a variavel dos objetoa e das boleanas e
[*]quando for negativo coloca o "!" na frente da variaveis
[*]popa um grande tempo nao prescisar escrever os true
[*]e Ia é melhor fazer em switch pois vc tem mais opcoes; para a sua ai
[*]vlw
[/list]
Re: Inteligencia artificial?
Eu fiz assim e nao apareceu erros vou textar
- Código:
if(ATT == true){transform..eulerAngles.y = new Vector3(rotQ.eulerAngles.y,rotQ.eulerAngles.y + 180;}
Tópicos semelhantes
» Inteligência Artificial
» Inteligencia Artificial
» Inteligência Artificial
» Inteligencia Artificial
» RAIN AI Inteligencia Artificial Grátis
» Inteligencia Artificial
» Inteligência Artificial
» Inteligencia Artificial
» RAIN AI Inteligencia Artificial Grátis
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos