SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Destruindo objeto em uma outra cena
alguem tem xbox one?
Cryengine 3?
como usar o Lookat com o addforce do rigidibody?
[____TÓPICO LIVRE____] FALE O QUE QUISER
Transferência de valores.
Teste de usuário para um jogo
Ajuda com variaveis multiplas?
Animação da arma (Mirar/Recarregar)
script
Dash2D
[TUTORIAL] Barra de VIDA / HP contínua
Tornar objeto filho por script
Time.timeScale continua em 0
Animacao2D
Duvida Animation Play não faz nada
Unity 5 Bugado
Escolher que resoluções jogo vai ter
Baixar Documentaçao Unity 3D?
COMO DESATIVAR O SCRIPT "FisrtPersonController" DO PLAYER ATRAVÉS DE OUTRO SCRIPT
Ajuda Movimento2D
AJUDA COM BAKE EM LUZES
Tem como editar o inspector?
[TUTORIAL] Como Abrir e Fechar Gavetas - Unity 5
Números aleatorios
[TUTORIAL]Save Load Criptografado (Atualizado 07/12/16)
Trocar de true pra false em uma animação bool
[TUTORIAL] Alterarando o ícone do Executável do Jogo
É assim que se começa um "novo mundo" na era medieval? kkjk
Baixar Unity ?
R7 - GOOH (resident evil 7)
Unity 5 + um pouco de conhecimento ou Skyrim?
Procuro vagas em equipes [Programador]
Help minha void oncollisionenter nao funciona e nao consio encontrar o do por que :/
Converter um Gameobject para uma byte array (byte[])
Asset de FPS - AU FPS Kit [unity 5] v1.5
[TUTORIAL] Dicas de otimização
Preciso saber o ponto medio entre dois Transform
[TUTORIAL] Banco de dados || MySQL
Unity 5.5 BETA (Mudanças)
[TUTORIAL] Serialização - JSON
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
[TUTORIAL]Como colocar videos ou intros simples na unity free
[TUTORIAL] Deformar o terreno
[TUTORIAL] Scripts Básicos para Iniciantes
Qual asset comprar?
Ideias para level design 3D
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Integração PHP e Unity
Ideia Inovadora
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Forma uma equipe
Feixe de luz - melhor forma de fazer
erro sinistro
Duvida sobre o Peso do jogo?
Alquem tem alguma ideia de como fazer o Player tipo a cabeça olhar para o seu inimigo?
Como mudar rotacao de um objeto em relacao a posicao do outro objeto
Gostaria da opinião de vocês sobre o beta da Unity
Script
[TUTORIAL] Sistema de Escada Estilo FPS
Guitar The Legends of Brazil
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Examinar
Formação de Equipe Battle of Worlds
me ajudem neste script para subir escada
Texturas
script por favor me ajudem
Tem como saber o Tamanho do Objeto?
Banco de dados Aleatorio
Procuro desenhista para jogo 2D Pixel Art (Compra)
[Dúvida] Blender erro ao aplicar osso na mesh
[resolvido]enfiar float no UItext por script
Daria para pegar as horas do computador e por no jogo?
Hoje à(s) 7:38 am
Hoje à(s) 7:01 am
Hoje à(s) 6:17 am
Hoje à(s) 1:11 am
Hoje à(s) 12:23 am
Ontem à(s) 11:58 pm
Ontem à(s) 11:55 pm
Ontem à(s) 10:57 pm
Ontem à(s) 10:22 pm
Ontem à(s) 10:03 pm
Ontem à(s) 8:53 pm
Ontem à(s) 8:51 pm
Ontem à(s) 8:47 pm
Ontem à(s) 8:45 pm
Ontem à(s) 8:42 pm
Ontem à(s) 8:36 pm
Ontem à(s) 8:32 pm
Ontem à(s) 8:30 pm
Ontem à(s) 8:22 pm
Ontem à(s) 7:47 pm
Ontem à(s) 5:54 pm
Ontem à(s) 5:50 pm
Ontem à(s) 4:31 pm
Ontem à(s) 4:16 pm
Ontem à(s) 3:40 pm
Ontem à(s) 3:26 pm
Ontem à(s) 3:01 pm
Ontem à(s) 2:31 pm
Ontem à(s) 1:06 pm
Ontem à(s) 10:42 am
Ter Dez 06, 2016 11:07 pm
Ter Dez 06, 2016 10:46 pm
Ter Dez 06, 2016 10:30 pm
Ter Dez 06, 2016 6:02 pm
Ter Dez 06, 2016 5:01 pm
Ter Dez 06, 2016 3:31 am
Seg Dez 05, 2016 11:52 pm
Seg Dez 05, 2016 6:52 pm
Seg Dez 05, 2016 6:48 pm
Seg Dez 05, 2016 6:32 pm
Seg Dez 05, 2016 6:17 pm
Seg Dez 05, 2016 6:15 pm
Seg Dez 05, 2016 4:08 pm
Seg Dez 05, 2016 3:10 pm
Seg Dez 05, 2016 1:36 pm
Seg Dez 05, 2016 12:35 pm
Dom Dez 04, 2016 10:52 pm
Dom Dez 04, 2016 6:37 pm
Dom Dez 04, 2016 6:33 pm
Dom Dez 04, 2016 5:46 am
Dom Dez 04, 2016 3:34 am
Sab Dez 03, 2016 11:36 pm
Sab Dez 03, 2016 11:31 pm
Sab Dez 03, 2016 1:32 pm
Sab Dez 03, 2016 10:53 am
Sab Dez 03, 2016 1:25 am
Sab Dez 03, 2016 1:11 am
Sab Dez 03, 2016 1:08 am
Sex Dez 02, 2016 11:20 pm
Sex Dez 02, 2016 11:15 pm
Sex Dez 02, 2016 11:10 pm
Sex Dez 02, 2016 11:08 pm
Sex Dez 02, 2016 10:58 pm
Sex Dez 02, 2016 10:52 pm
Sex Dez 02, 2016 10:50 pm
Sex Dez 02, 2016 10:04 pm
Sex Dez 02, 2016 9:12 pm
Sex Dez 02, 2016 8:53 pm
Sex Dez 02, 2016 8:49 pm
Sex Dez 02, 2016 12:46 pm
Sex Dez 02, 2016 11:53 am
Sex Dez 02, 2016 8:06 am
Qui Dez 01, 2016 11:31 pm
Qui Dez 01, 2016 10:46 pm
Qui Dez 01, 2016 7:28 pm
dstaroski
dstaroski
Callyde Jr
George Lucas Vieira
artplayer
Matrirxp
zBanidor
MarcosSchultz
zBanidor
artplayer
MarcosSchultz
MarcosSchultz
DoctorGame15
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
hetrodo_gamer
Marlonwanger
diegopds
Dom3000
joabr
natanael.olimpio
hetrodo_gamer
hetrodo_gamer
Callyde Jr
AndyShow
dstaroski
Tadaora
Dom3000
Creat Games
Dom3000
hetrodo_gamer
dimmuo
Dom3000
Dom3000
artplayer
weslleyFx
RenanMSV
weslleyFx
Deiverson
John Rambo
Deiverson
Madness
Madness
weslleyFx
weslleyFx
artplayer
Madness
weslleyFx
weslleyFx
mafipt
dimmuo
Dom3000
Dom3000
Dom3000
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dom3000
edumoran
dstaroski
dstaroski
Dom3000
artplayer
mlmattos
rafaelllsd
weslleyFx
Extreme Craft

