Aprimoramento IA Inimiga
3 participantes
Página 1 de 1
Aprimoramento IA Inimiga
galera comecei agora a usar o C# por conselho dos membros aq do forum , com bastante dificuldade to comecando a intender.
Fiz essa IA de um inimigo com ajuda aq dos membros ,
Mas queria por um sistema para ele parar de seguir a 1 metro de distancia"pois esta entrando dentro do player ou o arrastando " e tambem para poder executar a animaçao de atack
e queria por uma animaçao de andar enquanto ele tiver seguindo : " nao sei como chamar animaçao ainda" brg pela força q tao me dando
animaçao de andar = orcwalk
de atacar =orcatack
o codigo q tenho ainda ta bem simples
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class orccomp : MonoBehaviour {
float campo;
public Transform player;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
campo = Vector3.Distance (transform.position, player.transform.position);
if (campo < 7 ) {
olhar ();
}
if (campo <5) {
olhar ();
seguir ();
}
}
void olhar () {
Quaternion visao;
visao = Quaternion.LookRotation (player.position - transform.position);
transform.rotation = Quaternion.Slerp (transform.rotation, visao, Time.deltaTime*6f);
}
void seguir () {
transform.Translate (Vector3.forward * 2 * Time.deltaTime);
}
}
agradeço desde ja
Fiz essa IA de um inimigo com ajuda aq dos membros ,
Mas queria por um sistema para ele parar de seguir a 1 metro de distancia"pois esta entrando dentro do player ou o arrastando " e tambem para poder executar a animaçao de atack
e queria por uma animaçao de andar enquanto ele tiver seguindo : " nao sei como chamar animaçao ainda" brg pela força q tao me dando
animaçao de andar = orcwalk
de atacar =orcatack
o codigo q tenho ainda ta bem simples
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class orccomp : MonoBehaviour {
float campo;
public Transform player;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
campo = Vector3.Distance (transform.position, player.transform.position);
if (campo < 7 ) {
olhar ();
}
if (campo <5) {
olhar ();
seguir ();
}
}
void olhar () {
Quaternion visao;
visao = Quaternion.LookRotation (player.position - transform.position);
transform.rotation = Quaternion.Slerp (transform.rotation, visao, Time.deltaTime*6f);
}
void seguir () {
transform.Translate (Vector3.forward * 2 * Time.deltaTime);
}
}
agradeço desde ja
bravoent- Avançado
- PONTOS : 2916
REPUTAÇÃO : 16
Respeito as regras :
Re: Aprimoramento IA Inimiga
eu vi o tutoriral do marcos de como por animaçao e fiz isso aq o :
ea animaçao nao executa
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class IaGoblin : MonoBehaviour {
public float velocidade;
private Animator animI;
float campo;
public Transform player;
// Use this for initialization
void Start () {
animI = GetComponent<Animator> ();
}
// Update is called once per frame
void Update () {
campo = Vector3.Distance (transform.position, player.transform.position);
velocidade = velocidade + 0.1f;
if (campo < 7 ) {
olhar ();
}
if (campo <5) {
olhar ();
seguir ();
}
}
void olhar () {
Quaternion visao;
visao = Quaternion.LookRotation (player.position - transform.position);
transform.rotation = Quaternion.Slerp (transform.rotation, visao, Time.deltaTime*6f);
}
void seguir () {
transform.Translate (Vector3.forward * 2 * Time.deltaTime);
animI.SetFloat("Gbvelocidade", 1);
}
}
me ajudem
ea animaçao nao executa
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class IaGoblin : MonoBehaviour {
public float velocidade;
private Animator animI;
float campo;
public Transform player;
// Use this for initialization
void Start () {
animI = GetComponent<Animator> ();
}
// Update is called once per frame
void Update () {
campo = Vector3.Distance (transform.position, player.transform.position);
velocidade = velocidade + 0.1f;
if (campo < 7 ) {
olhar ();
}
if (campo <5) {
olhar ();
seguir ();
}
}
void olhar () {
Quaternion visao;
visao = Quaternion.LookRotation (player.position - transform.position);
transform.rotation = Quaternion.Slerp (transform.rotation, visao, Time.deltaTime*6f);
}
void seguir () {
transform.Translate (Vector3.forward * 2 * Time.deltaTime);
animI.SetFloat("Gbvelocidade", 1);
}
}
me ajudem
bravoent- Avançado
- PONTOS : 2916
REPUTAÇÃO : 16
Respeito as regras :
Re: Aprimoramento IA Inimiga
talvez ajude --->https://www.youtube.com/watch?v=rwtZFDJbOGgbravoent escreveu:eu vi o tutoriral do marcos de como por animaçao e fiz isso aq o :
ea animaçao nao executa
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class IaGoblin : MonoBehaviour {
public float velocidade;
private Animator animI;
float campo;
public Transform player;
// Use this for initialization
void Start () {
animI = GetComponent<Animator> ();
}
// Update is called once per frame
void Update () {
campo = Vector3.Distance (transform.position, player.transform.position);
velocidade = velocidade + 0.1f;
if (campo < 7 ) {
olhar ();
}
if (campo <5) {
olhar ();
seguir ();
}
}
void olhar () {
Quaternion visao;
visao = Quaternion.LookRotation (player.position - transform.position);
transform.rotation = Quaternion.Slerp (transform.rotation, visao, Time.deltaTime*6f);
}
void seguir () {
transform.Translate (Vector3.forward * 2 * Time.deltaTime);
animI.SetFloat("Gbvelocidade", 1);
}
}
me ajudem
Gabriel César O- Profissional
- PONTOS : 3986
REPUTAÇÃO : 217
Idade : 23
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :
Re: Aprimoramento IA Inimiga
- Código:
campo = Vector3.Distance (transform.position, player.transform.position);
//O inimigo vai atras do player se a distancia entre eles for menor que 10 e maior que 2
if(campo > 2 & campo < 10){
//Seguir
}
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos