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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[DÚVIDA] TIRANOSSAURO REX no UNITY?
tem como excluir uma( ou várias ) contas do fórum?
Acrescentei algumas linhas em um Script feito pelo nosso M.Schultz, funcionou +ou-...
Jumper boy
Duvida com animação
[TUTORIAL] Criar jogo Colors/Genius com C#
[RESOLVIDO] Utilizar o mesmo botão para duas ações. (if e else)
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Ajuda com AI Inimigo.
[Script] Mudar a orientação em runtime
Como mover dois objetos juntos.
[TUTORIAL] Third Person Shooter
[PEDIDOS DE TUTORIAIS]
Google Play Games
Como fazer um jogo nesse estilo?
Como apagar Proceduram material da pista, quando for recarregar a cena?
PROBLEMA NULL REFERENCE EXCEPTION
Calculo de previsão de coordenada
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Unity - Rodar 2 cenas ao mesmo tempo
Sons na Unity 2017
| AJUDA DISCORD | Descubra aqui como fazer para o link do seu servidor nunca expirar.
Servidores sem limite por usuário.
Trigger detectando apenas o character controller
seguir 2 objetos com a mesma tag
Zezin Na Copa da Russia Realidade Aumentada
[PROJETO MOBILE] Defeat the Illuminatis
DISCORD
Novo jogo - Astero - PlayStore
Variável receber valor de uma array
erro no script
[RESOLVIDO] Bug de wallpaper preto no windows.
[TUTORIAL] Movimento de camera em primeira pessoa e sons de passos ou HeadBob
Tomar dano do inimigo e causar dano no mesmo
[RESOLVIDO] Texto se encaixar dentro de uma imagem.
[Projeto] Line Battle
Jogo Maria Bella
Spawner de Inimigo n preenche todas as posições
[TUTORIAL] AI Enemy ( Jogos de terror )
Como corrigir o box collider do unity?
SPAWN Baseado na Posição (UNITY)
[RESOLVIDO] Problema em um script
Unity - executável não roda banco de dados
Como criar um sistema de Ranking simples.
Animação Humanoid
Blender - Erro ao aplicar influência automática nos ossos de personagem
Objetos duplicados ao instanciar
Duvida com collider
[RESOLVIDO] Problemas com API
Pegar e Jogar armas no chão (estilo CS 1.6)
[RESOLVIDO] Projeteis Online
[TUTORIAL] Zone Wall - ESTILO BATTLE ROYALE
| DÚVIDA | - Como aprender C#?
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Dúvida sobre método de acesso as variáveis
checkpoint
Como faço para otimizar meu projeto da Unity 3D?
[RESOLVIDO] Alguém me explica isso? (Animator script)
[RESOLVIDO] Duvida com GameManager
duvidas com marcas reais em jogos
Objeto na UI
Minimap/Radar/GPS Estilo GTA V
Problemas com a câmera
PROBLEMAS COM O NAVIGATION
[TUTORIAL] Serialização - JSON
Textura de luzes rosa
Banco de dados android
Girar arma
Qual o melhor meio de iluminar essa scene?
[Jogo] Flap OCO (Android & PC)
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
ANIMAÇÃO INIMIGO AI
[RESOLVIDO] Menu Pause Dúvida
Unity 5: Object reference not set to an instance of an object
Como saber se o controle foi conectado?
[ENQUETE OFICIAL] Você está vendo o CHAT DO FÓRUM?????
Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
[RESOLVIDO] Erro -> Android SDK is missing required API level 23
Sprites com mesmas cores.
[Formação de Equipe] Battles of Worlds
Como fazer para sair do jogo apertando uma tecla?
VAGA MODELADOR
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO]Colocar dois fundos diferentes em um mesmo canvas dependendo do menu carregado.
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
[____REGRAS DO FÓRUM____]
SetPartner
Como eu posso criar uma rede social semelhante ao NEAKI?
Como colocar dois backgrounds diferentes para dois canvas diferentes?
Botões Android
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
problema com Script
Efeitos de particulas
Duvidas/ideias sobre o forum
[RESOLVIDO] Camera e posição do sprite animator
VAGA EM EQUIPE PARA APREDIZAGEM
Como criar sombra em objeto transparente?
Modificação de scripts em cenas diferentes
Hoje à(s) 10:38 am
Hoje à(s) 10:17 am
Hoje à(s) 7:15 am
Ontem à(s) 10:51 pm
Ontem à(s) 9:46 pm
Ontem à(s) 7:35 pm
Ontem à(s) 7:29 pm
Ontem à(s) 6:46 pm
Ontem à(s) 6:45 pm
Ontem à(s) 6:43 pm
Ontem à(s) 6:38 pm
Ontem à(s) 4:36 pm
Ontem à(s) 3:42 pm
Ontem à(s) 3:33 pm
Ontem à(s) 1:26 pm
Ontem à(s) 1:10 pm
Ontem à(s) 7:23 am
Dom Jun 17, 2018 11:54 pm
Dom Jun 17, 2018 11:50 pm
Dom Jun 17, 2018 9:44 pm
Dom Jun 17, 2018 8:49 pm
Dom Jun 17, 2018 6:23 pm
Dom Jun 17, 2018 5:21 pm
Dom Jun 17, 2018 4:40 pm
Dom Jun 17, 2018 2:37 pm
Dom Jun 17, 2018 12:48 pm
Dom Jun 17, 2018 11:34 am
Dom Jun 17, 2018 11:20 am
Sab Jun 16, 2018 10:40 pm
Sab Jun 16, 2018 9:43 pm
Sab Jun 16, 2018 9:28 pm
Sab Jun 16, 2018 8:48 pm
Sab Jun 16, 2018 5:13 pm
Sab Jun 16, 2018 5:05 pm
Sab Jun 16, 2018 4:51 pm
Sab Jun 16, 2018 4:33 pm
Sab Jun 16, 2018 4:14 pm
Sab Jun 16, 2018 3:39 pm
Sab Jun 16, 2018 1:48 pm
Sex Jun 15, 2018 10:15 pm
Sex Jun 15, 2018 8:31 pm
Sex Jun 15, 2018 8:24 pm
Sex Jun 15, 2018 8:02 pm
Sex Jun 15, 2018 5:08 pm
Sex Jun 15, 2018 2:46 pm
Sex Jun 15, 2018 12:08 pm
Sex Jun 15, 2018 10:46 am
Qui Jun 14, 2018 6:41 pm
Qui Jun 14, 2018 4:25 pm
Qui Jun 14, 2018 2:34 pm
Qui Jun 14, 2018 6:19 am
Qua Jun 13, 2018 10:08 pm
Qua Jun 13, 2018 9:59 pm
Qua Jun 13, 2018 6:48 pm
Qua Jun 13, 2018 3:16 pm
Qua Jun 13, 2018 3:11 pm
Qua Jun 13, 2018 9:12 am
Qua Jun 13, 2018 6:25 am
Qua Jun 13, 2018 1:00 am
Qua Jun 13, 2018 12:40 am
Ter Jun 12, 2018 11:08 pm
Ter Jun 12, 2018 8:00 pm
Ter Jun 12, 2018 5:17 pm
Ter Jun 12, 2018 2:25 pm
Ter Jun 12, 2018 9:00 am
Seg Jun 11, 2018 11:57 pm
Seg Jun 11, 2018 7:17 pm
Seg Jun 11, 2018 2:51 pm
Seg Jun 11, 2018 2:42 pm
Seg Jun 11, 2018 10:18 am
Seg Jun 11, 2018 10:05 am
Dom Jun 10, 2018 10:52 pm
Dom Jun 10, 2018 7:18 pm
Dom Jun 10, 2018 6:29 pm
Dom Jun 10, 2018 6:23 pm
Dom Jun 10, 2018 3:53 pm
Dom Jun 10, 2018 12:32 pm
Dom Jun 10, 2018 9:32 am
Sab Jun 09, 2018 5:36 pm
Sab Jun 09, 2018 5:14 pm
Sab Jun 09, 2018 5:09 pm
Sab Jun 09, 2018 11:44 am
Sab Jun 09, 2018 10:49 am
Sab Jun 09, 2018 8:27 am
Sex Jun 08, 2018 4:23 pm
Sex Jun 08, 2018 3:35 pm
Sex Jun 08, 2018 3:22 pm
Sex Jun 08, 2018 8:24 am
Sex Jun 08, 2018 1:02 am
Qui Jun 07, 2018 11:48 pm
Qui Jun 07, 2018 9:09 pm
Qui Jun 07, 2018 8:56 pm
Qui Jun 07, 2018 8:47 pm
Qui Jun 07, 2018 5:24 pm
Qua Jun 06, 2018 11:22 pm
Qua Jun 06, 2018 7:49 pm
Qua Jun 06, 2018 4:33 pm
Qua Jun 06, 2018 3:32 pm
Qua Jun 06, 2018 8:51 am
JohnRambo
JohnRambo
richardfalcos
SuperGamer
Zack2
NKKF
DevTerror
dstaroski
dstaroski
dstaroski
dstaroski
Dom3000
Phph09
Zack2
NKKF
Callyde Jr
guimaraf
fecirineu
fecirineu
FelipeSouza11
ismarspn
thancor
SuperGamer
MRX
MRX
NKKF
natanael.olimpio
dstaroski
Carlos Mesquita
Édipo
Flávio
dstaroski
M4theuz
dstaroski
kenau
NKKF
MRX
foxtenn
NKKF
BrazaTattoo
lesgoy
dstaroski
Dom3000
Midoriiiiii
BRGC
Dom3000
Dom3000
Dom3000
Zack2
yVIEIRA
Phph09
fecirineu
IanLuan
IanLuan
natanael.olimpio
guimaraf
NyeTiSS
francisco barroso
MRX
Zack2
dstaroski
MRX
Duarte
NKKF
dstaroski
igorobm
JonathanDiego
mafipt
Zack2
fecirineu
Dom3000
francisco barroso
bertarele
Magnatah
ZeroTuhnder
FelipeSouza11
francisco barroso
YmKx
francisco barroso
NKKF
Dom3000
Isabela
Dom3000
Dom3000
kenau
FelipeSouza11
FelipeSouza11
NyeTiSS
Callyde Jr
FelipeSouza11
dstaroski
kenau
kenau
Phph09
Zack2
NKKF
Carlos Mesquita
lesgoy
fecirineu

Como usar o OnBecomeVisible?

Ir em baixo

Como usar o OnBecomeVisible?

Mensagem por BananaSmith em Ter Ago 30, 2016 7:47 pm

Pessoal,

Criei um rascunho de IA bem básica que tem seus movimentos e que atira na direção do jogador. Mas o problema é que, independente de estar aparecendo ou não, o inimigo sempre vai atirar na direção do jogador. Tentei usar esse recurso para fazer o inimigo atirar apenas quando a câmera visualizar ele, mas não deu muito certo. O script que vou postar é da arma, quero que ela apenas atire se entrar no campo de visão da câmera. Qual a maneira correta de aplicar o OnBecomeVisible nesse script? 

Obs:. Se encontrarem qualquer erro, ou souberem de uma maneira mais simples de escrever meu script, me avisem :D

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

public class OctopusGun : MonoBehaviour {

 private Transform player;

 public Transform Weapon;
 public GameObject bullet;
 public float fireRate;
 private float currentTime;
 private bool canFire = true;

 void Start () {
 player = GameObject.FindWithTag("Player").transform;
 }

 void Update () {

 Vector3 dir = player.position - transform.position;
 float angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg;
 transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
 
 if (canFire == false) {
 currentTime += Time.deltaTime;
 if (currentTime > fireRate) {
 currentTime = 0;
 canFire = true;
 }
 }

 if (canFire) {
 Instantiate(bullet, Weapon.position, Weapon.rotation);
 canFire = false;
 }
 }
}
avatar
BananaSmith
Newbie
Newbie