[TUTORIAL] Inimigo que segue player enquanto player está vendo

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Sab Set 20, 2014 1:31 am

ATENÇÃO, A PRIMEIRA PARTE DO TUTORIAL SERVE NA UNITY 3 OU UNITY 4... SE VOCÊ JÁ ESTIVER USANDO A UNITY 5, UTILIZE OS SCRIPTS DA SEGUNDA PARTE DO TUTORIAL, QUE SÃO ESPECIFICAMENTE DIRECIONADOS A UNITY 5, PARA EVITAR ERROS 









Script do Monstro:

Código:

var Distance : float;
var Target : Transform;
var lookAtDistance = 25.0;
var chaseRange = 15.0;
var attackRange = 1.5;
var moveSpeed = 5.0;
var Damping = 6.0;
var attackRepeatTime = 1;
var isVisible : boolean;
var TheDammage = 40;
private var attackTime : float;
var controller : CharacterController;
var gravity : float = 20.0;
private var MoveDirection : Vector3 = Vector3.zero;
var audio4 : AudioClip;
function Start (){
attackTime = Time.time;
isVisible = false;
}
function OnBecameVisible() {      
        isVisible = true;
}
function OnBecameInvisible() {
    isVisible = false;    
}
function Update (){
Distance = Vector3.Distance(Target.position, transform.position);
if (Distance < lookAtDistance){
if(isVisible==true){
lookAt();
}
}
if (Distance < attackRange)
{if(isVisible==true){
attack();
}
}
else if (Distance < chaseRange){
if(isVisible==true){
chase ();
}
}
}
function lookAt (){
renderer.material.color = Color.yellow;
var rotation = Quaternion.LookRotation(Target.position - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * Damping);
}
 
