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:
Text to Speech ou outra sugestão
[RESOLVIDO] Como deixar sempre com dois dígitos
Stop Animation
Como funciona esse script?!
multiplayer
[RESOLVIDO] ERRO NO SISTEMA DE FOME, VIDA, STAMINA ETC... DO MARCOS
[RESOLVIDO] VOID START???
Delay e ativar variavel de audio
DESLIGAR E LIGAR O CARRO
Como usar uma animação de uma arma animada na Unity...
[____ADMINISTRADOR OFFLINE____]
Animação
jogo quiz 2D unity 5...
Objeto ultrapassando Colisor
[DUVIDA] como melhorar a jogabilidade de um jogo 2D
(Dúvida) Objeto receber posição do Raycast.
Alguém Para Dar Uma Avaliada no Meu Jogo de Terror :)
Personagem em 3ª pessoa
Projeto - IMU, terror de sobrevivência em primeira pessoa (estilo silent hill)
JUMP no estilo Subwey surf
Auxilio para script de Câmera
[TUTORIAL] AI Enemy ( Jogos de terror )
Criar varias funções de mesmo nome em um script
Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
[ASSET] Cama Realista 3D + Download Grátis!
[RESOLVIDO] Meu Script Sumiu!
Como colocar arvores configuradas pelo terrain?
Duvida de camera
Problema de conexão com o fórum
Brasileiros podem usar o Unity ADS?
Desenvolvimento de game PokeGen MS - Vídeo e informações
Recarregador de arms
dúvida com variáveis
Câmera tipo Uncharted
Como verificar se a animação términou no animator
[TUTORIAL] Sistema COMPLETO de câmeras
Iluminação unity 5
Procuro membros para minha Equipe (Programadores, designers, etc)
Galera aki tenho um site com muitos models 3d
COMO COLOCO LANTERNA DE LED NO MEU JOGO DE BUS
DUVIDA SCRIPT DO MARCOS SELEÇÃO DE PERSONAGEM !
[____TÓPICO LIVRE____] FALE O QUE QUISER
SOBRE "IK" INVERSE KINEMATICS
Objeto ir para raycast
Duvida como instância um game objeto com Raycast
Problema Com Virtual Buttons Help me ;-;
GALERA PRECISO DE MODELADORES ,DESIGNER E PROGAMADORES PARA A MINHA EQUIPE DE UNITY 5
sobre build run no Android
e algum bug??
Tela rosa em jogos
Ajuda na script
[ajuda] câmera puxada
Duvida de script de controle
Não carrega próxima cena após finalizar cutscene
Duvida de script avançada
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Vocês poderiam avaliar meu jogo para Android? (30mb)
Ajuda com elementos UI
Ajuda com AI
Multiplayer com photon
[PEDIDO] Tutorial de Multiplayer
procuro equipe para meu jogo de bus
Formação de equipe para jogo estilo Days Gone (Campanha , Multiplayer) , (já está em criação)
AJUDA SCRIPT LUZ UNITY 5.5
3 Armas mediavais gratis, criada por min
Alguém poderia me ajudar a entender esse script
[TUTORIAL] Entrar no carro estilo GTA
Folha de Palmeira (Modelo 3D)
Procuro programadores para meu jogo
Duvida sobre pulo
unity pack
PROCURO EQUIPE PARA DESENVOLVER UM GAME NO ESTILO BOMBERMAN (ANTIGOS) ENTRAR EM CONTATO
Formação de equipes Bus Brasil
[JOGO] Dead Age(Em desenvolvimento).
Vcs ja publicaram algum game ou aplicativo na playstore?
Hoje à(s) 7:28 am
Hoje à(s) 5:22 am
Hoje à(s) 5:19 am
Hoje à(s) 4:36 am
Ontem à(s) 11:55 pm
Ontem à(s) 10:05 pm
Ontem à(s) 10:04 pm
Ontem à(s) 9:23 pm
Ontem à(s) 8:24 pm
Ontem à(s) 8:15 pm
Ontem à(s) 5:41 pm
Ontem à(s) 3:31 pm
Ontem à(s) 2:41 pm
Ontem à(s) 1:42 pm
Ontem à(s) 12:15 pm
Ontem à(s) 11:02 am
Ontem à(s) 10:21 am
Ontem à(s) 10:17 am
Ontem à(s) 9:58 am
Qua Jan 18, 2017 11:04 pm
Qua Jan 18, 2017 10:35 pm
Qua Jan 18, 2017 10:10 pm
Qua Jan 18, 2017 8:27 pm
Qua Jan 18, 2017 8:27 pm
Qua Jan 18, 2017 7:45 pm
Qua Jan 18, 2017 7:21 pm
Qua Jan 18, 2017 5:32 pm
Qua Jan 18, 2017 4:53 pm
Qua Jan 18, 2017 3:58 pm
Qua Jan 18, 2017 3:04 pm
Qua Jan 18, 2017 2:07 pm
Qua Jan 18, 2017 1:25 pm
Qua Jan 18, 2017 12:59 pm
Qua Jan 18, 2017 12:23 pm
Qua Jan 18, 2017 12:22 pm
Qua Jan 18, 2017 4:58 am
Ter Jan 17, 2017 8:57 pm
Ter Jan 17, 2017 8:17 pm
Ter Jan 17, 2017 6:54 pm
Ter Jan 17, 2017 5:13 pm
Ter Jan 17, 2017 4:33 pm
Ter Jan 17, 2017 2:17 pm
Ter Jan 17, 2017 1:19 pm
Ter Jan 17, 2017 12:54 pm
Ter Jan 17, 2017 11:57 am
Ter Jan 17, 2017 10:16 am
Ter Jan 17, 2017 7:54 am
Ter Jan 17, 2017 7:46 am
Seg Jan 16, 2017 9:06 pm
Seg Jan 16, 2017 6:54 pm
Seg Jan 16, 2017 5:21 pm
Seg Jan 16, 2017 5:12 pm
Seg Jan 16, 2017 5:11 pm
Seg Jan 16, 2017 5:11 pm
Seg Jan 16, 2017 5:10 pm
Seg Jan 16, 2017 5:05 pm
Seg Jan 16, 2017 5:03 pm
Seg Jan 16, 2017 3:01 pm
Seg Jan 16, 2017 2:02 pm
Seg Jan 16, 2017 12:02 pm
Seg Jan 16, 2017 10:53 am
Dom Jan 15, 2017 10:14 pm
Dom Jan 15, 2017 6:31 pm
Dom Jan 15, 2017 6:03 pm
Dom Jan 15, 2017 5:54 pm
Dom Jan 15, 2017 5:17 pm
Dom Jan 15, 2017 4:30 pm
Dom Jan 15, 2017 4:24 pm
Dom Jan 15, 2017 2:52 pm
Dom Jan 15, 2017 9:40 am
Dom Jan 15, 2017 9:06 am
Dom Jan 15, 2017 12:01 am
Sab Jan 14, 2017 8:06 pm
Sab Jan 14, 2017 5:53 pm
Sab Jan 14, 2017 10:38 am
artplayer
AndyShow
AndyShow
AndyShow
hetrodo_gamer
Joker 22
lucasfera15
Manawydan
GustavoMaster
dstaroski
John Rambo
GustavoMaster
Kenji Haruno
GustavoMaster
poker14k
luKkaSs
dstaroski
AndyShow
joabr
poker14k
artplayer
Pedro Canassa Garcia
pablo10544
LegendGames
artplayer
AndyShow
artplayer
weslleyFx
Weverton Borges da Silva
Hardencio
AndyShow
Callyde Jr
AndyShow
John Rambo
John Rambo
MonsaM
John Rambo
dstaroski
MonsaM
John Rambo
LuizFixa3D
joabr
XavezZ
lucasfera15
R R
anizioNoob
dstaroski
dstaroski
John Rambo
Igor Melim
MarcosSchultz
MarcosSchultz
MarcosSchultz
joabr
MarcosSchultz
MarcosSchultz
marcos4503
sabbath
Callyde Jr
artplayer
Chilinger
Manawydan
Willian Wii
Pedro Canassa Garcia
MateusWTP
Willian Wii
tom ramber
RenanMSV
Willian Wii
AndyShow
dstaroski
Kaiky leandro
Kaiky leandro
ismarspn
Willian Wii

[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 : 7529
REPUTAÇÃO : 995
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 : 717
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 : 7529
REPUTAÇÃO : 995
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 : 665
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 : 7529
REPUTAÇÃO : 995
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 : 665
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 : 7529
REPUTAÇÃO : 995
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 : 665
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 : 717
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 : 7529
REPUTAÇÃO : 995
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 : 665
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 : 7529
REPUTAÇÃO : 995
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 : 665
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 : 665
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 : 7529
REPUTAÇÃO : 995
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 : 665
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 : 512
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
Membro
Membro

PONTOS : 312
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 : 1304
REPUTAÇÃO : 124
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
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
Membro
Membro

PONTOS : 312
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
Membro
Membro

PONTOS : 312
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 : 544
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 : 7529
REPUTAÇÃO : 995
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 : 242
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 : 2042
REPUTAÇÃO : 441
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 : 7529
REPUTAÇÃO : 995
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
Membro
Membro

Masculino PONTOS : 383
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 : 7529
REPUTAÇÃO : 995
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
Membro
Membro

Masculino PONTOS : 383
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 : 7529
REPUTAÇÃO : 995
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