Posts : 29
Pontos : 1065
Reputação : 3
Registro : 14/09/2015
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como usar o OnBecomeVisible?

Mensagem por MarcosSchultz em Ter Ago 30, 2016 11:51 pm

Ué, mas cade a void OnBecameVisible nesse script?

Outra coisa, tenha em mente que esta void afeta todas as cameras do editor, inclusive a do próprio editor, então é necessário testar em "maximize on play"
avatar
MarcosSchultz
Administrador

Masculino Posts : 5830
Pontos : 10566
Reputação : 1898
Registro : 19/09/2014
Idade : 21
Á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

Re: Como usar o OnBecomeVisible?

Mensagem por BananaSmith em Qua Ago 31, 2016 10:49 pm

@MarcosSchultz escreveu:Ué, mas cade a void OnBecameVisible nesse script?

Outra coisa, tenha em mente que esta void afeta todas as cameras do editor, inclusive a do próprio editor, então é necessário testar em "maximize on play"

Funcionou! Não sabia que a câmera do editor influenciava nisso.
Porém apareceu outro problema. Quando o inimigo aparece na câmera, ele só atira uma vez. Tentei corrigir isso, mas não consegui.
Alguma sugestão?
avatar
BananaSmith
Newbie
Newbie

Posts : 29
Pontos : 1065
Reputação : 3
Registro : 14/09/2015
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como usar o OnBecomeVisible?

Mensagem por MarcosSchultz em Qui Set 01, 2016 1:54 am

Tem como mandar o script todo com a parte do OnBecameVisible e tudo mais? Você pode ficar chamando uma void caso uma variável seja verdadeira por exemplo, eh bastante simples. posso ajeitar para você, mas preciso do script.
avatar
MarcosSchultz
Administrador

Masculino Posts : 5830
Pontos : 10566
Reputação : 1898
Registro : 19/09/2014
Idade : 21
Á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

Re: Como usar o OnBecomeVisible?

Mensagem por BananaSmith em Qui Set 01, 2016 1:10 pm

Beleza! Aqui está:

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

public class OctopusGun : MonoBehaviour {

 private Transform player;

 public Transform Weapon;
 public GameObject bullet;
 public float fireRate;
 private float currentTime;
 private bool canFire = true;

 void Start () {
 player = GameObject.FindWithTag("Player").transform;
 }

 void Update () {
 
 }

 void OnBecameVisible () {

 Vector3 dir = player.position - transform.position;
 float angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg;
 transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);

 if (canFire == false) {
 currentTime += Time.deltaTime;
 if (currentTime > fireRate) {
 currentTime = 0;
 canFire = true;
 }
 }

 if (canFire) {
 Instantiate(bullet, Weapon.position, Weapon.rotation);
 canFire = false;
 }
 }
}


Obrigado :D
avatar
BananaSmith
Newbie
Newbie

Posts : 29
Pontos : 1065
Reputação : 3
Registro : 14/09/2015
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como usar o OnBecomeVisible?

Mensagem por Manawydan em Qui Set 01, 2016 1:23 pm

Voce deveria usar o cronometro no Update invez do OnBecameVisible, teste o seguinte nao testei e fiz pelo notepad entao malz se tiver erros:
Código:
using UnityEngine;
using System.Collections;

public class OctopusGun : MonoBehaviour {

 private Transform player;

 public Transform Weapon;
 public GameObject bullet;
 public float fireRate;
 private float currentTime;
 private bool canFire = true;
 
 private bool isVisible = true;

 void Start () {
 player = GameObject.FindWithTag("Player").transform;
 }

 void Update () {
    if(!isVisible)return;
   
    Vector3 dir = player.position - transform.position;
    float angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg;
    transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);

 
   if (canFire == false) {
      currentTime += Time.deltaTime;
   if (currentTime > fireRate) {
      currentTime = 0;
      canFire = true;
      }
   }
   if (canFire) {
      Instantiate(bullet, Weapon.position, Weapon.rotation);
      canFire = false;
   }
 }

 void OnBecameVisible () {
    isVisible = true;
  }
   
void OnBecameInvisible () {
    isVisible = false;
  }
}
avatar
Manawydan
Moderador

Posts : 346
Pontos : 1294
Reputação : 181
Registro : 16/05/2016
Idade : 21
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Re: Como usar o OnBecomeVisible?

Mensagem por BananaSmith em Qui Set 01, 2016 7:47 pm

@Manawydan escreveu:Voce deveria usar o cronometro no Update invez do OnBecameVisible, teste o seguinte nao testei e fiz pelo notepad entao malz se tiver erros:
Código:
using UnityEngine;
using System.Collections;

public class OctopusGun : MonoBehaviour {

 private Transform player;

 public Transform Weapon;
 public GameObject bullet;
 public float fireRate;
 private float currentTime;
 private bool canFire = true;
 
 private bool isVisible = true;

 void Start () {
 player = GameObject.FindWithTag("Player").transform;
 }

 void Update () {
 if(!isVisible)return;
 
 Vector3 dir = player.position - transform.position;
 float angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg;
 transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);

 
 if (canFire == false) {
 currentTime += Time.deltaTime;
 if (currentTime > fireRate) {
 currentTime = 0;
 canFire = true;
 }
 }
 if (canFire) {
 Instantiate(bullet, Weapon.position, Weapon.rotation);
 canFire = false;
 }
 }

 void OnBecameVisible () {
 isVisible = true;
  }
 
void OnBecameInvisible () {
 isVisible = false;
  }
}
Não deu certo não. Eles ainda estão atirando sem ser vistos pela câmera. Nunca usei o "return". Nessas alterações, o que exatamente deveria acontecer?
avatar
BananaSmith
Newbie
Newbie

Posts : 29
Pontos : 1065
Reputação : 3
Registro : 14/09/2015
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como usar o OnBecomeVisible?

Mensagem por Weslley em Qui Set 01, 2016 11:04 pm

só lembrando que o OnBecameVisible também e chamado pela camera do editor
avatar
Weslley
Moderador

Masculino Posts : 1592
Pontos : 3105
Reputação : 624
Registro : 31/01/2016
Idade : 20
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


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