function chase (){
renderer.material.color = Color.red;
moveDirection = transform.forward;
moveDirection *= moveSpeed;
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
function attack (){
if (Time.time > attackTime){
Target.SendMessage("ApplyDammage", TheDammage);
Debug.Log("The Enemy Has Attacked");
attackTime = Time.time + attackRepeatTime;
audio.PlayOneShot(audio4);
transform.Rotate(30,0,0);
}
}
function ApplyDammage (){
chaseRange += 30;
moveSpeed += 2;
lookAtDistance += 40;
}

Script do player:

Código:

var MaxHealth = 100;
var Health : int;
var audio4 : AudioClip;
function Start (){
Health = MaxHealth;
}
function ApplyDammage (TheDammage : int){
Health -= TheDammage;
if(Health <= 0){
Dead();
audio.PlayOneShot(audio4);
}
}
function Dead(){
    transform.Rotate(-50,0,0);
    yield WaitForSeconds(2);
Application.LoadLevel("MENU"); // ALTERE O NOME DA CENA DE ACORDO COM A SUA PREFERENCIA
}
function RespawnStats (){
Health = MaxHealth;
}


SE VOCÊ ESTIVER USANDO A UNITY 5:




Script do Monstro:

 
Código:
var Distance : float;
var Target : Transform;
var lookAtDistance = 25.0;
var chaseRange = 15.0;
var attackRange = 1.5;
var moveSpeed = 5.0;
var Damping = 6.0;
var attackRepeatTime = 1;
var isVisible : boolean;
var TheDammage = 40;
private var attackTime : float;
var controller : CharacterController;
var gravity : float = 20.0;
private var MoveDirection : Vector3 = Vector3.zero;
var audio4 : AudioClip;
function Start (){
attackTime = Time.time;
isVisible = false;
}
function OnBecameVisible() {      
        isVisible = true;
}
function OnBecameInvisible() {
    isVisible = false;    
}
function Update (){
Distance = Vector3.Distance(Target.position, transform.position);
if (Distance < lookAtDistance){
if(isVisible==true){
lookAt();
}
}
if (Distance < attackRange){
if(isVisible==true){
attack();
}
}
else if (Distance < chaseRange){
if(isVisible==true){
chase ();
}
}
}
function lookAt (){
GetComponent.<Renderer>().material.color = Color.yellow;
var rotation = Quaternion.LookRotation(Target.position - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * Damping);
}
 
function chase (){
GetComponent.<Renderer>().material.color = Color.red;
moveDirection = transform.forward;
moveDirection *= moveSpeed;
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
function attack (){
if (Time.time > attackTime){
Target.SendMessage("ApplyDammage", TheDammage);
Debug.Log("The Enemy Has Attacked");
attackTime = Time.time + attackRepeatTime;
GetComponent.<AudioSource>().PlayOneShot(audio4);
transform.Rotate(30,0,0);
}
}
function ApplyDammage (){
chaseRange += 30;
moveSpeed += 2;
lookAtDistance += 40;
}


Script do Player: 


Código:
var MaxHealth = 100;
var Health : int;
var audio4 : AudioClip;
function Start (){
Health = MaxHealth;
}
function ApplyDammage (TheDammage : int){
Health -= TheDammage;
if(Health <= 0){
Dead();
GetComponent.<AudioSource>().PlayOneShot(audio4);
}
}
function Dead(){
    transform.Rotate(-50,0,0);
    yield WaitForSeconds(2);
Application.LoadLevel("MENU"); // ALTERE O NOME DA CENA DE ACORDO COM SUA PREFERENCIA
}
function RespawnStats (){
Health = MaxHealth;
}


Última edição por MarcosSchultz em Ter Jun 07, 2016 8:49 pm, editado 2 vez(es)

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por Edu Schimdt em Dom Maio 03, 2015 12:07 pm

Como usar? help Very Happy

Edu Schimdt
Iniciante
Iniciante

PONTOS : 674
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Dom Maio 03, 2015 1:18 pm

BOM, primeiramente adicione um characterController no seu INIMIGO

Agora, no script do monstro você tem estas variaveis que dependem de algo:

Código:
var Target : Transform;
var lookAtDistance = 25.0;
var chaseRange = 15.0;
var attackRange = 1.5;
var moveSpeed = 5.0;
var Damping = 6.0;
var attackRepeatTime = 1;
var TheDammage = 40;
var controller : CharacterController;
var gravity : float = 20.0;
var audio4 : AudioClip;

Na variavel Target, linke o seu Player
Na variavel lookAtDistance ajeite a distancia de percepção do inimigo
Na variavel chaseRange ajeite a distancia que o inimigo começa a te seguir
Na variavel attackRange ajeite a distancia que o inimigo pode te atacar
Na variavel moveSpeed ajeite a velocidade do inimigo
Na variavel Damping ajeite a velocidade de rotação quando o inimigo esta olhando para você
Na variavel attackRepeatTime ajeite o tempo por ataque do inimigo
Na variavel The Damage ajeite o valor do dano que o inimigo irá causar
Na variavel Controller você precisa linkar o character controller que você adicionou no inimigo
Na variavel Gravity, você precisa ajeitar um valor para a gravidade do monstro
Na variavel audio4, você precisa linkar um audio que represente o monstro te atacando

Agora o script do Player...

ele tem estas variaveis dependentes:

Código:
var MaxHealth = 100;
var audio4 : AudioClip;


Na variavel MaxHealth, arrume o valor máximo de vida que o Player pode ter
na variavel audio4, linke um som de morte ou de dor, algo assim Very Happy

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por eduardo9715 em Seg Maio 04, 2015 3:15 pm

o inimigo não se movimenta não faz nada vou mandar um print http://oi62.tinypic.com/34gvpkj.jpg

eduardo9715
Membro
Membro

PONTOS : 622
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Seg Maio 04, 2015 4:05 pm

print não carrega...

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por eduardo9715 em Seg Maio 04, 2015 10:33 pm

tenta ver assim então [url=][/url]

eduardo9715
Membro
Membro

PONTOS : 622
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Ter Maio 05, 2015 12:56 pm

Você está linkando o character controller do seu Player...

você tem que adicionar 1 character controller ao inimigo e linkar este do proprio inimigo na variavel

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por eduardo9715 em Ter Maio 05, 2015 2:11 pm

não estou seguindo o inimigo não sai do lugar estou usando o unity 5

eduardo9715
Membro
Membro

PONTOS : 622
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por Edu Schimdt em Ter Maio 05, 2015 9:43 pm

Como faço pra.. Quando o inimigo começar a andar, ele executar uma animação?

Edu Schimdt
Iniciante
Iniciante

PONTOS : 674
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Ter Maio 05, 2015 10:14 pm

@ eduardo, é por que você não está adicionando character controller no inimigo

@ Edu, depende do metodo que você está querendo utilizar... tem o Animation e o Animator

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por eduardo9715 em Qua Maio 06, 2015 2:41 pm

então cara eu coloquei o character controller do inimigo na variavel como voce pode ver ai ,mas ele não anda e tambem esta flutuando olha o print[url=][/url]

eduardo9715
Membro
Membro

PONTOS : 622
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Qua Maio 06, 2015 2:53 pm

por que o inimigo está com um " Capsule collider " ??

o proprio character controller já atua como colisor

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por eduardo9715 em Qua Maio 06, 2015 3:51 pm

então ele ainda não esta me perseguindo ,porem já excluir o capsule collider que realmente não precisava[url=][/url]

eduardo9715
Membro
Membro

PONTOS : 622
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por eduardo9715 em Dom Maio 10, 2015 9:48 am

me ajuda ai cara

eduardo9715
Membro
Membro

PONTOS : 622
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Dom Maio 10, 2015 12:43 pm

Dê um " maximize on Play "

se qualquer camera estiver vendo o inimigo, até mesmo a camera do editor estiver vendo ele, ele não irá se mecher


NENHUM camera pode estar vendo o inimigo

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por eduardo9715 em Dom Maio 10, 2015 1:36 pm

como assim nenhuma camera deve esta vendo ele como ,eu posso fazer isso e como dar um maximize on play no unity 5

eduardo9715
Membro
Membro

PONTOS : 622
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por Eddamps88 em Sex Set 11, 2015 10:19 pm

o dano não está sendo recebido, pq? (fiz td dieito)

Eddamps88
Iniciante
Iniciante

PONTOS : 469
REPUTAÇÃO : 3

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por NyanHeavyBR em Sab Abr 09, 2016 7:15 pm

Isso pode parecer uma pergunta meio besta mas, esse script está em JS ou C#??

NyanHeavyBR
Iniciante
Iniciante

PONTOS : 266
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por rafaelllsd em Sab Abr 09, 2016 7:20 pm

NyanHeavyBR escreveu:Isso pode parecer uma pergunta meio besta mas, esse script está em JS ou C#??

JS.

rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1073
REPUTAÇÃO : 73
Idade : 16
Áreas de atuação : Programação C# (Basico)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por NyanHeavyBR em Sab Abr 09, 2016 7:24 pm

Imaginei que seria. Obrigado pela resposta!

NyanHeavyBR
Iniciante
Iniciante

PONTOS : 266
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por NyanHeavyBR em Sab Abr 09, 2016 8:02 pm

Quero fazer com que o monstro siga o player enquanto o player n esta vendo, teria alguma forma de fazer isso usando este mesmo script?!?!


Última edição por NyanHeavyBR em Sab Abr 09, 2016 8:16 pm, editado 1 vez(es) (Razão : Erro de interpretação)

NyanHeavyBR
Iniciante
Iniciante

PONTOS : 266
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por dinho em Sab Abr 09, 2016 9:32 pm

Fala aí galera... tenho esse Script em C# que fiz algumas adaptação, ois ainda estou aprendendo programar em C# com as aulas do Marcos. Gostaria de acrescentar , q quando o oponente chegar a uma determinada distancia ele ataca-se acionando o "Animator". Se tiver alguem que possa me ajudar eu agradeço. Valeuuu!!!

Script Inimigo:
Código:
using UnityEngine;
using System.Collections;

public class EnemyMovement : MonoBehaviour {


   Transform player;


   NavMeshAgent nav;
   // Use this for initialization
   void Awake () {
   
      player = GameObject.FindGameObjectWithTag ("Player1").transform;

      nav = GetComponent <NavMeshAgent>();
   }
   
   // Update is called once per frame
   void Update () {

      transform.LookAt (player.position);
      nav.SetDestination (player.position);

   }
}


dinho
Membro
Membro

Masculino PONTOS : 501
REPUTAÇÃO : 5
Áreas de atuação : Desenhista e Modelador 3D.
Modelagem em Blender.
Respeito as regras :

Ver perfil do usuário http://www.andersondesigner.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Dom Abr 10, 2016 1:14 pm

Já fez os estados das animações no próprio componente Animator??? conforme o vídeo?


MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por poliver216 em Seg Jun 13, 2016 5:00 pm

Código:
transform.rotation = Quaternion.Slerp (transform.rotation, rotation, Time.deltaTime * Damping);

Boa tarde, estou tentando transferir este código para C#, mas não está reconhecendo o Damping... Alguém sabe como posso subistui-lo? 

Agradeço desde já!

poliver216
Iniciante
Iniciante

PONTOS : 199
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por weslleyFx em Seg Jun 13, 2016 6:37 pm

oque esse Damping e uma variável ?

poste o script

weslleyFx
Moderador

Masculino PONTOS : 1873
REPUTAÇÃO : 404
Idade : 18
Áreas de atuação : Csharp programming language C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Seg Jun 13, 2016 11:37 pm

poliver216 escreveu:
Código:
transform.rotation = Quaternion.Slerp (transform.rotation, rotation, Time.deltaTime * Damping);

Boa tarde, estou tentando transferir este código para C#, mas não está reconhecendo o Damping... Alguém sabe como posso subistui-lo? 

Agradeço desde já!

Código:
using UnityEngine;
using System.Collections;

public class Teste : MonoBehaviour {
   float Distance, attackTime;
   public Transform Target;
   public float lookAtDistance = 25.0f, chaseRange = 15.0f, attackRange = 1.5f, moveSpeed = 5.0f, Damping = 6.0f, attackRepeatTime = 1.0f, gravity = 20.0f;
   bool isVisible;
   public int TheDammage = 40;
   CharacterController controller;
   Vector3 moveDirection = Vector3.zero;
   public AudioClip audio4;
   void Start (){
      attackTime = Time.time;
      isVisible = false;
   }
   void OnBecameVisible() {     
      isVisible = true;
   }
   void OnBecameInvisible() {
      isVisible = false;   
   }
   void Update (){
      Distance = Vector3.Distance(Target.position, transform.position);
      if (Distance < lookAtDistance){
         if(isVisible==true){
            lookAt();
         }
      }
      if (Distance < attackRange){
         if(isVisible==true){
            attack();
         }
      }
      else if (Distance < chaseRange){
         if(isVisible==true){
            chase ();
         }
      }
   }
   void lookAt (){
      GetComponent<Renderer>().material.color = Color.yellow;
      var rotation = Quaternion.LookRotation(Target.position - transform.position);
      transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * Damping);
   }

   void chase (){
      GetComponent<Renderer>().material.color = Color.red;
      moveDirection = transform.forward;
      moveDirection *= moveSpeed;
      moveDirection.y -= gravity * Time.deltaTime;
      controller.Move(moveDirection * Time.deltaTime);
   }
   void attack (){
      if (Time.time > attackTime){
         Target.SendMessage("ApplyDammage", TheDammage);
         Debug.Log("The Enemy Has Attacked");
         attackTime = Time.time + attackRepeatTime;
         GetComponent<AudioSource>().PlayOneShot(audio4);
         transform.Rotate(30,0,0);
      }
   }
   void ApplyDammage (){
      chaseRange += 30;
      moveSpeed += 2;
      lookAtDistance += 40;
   }
}

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por bymaxbig em Dom Nov 20, 2016 10:47 am

Código:
#pragma strict

var Vida = 100;//vida enemigo

var anim : Animator;

var nav : NavMeshAgent;
var player : Transform;//poner objeto al que sigue el enemigo

var vidaPlayer : PlayerVida;//script vida del player
var ataque : int;//vida que saca el enemigo al player al atacar
var AtacBool : boolean;

var character : CharacterController;

var distancia : float;//distancia que hay entre el player y el enemigo

var muerte : int;
var S : boolean;
var sonidoataque : AudioClip;
var sonidoMuerte : AudioClip;
function Start () {
S=true;
muerte = Random.Range (1, 3);
character.enabled = true;
AtacBool = false;
}

function Update () {

//CALCULAR DISTANCIA
distancia = Vector3.Distance(transform.position, player.position);

//SEGUIR AL PLAYER
if(Vida >= 1){// si la vida del enemigo es mayor de 1, el enemigo seguira al player
nav.destination = player.position;
}

if(distancia > 3){// si distancia es mas grande de 3
nav.speed = 2;    
anim.SetBool("ataque", false);
}

//ATAQUE
if(distancia < nav.stoppingDistance && AtacBool == false){
nav.speed = 0;
anim.SetBool("ataque", true);

Invoke("Ataque", 1.1);//tiempo que tarda en dar el golpe
AtacBool = true;
Invoke("AtaqueSonido",0.8);
}

//VIDA
if(Vida <=0){

nav.speed = 0;
Invoke("Muerto", 5);//tiempo que tarda en desaparecer una vez a llegado su vida a 0
character.enabled = false;

 if(muerte == 1){
 anim.SetBool("muerte1", true);
 }

 if(muerte == 2){
 anim.SetBool("muerte2", true);
 }
}
if (S==true && Vida <=0){
S=false;
GetComponent.<AudioSource>().PlayOneShot(sonidoMuerte);

}
}
function  AtaqueSonido (){
GetComponent.<AudioSource>().PlayOneShot(sonidoataque);
}
function Muerto () {
//Destroy(gameObject);  //Opcion1
gameObject.SetActive(false);  //Opcion2
}

function Ataque () {
Invoke("AF", 1.5);
if(distancia <= 4 && AtacBool == true){
vidaPlayer.vida -= ataque;
}
}

function AF () {
AtacBool = false;
}

function FV (Dano : int) {
Vida -= Dano;
}
Ola amigos, esse e meu script de fazer o inimigo te atacar e de animaçoes e tals...
porem nao estou conseguindo modifica-lo para que o inimigo (zombie) só me ataque quando me ver, sera que alguém tem alguma idéia de como me ajudar...
se quiserem tenho os script completo de armas e monstros completos , mas meu unico problema e nao conseguir fazer que inimigo olhe para o player.

bymaxbig
Iniciante
Iniciante

Masculino PONTOS : 323
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Seg Nov 21, 2016 3:33 pm

bymaxbig escreveu:
Código:
#pragma strict

var Vida = 100;//vida enemigo

var anim : Animator;

var nav : NavMeshAgent;
var player : Transform;//poner objeto al que sigue el enemigo

var vidaPlayer : PlayerVida;//script vida del player
var ataque : int;//vida que saca el enemigo al player al atacar
var AtacBool : boolean;

var character : CharacterController;

var distancia : float;//distancia que hay entre el player y el enemigo

var muerte : int;
var S : boolean;
var sonidoataque : AudioClip;
var sonidoMuerte : AudioClip;
function Start () {
S=true;
muerte = Random.Range (1, 3);
character.enabled = true;
AtacBool = false;
}

function Update () {

//CALCULAR DISTANCIA
distancia = Vector3.Distance(transform.position, player.position);

//SEGUIR AL PLAYER
if(Vida >= 1){// si la vida del enemigo es mayor de 1, el enemigo seguira al player
nav.destination = player.position;
}

if(distancia > 3){// si distancia es mas grande de 3
nav.speed = 2;    
anim.SetBool("ataque", false);
}

//ATAQUE
if(distancia < nav.stoppingDistance && AtacBool == false){
nav.speed = 0;
anim.SetBool("ataque", true);

Invoke("Ataque", 1.1);//tiempo que tarda en dar el golpe
AtacBool = true;
Invoke("AtaqueSonido",0.8);
}

//VIDA
if(Vida <=0){

nav.speed = 0;
Invoke("Muerto", 5);//tiempo que tarda en desaparecer una vez a llegado su vida a 0
character.enabled = false;

 if(muerte == 1){
 anim.SetBool("muerte1", true);
 }

 if(muerte == 2){
 anim.SetBool("muerte2", true);
 }
}
if (S==true && Vida <=0){
S=false;
GetComponent.<AudioSource>().PlayOneShot(sonidoMuerte);

}
}
function  AtaqueSonido (){
GetComponent.<AudioSource>().PlayOneShot(sonidoataque);
}
function Muerto () {
//Destroy(gameObject);  //Opcion1
gameObject.SetActive(false);  //Opcion2
}

function Ataque () {
Invoke("AF", 1.5);
if(distancia <= 4 && AtacBool == true){
vidaPlayer.vida -= ataque;
}
}

function AF () {
AtacBool = false;
}

function FV (Dano : int) {
Vida -= Dano;
}
Ola amigos, esse e meu script de fazer o inimigo te atacar e de animaçoes e tals...
porem nao estou conseguindo modifica-lo para que o inimigo (zombie) só me ataque quando me ver, sera que alguém tem alguma idéia de como me ajudar...
se quiserem tenho os script completo de armas e monstros completos , mas meu unico problema e nao conseguir fazer que inimigo olhe para o player.

Tem como criar um tópico específico para esta sua dúvida? Postando os detalhes, o script e tudo mais.

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por bymaxbig em Seg Nov 21, 2016 3:56 pm

MarcosSchultz escreveu:
bymaxbig escreveu:
Código:
#pragma strict

var Vida = 100;//vida enemigo

var anim : Animator;

var nav : NavMeshAgent;
var player : Transform;//poner objeto al que sigue el enemigo

var vidaPlayer : PlayerVida;//script vida del player
var ataque : int;//vida que saca el enemigo al player al atacar
var AtacBool : boolean;

var character : CharacterController;

var distancia : float;//distancia que hay entre el player y el enemigo

var muerte : int;
var S : boolean;
var sonidoataque : AudioClip;
var sonidoMuerte : AudioClip;
function Start () {
S=true;
muerte = Random.Range (1, 3);
character.enabled = true;
AtacBool = false;
}

function Update () {

//CALCULAR DISTANCIA
distancia = Vector3.Distance(transform.position, player.position);

//SEGUIR AL PLAYER
if(Vida >= 1){// si la vida del enemigo es mayor de 1, el enemigo seguira al player
nav.destination = player.position;
}

if(distancia > 3){// si distancia es mas grande de 3
nav.speed = 2;    
anim.SetBool("ataque", false);
}

//ATAQUE
if(distancia < nav.stoppingDistance && AtacBool == false){
nav.speed = 0;
anim.SetBool("ataque", true);

Invoke("Ataque", 1.1);//tiempo que tarda en dar el golpe
AtacBool = true;
Invoke("AtaqueSonido",0.8);
}

//VIDA
if(Vida <=0){

nav.speed = 0;
Invoke("Muerto", 5);//tiempo que tarda en desaparecer una vez a llegado su vida a 0
character.enabled = false;

 if(muerte == 1){
 anim.SetBool("muerte1", true);
 }

 if(muerte == 2){
 anim.SetBool("muerte2", true);
 }
}
if (S==true && Vida <=0){
S=false;
GetComponent.<AudioSource>().PlayOneShot(sonidoMuerte);

}
}
function  AtaqueSonido (){
GetComponent.<AudioSource>().PlayOneShot(sonidoataque);
}
function Muerto () {
//Destroy(gameObject);  //Opcion1
gameObject.SetActive(false);  //Opcion2
}

function Ataque () {
Invoke("AF", 1.5);
if(distancia <= 4 && AtacBool == true){
vidaPlayer.vida -= ataque;
}
}

function AF () {
AtacBool = false;
}

function FV (Dano : int) {
Vida -= Dano;
}
Ola amigos, esse e meu script de fazer o inimigo te atacar e de animaçoes e tals...
porem nao estou conseguindo modifica-lo para que o inimigo (zombie) só me ataque quando me ver, sera que alguém tem alguma idéia de como me ajudar...
se quiserem tenho os script completo de armas e monstros completos , mas meu unico problema e nao conseguir fazer que inimigo olhe para o player.

Tem como criar um tópico específico para esta sua dúvida? Postando os detalhes, o script e tudo mais.
não posso criar tópicos, não sou administrador  bounce bounce bounce bounce

bymaxbig
Iniciante
Iniciante

Masculino PONTOS : 323
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo que segue player enquanto player está vendo

Mensagem por MarcosSchultz em Qui Nov 24, 2016 1:16 am

Claro que pode, basta visitar a área "Dúvidas em geral" e criar um tópico.

Existem áreas bloqueadas para membros e áreas liberadas... basta criar na área correta.

MarcosSchultz
Administrador

Masculino PONTOS : 7158
REPUTAÇÃO : 884
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum