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:
Acrescentei algumas linhas em um Script feito pelo nosso M.Schultz, funcionou +ou-...
tem como excluir uma( ou várias ) contas do fórum?
[DÚVIDA] TIRANOSSAURO REX no UNITY?
Jumper boy
Duvida com animação
[TUTORIAL] Criar jogo Colors/Genius com C#
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) 7:15 am
Hoje à(s) 12:32 am
Ontem à(s) 11:37 pm
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
richardfalcos
Zack2
gcs13
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

Unity 5: Object reference not set to an instance of an object

Ir em baixo

DÚVIDA Unity 5: Object reference not set to an instance of an object

Mensagem por ZeroTuhnder em Dom Jun 10, 2018 5:55 pm

Galera, sou novo nesse negocio de scripting em C# e eu estou fazendo uma das aulas padrões da Unity, mas eu me deparei com um erro que não consigo resolver, eu usei um código para fazer um inimigo ir até um jogador e ataca-lo, até ai tudo bem, mas quando eu fui testar deu o erro: NullReferenceException: Object reference not set to an instance of an object enemyMovement.Update () (at Assets/enemyMovement.cs:27)
quando eu digitei a linha: if (enemyHealth.currentHealth > 0 && playerHealth.currentHealth > 0) {

Alguém pode me ajudar??
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class enemyMovement : MonoBehaviour {

 public Transform player;               // Reference to the player's position.
 PlayerHealth playerHealth;      // Reference to the player's health.
 EnemyHealth enemyHealth;        // Reference to this enemy's health.
 NavMeshAgent nav;               // Reference to the nav mesh agent.
 
 
 void Awake ()
 {
 // Set up the references.
 player = GameObject.FindGameObjectWithTag ("Player").transform;
 playerHealth = player.GetComponent <PlayerHealth> ();
 enemyHealth = GetComponent <EnemyHealth> ();
 nav = GetComponent <UnityEngine.AI.NavMeshAgent> ();
 }
 
 
 void Update ()
 {
 // If the enemy and the player have health left...
 if (enemyHealth.currentHealth > 0 && playerHealth.currentHealth > 0) {
 // ... set the destination of the nav mesh agent to the player.
 nav.SetDestination (player.position);
 }
 // Otherwise...
 else {
 // ... disable the nav mesh agent.
 nav.enabled = false;
 }
 }
}
avatar
ZeroTuhnder
Newbie
Newbie

Masculino Posts : 4
Pontos : 15
Reputação : 0
Registro : 10/06/2018
Idade : 15
Áreas de atuação : Somente estudo atualmente
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Unity 5: Object reference not set to an instance of an object

Mensagem por NKKF em Dom Jun 10, 2018 5:59 pm

Você adicionou "enemyHealth" ao script?
avatar
NKKF
ProgramadorMaster

Masculino Posts : 997
Pontos : 1573
Reputação : 324
Registro : 24/01/2018
Idade : 13
Áreas de atuação : Não uso foto de perfil porque não tenho autoestima suficiente.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

DÚVIDA Re: Unity 5: Object reference not set to an instance of an object

Mensagem por ZeroTuhnder em Dom Jun 10, 2018 6:02 pm

Sim (eu acho), quando eu fiz a referência na 10° linha e fiz ela resgatar esse componente na 19°
avatar
ZeroTuhnder
Newbie
Newbie

Masculino Posts : 4
Pontos : 15
Reputação : 0
Registro : 10/06/2018
Idade : 15
Áreas de atuação : Somente estudo atualmente
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Unity 5: Object reference not set to an instance of an object

Mensagem por NKKF em Dom Jun 10, 2018 6:13 pm

Só uma dúvida: Quando o inimigo ficar sem vida, ele morre, não é? Então por que você faz a verificação se ele está vivo ou não?
avatar
NKKF
ProgramadorMaster

Masculino Posts : 997
Pontos : 1573
Reputação : 324
Registro : 24/01/2018
Idade : 13
Áreas de atuação : Não uso foto de perfil porque não tenho autoestima suficiente.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

DÚVIDA Re: Unity 5: Object reference not set to an instance of an object

Mensagem por Phph09 em Dom Jun 10, 2018 6:16 pm

O player tem a tag Player?
O player tem o script PlayerHealth?
O inimigo(objeto com esse script) tem o script EnemyHealth?
O inimigo(objeto com esse script) tem navmesh?

Faça a verificação
if(PlayerHealth != null && EnemyHealth != null)
avatar
Phph09
ProgramadorMaster

Masculino Posts : 843
Pontos : 1440
Reputação : 220
Registro : 12/07/2017
Idade : 12
Áreas de atuação :

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Unity 5: Object reference not set to an instance of an object

Mensagem por ZeroTuhnder em Dom Jun 10, 2018 6:21 pm

NKKF : Então, é porque se eu remover essa verificação (If e Else) aparece um outro erro quando eu inicio o jogo: "SetDestination" can only be called on an active agent that has been placed on a NavMesh.UnityEngine.AI.NavMeshAgent:SetDestination(Vector3) enemyMovement:Update() (at Assets/enemyMovement.cs:27)

Phph09: Sim, meu player tem a tag "Player" e o script "PlayerHealth" e esse inimigo tem NavMesh e o script "EnemyHealth" tudo está presente, por isso não sei qual é o erro...
avatar
ZeroTuhnder
Newbie
Newbie

Masculino Posts : 4
Pontos : 15
Reputação : 0
Registro : 10/06/2018
Idade : 15
Áreas de atuação : Somente estudo atualmente
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Unity 5: Object reference not set to an instance of an object

Mensagem por ZeroTuhnder em Dom Jun 10, 2018 6:23 pm

Script "EnemyHealth"
Código:
using UnityEngine;

namespace CompleteProject
{
    public class EnemyHealth : MonoBehaviour
    {
        public int startingHealth = 100;            // The amount of health the enemy starts the game with.
        public int currentHealth;                  // The current health the enemy has.
        public float sinkSpeed = 2.5f;              // The speed at which the enemy sinks through the floor when dead.
        public int scoreValue = 10;                // The amount added to the player's score when the enemy dies.
        public AudioClip deathClip;                // The sound to play when the enemy dies.


        Animator anim;                              // Reference to the animator.
        AudioSource enemyAudio;                    // Reference to the audio source.
        ParticleSystem hitParticles;                // Reference to the particle system that plays when the enemy is damaged.
        CapsuleCollider capsuleCollider;            // Reference to the capsule collider.
        bool isDead;                                // Whether the enemy is dead.
        bool isSinking;                            // Whether the enemy has started sinking through the floor.


        void Awake ()
        {
            // Setting up the references.
            anim = GetComponent <Animator> ();
            enemyAudio = GetComponent <AudioSource> ();
            hitParticles = GetComponentInChildren <ParticleSystem> ();
            capsuleCollider = GetComponent <CapsuleCollider> ();

            // Setting the current health when the enemy first spawns.
            currentHealth = startingHealth;
        }


        void Update ()
        {
            // If the enemy should be sinking...
            if(isSinking)
            {
                // ... move the enemy down by the sinkSpeed per second.
                transform.Translate (-Vector3.up * sinkSpeed * Time.deltaTime);
            }
        }


        public void TakeDamage (int amount, Vector3 hitPoint)
        {
            // If the enemy is dead...
            if(isDead)
                // ... no need to take damage so exit the function.
                return;

            // Play the hurt sound effect.
            enemyAudio.Play ();

            // Reduce the current health by the amount of damage sustained.
            currentHealth -= amount;
           
            // Set the position of the particle system to where the hit was sustained.
            hitParticles.transform.position = hitPoint;

            // And play the particles.
            hitParticles.Play();

            // If the current health is less than or equal to zero...
            if(currentHealth <= 0)
            {
                // ... the enemy is dead.
                Death ();
            }
        }


        void Death ()
        {
            // The enemy is dead.
            isDead = true;

            // Turn the collider into a trigger so shots can pass through it.
            capsuleCollider.isTrigger = true;

            // Tell the animator that the enemy is dead.
            anim.SetTrigger ("Dead");

            // Change the audio clip of the audio source to the death clip and play it (this will stop the hurt clip playing).
            enemyAudio.clip = deathClip;
            enemyAudio.Play ();
        }


        public void StartSinking ()
        {
            // Find and disable the Nav Mesh Agent.
            GetComponent <UnityEngine.AI.NavMeshAgent> ().enabled = false;

            // Find the rigidbody component and make it kinematic (since we use Translate to sink the enemy).
            GetComponent <Rigidbody> ().isKinematic = true;

            // The enemy should no sink.
            isSinking = true;

            // Increase the score by the enemy's score value.
            ScoreManager.score += scoreValue;

            // After 2 seconds destory the enemy.
            Destroy (gameObject, 2f);
        }
    }
}
Script "Player Health
Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.SceneManagement;

namespace CompleteProject
{
    public class PlayerHealth : MonoBehaviour
    {
        public int startingHealth = 100;                            // The amount of health the player starts the game with.
        public int currentHealth;                                  // The current health the player has.
        public Slider healthSlider;                                // Reference to the UI's health bar.
        public Image damageImage;                                  // Reference to an image to flash on the screen on being hurt.
        public AudioClip deathClip;                                // The audio clip to play when the player dies.
        public float flashSpeed = 5f;                              // The speed the damageImage will fade at.
        public Color flashColour = new Color(1f, 0f, 0f, 0.1f);    // The colour the damageImage is set to, to flash.


        Animator anim;                                              // Reference to the Animator component.
        AudioSource playerAudio;                                    // Reference to the AudioSource component.
        PlayerMovement playerMovement;                              // Reference to the player's movement.
        PlayerShooting playerShooting;                              // Reference to the PlayerShooting script.
        bool isDead;                                                // Whether the player is dead.
        bool damaged;                                              // True when the player gets damaged.


        void Awake ()
        {
            // Setting up the references.
            anim = GetComponent <Animator> ();
            playerAudio = GetComponent <AudioSource> ();
            playerMovement = GetComponent <PlayerMovement> ();
            playerShooting = GetComponentInChildren <PlayerShooting> ();

            // Set the initial health of the player.
            currentHealth = startingHealth;
        }


        void Update ()
        {
            // If the player has just been damaged...
            if(damaged)
            {
                // ... set the colour of the damageImage to the flash colour.
                damageImage.color = flashColour;
            }
            // Otherwise...
            else
            {
                // ... transition the colour back to clear.
                damageImage.color = Color.Lerp (damageImage.color, Color.clear, flashSpeed * Time.deltaTime);
            }

            // Reset the damaged flag.
            damaged = false;
        }


        public void TakeDamage (int amount)
        {
            // Set the damaged flag so the screen will flash.
            damaged = true;

            // Reduce the current health by the damage amount.
            currentHealth -= amount;

            // Set the health bar's value to the current health.
            healthSlider.value = currentHealth;

            // Play the hurt sound effect.
            playerAudio.Play ();

            // If the player has lost all it's health and the death flag hasn't been set yet...
            if(currentHealth <= 0 && !isDead)
            {
                // ... it should die.
                Death ();
            }
        }


        void Death ()
        {
            // Set the death flag so this function won't be called again.
            isDead = true;

            // Turn off any remaining shooting effects.
            playerShooting.DisableEffects ();

            // Tell the animator that the player is dead.
            anim.SetTrigger ("Die");

            // Set the audiosource to play the death clip and play it (this will stop the hurt sound from playing).
            playerAudio.clip = deathClip;
            playerAudio.Play ();

            // Turn off the movement and shooting scripts.
            playerMovement.enabled = false;
            playerShooting.enabled = false;
        }


        public void RestartLevel ()
        {
            // Reload the level that is currently loaded.
            SceneManager.LoadScene (0);
        }
    }
}
avatar
ZeroTuhnder
Newbie
Newbie

Masculino Posts : 4
Pontos : 15
Reputação : 0
Registro : 10/06/2018
Idade : 15
Áreas de atuação : Somente estudo atualmente
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