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:
[Duvida]3dwarehouse posso usar seus modelos e vender meu jogo ?
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Novo tema fórum - Votação
[Projeto] Line Battle
Bug Animation
avaliem esse trabalho no scupt mode
Salvar estado de bool com PlayerPrefsX.
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
(Ajuda) PlayerPrefs
Como usar o Getfloat no audio mixer?
Wheel joint 2d e problema com limite de velocidade
[RESOLVIDO]Text não recebe texto do inpult Field
Unity editor lento, mas game final não
Como criar uma conexão externa usando IP do host
[RESOLVIDO] Componente Button em um sprite.
Seleção de botão
GRAFICOS UNITY
[DUVIDA] Textura dentro do objeto com editor gráfico da unity
colisão na particle
Adaptação a Área de Desenvolvimento de Jogos
PRECISO DE UM ANIMADOR
[RESOLVIDO] Qual o Aspect Ratio do celular.
Formação de equipe
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
pack de animações
Como faço para o personagem entrar e sair do carro?
[DÚVIDA]Como sincronizar os kills e mortes com Unet
[RESOLVIDO]Licença 3d Warehouse
como criar um slime? como fazer para uma mesh ficar mole e colidir com o chao(tipo slime)?
[DÚVIDA]É possível instalar o Unity no Ubuntu e ser ativado sem internet?
[DÚVIDA]Materiais da Unity para objetos do Blender
[AJUDA]Quero Ajuda poque esse script so da erro!
[DÚVIDA]Tempo de espera fora do app
[RESOLVIDO]Script com um pequeno defeito
[RESOLVIDO]Erro com monodevelop
[RESOLVIDO]Como fazer o audio se sobrepor?
aVork - Física realista para veículos
Wheel Collider
Dúvida com void OnTriggerEnter
Blender p/ Unity - Objetos c/ 90º
[AJUDA]Como ativar/desativar todos os GameObjects de uma array
[DÚVIDA]Atributos Network UNET
Asset MS Vehicle System
[ERRO UNITY] Unity 2017
[RESOLVIDO] erro no unity 2017 ao colocar scripts
[DÚVIDA]Problema com Multiplayer UNET
NOVO ANDROID STUDIO COM PROBLEMA NO SDK
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
Suzuki Srad 750
[RESOLVIDO]Tem Como eu Fazer uma Float com 2 Numeros após a virgula ?
[RESOLVIDO] Cálculo simples dando errado
Build Para IOS
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
Movimentação no Espaço como Jet Pack
Como selecionar um único filho de um Gameobject?
Numero de itens iguais em uma lista
[RESOLVIDO]Alguém tem alguma dica sobre NavMeshAgent
Problemas com o Unity
[RESOLVIDO]Receber o nome do próprio objeto em uma string
Weslley GameDev
[DÚVIDA]Ajuda para como fazer esse script voltar a funcionar
[Duvida] Collab Excedeu o Seu Limite : Como posso transferir o projeto entre a equipe?
[DUVIDA] Sistema de diario/Livro de notas
[DÚVIDA](Multiplayer) Comando para non-Player object
é Possivel visualizar uma Variavel Estatica no Inspector ?
Physics2D para Physics?
Erro com lista
Como melhorar o desempenho mobile?
[DÚVIDA]Receber e setar texto em um objeto
[DÙVIDA]Problema ao criar build Android
[DÚVIDA]Como fazer um lerp de um determinado valor de maneira gradativa
[DÚVIDA]MULTIPLAYER Unet: Como sincronizar Variaveis(bool)
Novo jogo em desenvolvimento para android
Banco de Dados Cotação
[RESOLVIDO] O fórum é só para Unity?
[RESOLVIDO] Button perdendo a instancia
[RESOLVIDO]UNITY NAO REPRODUZ AUDIO, problema do pc ou da unity?
Atualização do meu jogo estilo Resident Evil 4 + link do APK
Reproduzir vídeos do youtube
Necessito de sua ajuda para uma ideia...
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
Duvida com script !
Criar LAN via bluetooth
[RESOLVIDO]Estou Usando FindGameObjectWithTag Porem....
[TUTORIAL] Mover/Empurrar Objetos, Caixote,etc
Script de Movimentação não funciona
[RESOLVIDO] SDK NÃO FUNCIONA NO WINDOWS 10
Novo jogo - Stackx
Simular tecla com um botao ou touch
Botoes da unity no android e destruir um objeto em qualquer lugar da cena com touch
Dúvida Netwoking
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Ajuda Com Admob
é Possivel Fazer uma FindTag usando um Text ao inves do GameObject ?
[RESOLVIDO] Animação com "Objetos"
[RESOLVIDO] Enemy IA e Portas
Formação de equipes - AK Vida Real
Hoje à(s) 10:00 am
Hoje à(s) 9:04 am
Hoje à(s) 8:52 am
Hoje à(s) 8:47 am
Hoje à(s) 8:46 am
Hoje à(s) 8:42 am
Hoje à(s) 7:59 am
Hoje à(s) 7:50 am
Hoje à(s) 2:18 am
Hoje à(s) 12:23 am
Hoje à(s) 12:17 am
Hoje à(s) 12:09 am
Ontem à(s) 10:35 pm
Ontem à(s) 9:22 pm
Ontem à(s) 8:07 pm
Ontem à(s) 7:55 pm
Ontem à(s) 7:51 pm
Ontem à(s) 7:31 pm
Ontem à(s) 6:22 pm
Ontem à(s) 5:44 pm
Ontem à(s) 4:07 pm
Ontem à(s) 2:03 pm
Ontem à(s) 1:13 pm
Ontem à(s) 12:31 pm
Ontem à(s) 10:06 am
Ontem à(s) 9:13 am
Ontem à(s) 9:12 am
Sab Jan 20, 2018 11:57 pm
Sab Jan 20, 2018 10:12 pm
Sab Jan 20, 2018 9:54 pm
Sab Jan 20, 2018 9:36 pm
Sab Jan 20, 2018 9:23 pm
Sab Jan 20, 2018 9:02 pm
Sab Jan 20, 2018 8:46 pm
Sab Jan 20, 2018 8:30 pm
Sab Jan 20, 2018 8:26 pm
Sab Jan 20, 2018 8:23 pm
Sab Jan 20, 2018 8:20 pm
Sab Jan 20, 2018 8:11 pm
Sab Jan 20, 2018 8:10 pm
Sab Jan 20, 2018 8:05 pm
Sab Jan 20, 2018 7:29 pm
Sab Jan 20, 2018 7:08 pm
Sab Jan 20, 2018 4:21 pm
Sab Jan 20, 2018 11:38 am
Sab Jan 20, 2018 11:25 am
Sab Jan 20, 2018 2:05 am
Sab Jan 20, 2018 1:34 am
Sex Jan 19, 2018 9:06 pm
Sex Jan 19, 2018 8:00 pm
Sex Jan 19, 2018 3:10 pm
Sex Jan 19, 2018 1:05 pm
Sex Jan 19, 2018 11:52 am
Sex Jan 19, 2018 10:17 am
Sex Jan 19, 2018 10:13 am
Sex Jan 19, 2018 1:11 am
Qui Jan 18, 2018 9:46 pm
Qui Jan 18, 2018 8:10 pm
Qui Jan 18, 2018 8:00 pm
Qui Jan 18, 2018 7:42 pm
Qui Jan 18, 2018 7:13 pm
Qui Jan 18, 2018 7:09 pm
Qui Jan 18, 2018 5:09 pm
Qui Jan 18, 2018 4:53 pm
Qui Jan 18, 2018 4:10 pm
Qui Jan 18, 2018 4:10 pm
Qui Jan 18, 2018 4:05 pm
Qui Jan 18, 2018 4:03 pm
Qui Jan 18, 2018 3:46 pm
Qui Jan 18, 2018 3:04 pm
Qui Jan 18, 2018 1:28 pm
Qui Jan 18, 2018 1:09 pm
Qui Jan 18, 2018 12:36 pm
Qui Jan 18, 2018 12:23 pm
Qui Jan 18, 2018 11:25 am
Qui Jan 18, 2018 8:23 am
Qui Jan 18, 2018 8:11 am
Qui Jan 18, 2018 2:17 am
Qui Jan 18, 2018 2:14 am
Qua Jan 17, 2018 8:35 pm
Qua Jan 17, 2018 6:41 pm
Qua Jan 17, 2018 4:25 pm
Qua Jan 17, 2018 4:08 pm
Qua Jan 17, 2018 3:30 pm
Qua Jan 17, 2018 3:03 pm
Qua Jan 17, 2018 1:00 pm
Qua Jan 17, 2018 1:00 pm
Qua Jan 17, 2018 12:22 pm
Qua Jan 17, 2018 11:31 am
Qua Jan 17, 2018 10:40 am
Qua Jan 17, 2018 8:46 am
Ter Jan 16, 2018 11:17 pm
Ter Jan 16, 2018 11:04 pm
Ter Jan 16, 2018 10:45 pm
Ter Jan 16, 2018 9:31 pm
Ter Jan 16, 2018 8:50 pm
Ter Jan 16, 2018 8:16 pm
Ter Jan 16, 2018 8:08 pm
Ter Jan 16, 2018 8:07 pm
BRGC
Phph09
M4theuz
M4theuz
M4theuz
M4theuz
RW.
RW.
recagonlei
mayke1040
felipehobs1
916anderson
Álefe Kauvyhtz
recagonlei
recagonlei
recagonlei
recagonlei
Mosqueiro
Before Dawn
BRGC
Daniel Pires da Silva
Raphaels
Junim
recagonlei
victorgx22
dstaroski
dstaroski
mafersa
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
MarcosSchultz
MarcosSchultz
Água Sem Hidrogênio
luiz12345
felipehobs1
recagonlei
dazentt55
PatifeCraft
recagonlei
recagonlei
marco.flautista
Pixelizad
MRX
recagonlei
recagonlei
natanael.olimpio
dstaroski
MarcosSchultz
felipehobs1
recagonlei
recagonlei
dstaroski
recagonlei
DuViDoSo
MarcosSchultz
MarcosSchultz
Gwiisk
recagonlei
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MRX
YmKx
recagonlei
recagonlei
ÁguaMineral
Phph09
John Rambo
recagonlei
recagonlei
thiagotmi
natanael.olimpio
cody0033
cody0033
jasondavin
Água Sem Hidrogênio
recagonlei
dstaroski
Água Sem Hidrogênio
recagonlei
googolepton
Phph09
fabriciorsz34
recagonlei
recagonlei
Água Sem Hidrogênio
rafaelllsd
recagonlei
recagonlei
fabriciorsz34

PROBLEMA COM ANIMATION

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

DÚVIDA PROBLEMA COM ANIMATION

Mensagem por MeverPlays em Ter Set 06, 2016 3:43 pm

Opa e aí galera! to com um problema que ate agr não consegui resolver.. estou com um script que executa uma animação de tal nome, em uma arma funciona tudo de boa, todavia, em outra arma, msm eu seguindo os msm procedimentos da anterior que funcionou, nessa não funciona, o script não pega pq da esse erro relacionado a animação NullReferenceException: GetRef ta como se uma animação que fiz (demorou pakas) não tivesse nada nela, ou ta imcompativel sei la!! se alguém souber oq poder ser da um help aí =]
avatar
MeverPlays
MembroAvançado

Masculino PONTOS : 1334
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity.
Respeito as regras :

Ver perfil do usuário http://www.joltflip.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por George Lucas Vieira em Ter Set 06, 2016 3:59 pm

Tarde, baum ou não?
Seguinte, NullReference acontece por você está tentando buscar algo não existente. E no Mecanim, esse é o erro mais comum de acontecer, já que 50% de seu sistema envolve a linkagem de animações. Gostaria que deixasse seu script aqui e a linha em que está indicando o erro, assim poderei analisar e dizer o que erraste.
avatar
George Lucas Vieira
MembroAvançado

Masculino PONTOS : 912
REPUTAÇÃO : 125
Idade : 14
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MeverPlays em Ter Set 06, 2016 10:03 pm

o script é bastante grande, como eu disse não deve ser erro no script pois em outra arma funciona de boa. tem alguma ideia do que pode ser exatamente?
avatar
MeverPlays
MembroAvançado

Masculino PONTOS : 1334
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity.
Respeito as regras :

Ver perfil do usuário http://www.joltflip.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por Weslley em Ter Set 06, 2016 11:08 pm

como o George Lucas Vieira NullReferenceException acontece quando a referencia e nula quando esta tentando acessar algo que não existe
avatar
Weslley
Moderador

Masculino PONTOS : 2903
REPUTAÇÃO : 603
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MeverPlays em Ter Set 06, 2016 11:45 pm

tipo eu tenho uma animação, e o script, a animação ta completa porém quando chamo essa animação pelo script da esse erro, oq tem de errado o.O
avatar
MeverPlays
MembroAvançado

Masculino PONTOS : 1334
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity.
Respeito as regras :

Ver perfil do usuário http://www.joltflip.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MarcosSchultz em Ter Set 06, 2016 11:59 pm

Como o George já disse e o weslley reafirmou, você está tendo uma referência nula, mas não temos como te ajudar se você não postar o código que está dando o erro e postar uma print de como está configurado o seu animator.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10050
REPUTAÇÃO : 1748
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

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MeverPlays em Qua Set 07, 2016 12:02 am

não é animator e sim animation, no script não da erro em nenhuma linha, quando eu coloco uma outra animação o script funciona com tudo, quando eu coloco a que aparentemente ta bugada da esse erro. msm assim será que tem a ver com o script??
avatar
MeverPlays
MembroAvançado

Masculino PONTOS : 1334
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity.
Respeito as regras :

Ver perfil do usuário http://www.joltflip.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MarcosSchultz em Qua Set 07, 2016 12:03 am

Mas cara, NÓS NÃO TEMOS O SCRIPT NEM PRINTS

Precisamos do script

precisamos das prints
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10050
REPUTAÇÃO : 1748
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

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por George Lucas Vieira em Qua Set 07, 2016 12:05 am

Não recomendo você a usar Animation, mas ok...
Cara, verifica se lá na sua pasta de Modelos, a arma tá em Generic. Se estiver, troque para Legacy.
avatar
George Lucas Vieira
MembroAvançado

Masculino PONTOS : 912
REPUTAÇÃO : 125
Idade : 14
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MeverPlays em Qua Set 07, 2016 12:09 am

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

public enum fireMode { nenhum, semi, auto, rajada, shotgun, lançador }
public enum Ammo { Magazines, Bullets }
public enum Aim { Simples, Sniper }

public class WeaponScriptNEW : MonoBehaviour
{

   [HideInInspector]
   public fireMode currentMode = fireMode.semi;
   public fireMode firstMode = fireMode.semi;
   public fireMode secondMode = fireMode.lançador;
   public Ammo ammoMode = Ammo.Magazines;
   public Aim aimMode = Aim.Simples;

   [Header("Weapon configuration")]
   public LayerMask layerMask;
   public int damage = 50;
   public int bulletsPerMag = 50;
   public int magazines = 5;
   private float fireRate = 0.1f;
   public float fireRateFirstMode = 0.1f;
   public float fireRateSecondMode = 0.1f;
   public float range = 250.0f;
   public float force = 200.0f;

   [Header("Accuracy Settings")]
   public float baseInaccuracyAIM = 0.005f;
   public float baseInaccuracyHIP = 1.5f;
   public float inaccuracyIncreaseOverTime = 0.2f;
   public float inaccuracyDecreaseOverTime = 0.5f;
   private float maximumInaccuracy;
   public float maxInaccuracyHIP = 5.0f;
   public float maxInaccuracyAIM = 1.0f;
   private float triggerTime = 0.05f;
   private float baseInaccuracy;

   [Header("Aiming")]
   public Vector3 aimPosition;
   private bool aiming;
   private Vector3 curVect;
   private Vector3 hipPosition = Vector3.zero;
   public float aimSpeed = 0.25f;
   public float zoomSpeed = 0.5f;
   public int FOV = 40;
   public int weaponFOV = 45;

   private float scopeTime;
   private bool inScope = false;
   public Texture scopeTexture;

   [Header("Burst Settings")]
   public int shotsPerBurst = 3;
   public float burstTime = 0.07f;

   [Header("Shotgun Settings")]
   public int pelletsPerShot = 10;

   [Header("Launcher")]
   public GameObject projectilePrefab;
   public float projectileSpeed = 30.0f;
   public float projectileGravity = 0.0f;
   public int projectiles = 20;
   public Transform launchPosition;
   public bool reloadProjectile = false;
   public AudioClip soundReloadLauncher;
   public Renderer rocket = null;

   [Header("Kickback")]
   public Transform kickGO;
   public float kickUp = 0.5f;
   public float kickSideways = 0.5f;

   [Header("Crosshair")]
   public Texture2D crosshairFirstModeHorizontal;
   public Texture2D crosshairFirstModeVertical;
   public Texture2D crosshairSecondMode;
   private float adjustMaxCroshairSize = 6.0f;

   [Header("Bulletmarks")]
   public GameObject Concrete;
   public GameObject Wood;
   public GameObject Metal;
   public GameObject Dirt;
   public GameObject Blood;
   public GameObject Water;
   public GameObject Untagged;

   [Header("Audio")]
   public AudioSource aSource;
   public AudioClip soundDraw;
   public AudioClip soundFire;
   public AudioClip soundReload;
   public AudioClip soundEmpty;
   public AudioClip switchModeSound;
   public float fireVol = 1.0f;

   [Header("Animation Settings")]
   public Animation weaponAnim;
   public string fireAnim = "Fire";
   [Range(0.0f, 5.0f)]
   public float fireAnimSpeed = 1.0f;
   public string drawAnim = "Draw";
   [Range(0.0f, 5.0f)]
   public float drawAnimSpeed = 1.0f;
   [Range(0.0f, 5.0f)]
   public float drawTime = 1.5f;
   public string reloadAnim = "Reload";
   [Range(0.0f, 5.0f)]
   public float reloadAnimSpeed = 1.0f;
   [Range(0.0f, 5.0f)]
   public float reloadTime = 1.5f;
   public string fireEmptyAnim = "FireEmpty";
   [Range(0.0f, 5.0f)]
   public float fireEmptyAnimSpeed = 1.0f;
   public string switchAnim = "SwitchAnim";
   [Range(0.0f, 5.0f)]
   public float switchAnimSpeed = 1.0f;
   public string fireLauncherAnim = "FireLauncher";

   [Header("Other")]
   public FPSController fpscontroller;
   public WeaponManager wepManager;
   public GUISkin mySkin;
   public Renderer muzzleFlash;
   public Light muzzleLight;
   public Camera mainCamera;
   public Camera wepCamera;
   public bool withSilencer = false;

   [HideInInspector]
   public bool reloading = false;
   [HideInInspector]
   public bool selected = false;
   private bool canSwicthMode = true;
   private bool draw;
   private bool playing = false;
   private bool isFiring = false;
   private bool bursting = false;
   private int m_LastFrameShot = -10;
   private float nextFireTime = 0.0f;
   private int bulletsLeft = 0;
   private RaycastHit hit;
   private float camFOV = 60.0f;
   private bool aim;

   void Start()
   {
      //camFOV = mainCamera.fieldOfView;
      muzzleFlash.enabled = false;
      muzzleLight.enabled = false;
      bulletsLeft = bulletsPerMag;
      currentMode = firstMode;
      fireRate = fireRateFirstMode;
      aiming = false;

      aim = false;

      if (ammoMode == Ammo.Bullets)
      {
         magazines = magazines * bulletsPerMag;
      }
   }

   void Update()
   {
      if (selected)
      {
         if (Cursor.lockState == CursorLockMode.None) return;

         if (Input.GetButtonDown("Fire"))
         {
            if (currentMode == fireMode.semi)
            {
               FireSemi();
            }
            else if (currentMode == fireMode.lançador)
            {
               FireLauncher();
            }
            else if (currentMode == fireMode.rajada)
            {
               StartCoroutine(FireBurst());
            }
            else if (currentMode == fireMode.shotgun)
            {
               FireShotgun();
            }

            if (bulletsLeft > 0)
               isFiring = true;
         }

         if (Input.GetButton("Fire"))
         {
            if (currentMode == fireMode.auto)
            {
               FireSemi();
               if (bulletsLeft > 0)
                  isFiring = true;
            }
         }

         if (Input.GetButtonDown("Reload"))
         {
            StartCoroutine(Reload());
         }
      }

      if (Input.GetMouseButtonDown(1))
         aim = !aim;

      if (aim && !reloading && selected)
      {
         if (!aiming)
         {
            aiming = true;
            curVect = aimPosition - transform.localPosition;
            scopeTime = Time.time + aimSpeed;
         }
         if (transform.localPosition != aimPosition && aiming)
         {
            if (Mathf.Abs(Vector3.Distance(transform.localPosition, aimPosition)) < curVect.magnitude / aimSpeed * Time.deltaTime)
            {
               transform.localPosition = aimPosition;
            }
            else
            {
               transform.localPosition += curVect / aimSpeed * Time.deltaTime;
            }
         }

         if (aimMode == Aim.Sniper)
         {
            if (Time.time >= scopeTime && !inScope)
            {
               inScope = true;
               Component[] gos = GetComponentsInChildren<Renderer>();
               foreach (var go in gos)
               {
                  Renderer a = go as Renderer;
                  a.enabled = false;
               }
            }
         }
      }
      else
      {
         if (aiming)
         {
            aiming = false;
            inScope = false;
            curVect = hipPosition - transform.localPosition;
            if (aimMode == Aim.Sniper)
            {
               Component[] go = GetComponentsInChildren<Renderer>();
               foreach (var g in go)
               {
                  Renderer b = g as Renderer;
                  if (b.name != "muzzle_flash")
                     b.enabled = true;
               }
            }
         }

         if (Mathf.Abs(Vector3.Distance(transform.localPosition, hipPosition)) < curVect.magnitude / aimSpeed * Time.deltaTime)
         {
            transform.localPosition = hipPosition;
         }
         else
         {
            transform.localPosition += curVect / aimSpeed * Time.deltaTime;
         }
      }

      if (aiming)
      {
         maximumInaccuracy = maxInaccuracyAIM;
         baseInaccuracy = baseInaccuracyAIM;
         mainCamera.fieldOfView -= FOV * Time.deltaTime / zoomSpeed;
         if (mainCamera.fieldOfView < FOV)
         {
            mainCamera.fieldOfView = FOV;
         }

      }
      else
      {
         maximumInaccuracy = maxInaccuracyHIP;
         baseInaccuracy = baseInaccuracyHIP;
         mainCamera.fieldOfView += camFOV * Time.deltaTime * 3;
         if (mainCamera.fieldOfView > camFOV)
         {
            mainCamera.fieldOfView = camFOV;
         }
      }

      if (fpscontroller.velMagnitude > 3.0f)
      {
         triggerTime += inaccuracyDecreaseOverTime;
      }

      if (isFiring)
      {
         triggerTime += inaccuracyIncreaseOverTime;
      }
      else
      {
         if (fpscontroller.velMagnitude < 3.0f)
            triggerTime -= inaccuracyDecreaseOverTime;
      }

      if (triggerTime >= maximumInaccuracy)
      {
         triggerTime = maximumInaccuracy;
      }

      if (triggerTime <= baseInaccuracy)
      {
         triggerTime = baseInaccuracy;
      }

      if (nextFireTime > Time.time)
      {
         isFiring = false;
      }

      if (Input.GetButtonDown("switchFireMode") && secondMode != fireMode.nenhum && canSwicthMode)
      {
         if (currentMode != firstMode)
         {
            StartCoroutine(FirstFireMode());
         }
         else
         {
            StartCoroutine(SecondFireMode());
         }
      }
   }

   void LateUpdate()
   {
      if (withSilencer || inScope) return;

      if (m_LastFrameShot == Time.frameCount)
      {
         muzzleFlash.transform.localRotation = Quaternion.AngleAxis(Random.value * 360, Vector3.forward);
         muzzleFlash.enabled = true;
         muzzleLight.enabled = true;
      }
      else
      {
         muzzleFlash.enabled = false;
         muzzleLight.enabled = false;
      }
   }

   void OnGUI()
   {
      if (selected)
      {
         GUI.skin = mySkin;
         GUIStyle style1 = mySkin.customStyles[0];

         if (scopeTexture != null && inScope)
         {
            GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), scopeTexture, ScaleMode.StretchToFill);

         }
         else
         {

            if (currentMode == fireMode.lançador)
            {
               if (crosshairSecondMode == null) return;

               float wi = crosshairSecondMode.width / 2;
               float he = crosshairSecondMode.height / 2;
               Rect pos = new Rect((Screen.width - wi) / 2, (Screen.height - he) / 2, wi, he);
               if (!aiming)
               {
                  GUI.DrawTexture(pos, crosshairSecondMode);
               }
            }
            else
            {
               float w = crosshairFirstModeHorizontal.width;
               float h = crosshairFirstModeHorizontal.height;
               Rect position1 = new Rect((Screen.width + w) / 2 + (triggerTime * adjustMaxCroshairSize), (Screen.height - h) / 2, w, h);
               Rect position2 = new Rect((Screen.width - w) / 2, (Screen.height + h) / 2 + (triggerTime * adjustMaxCroshairSize), w, h);
               Rect position3 = new Rect((Screen.width - w) / 2 - (triggerTime * adjustMaxCroshairSize) - w, (Screen.height - h) / 2, w, h);
               Rect position4 = new Rect((Screen.width - w) / 2, (Screen.height - h) / 2 - (triggerTime * adjustMaxCroshairSize) - h, w, h);
               if (!aiming)
               {
                  GUI.DrawTexture(position1, crosshairFirstModeHorizontal);  //Right
                  GUI.DrawTexture(position2, crosshairFirstModeVertical);    //Up
                  GUI.DrawTexture(position3, crosshairFirstModeHorizontal);  //Left
                  GUI.DrawTexture(position4, crosshairFirstModeVertical);    //Down
               }
            }
         }

         if (firstMode != fireMode.nenhum && firstMode != fireMode.lançador || secondMode != fireMode.nenhum && secondMode != fireMode.lançador)
         {
            GUI.Label(new Rect(Screen.width - 185, Screen.height - 35, 200, 80), "Munição:");
            GUI.Label(new Rect(Screen.width - 110, Screen.height - 35, 200, 80), "" + bulletsLeft, style1);
            GUI.Label(new Rect(Screen.width - 80, Screen.height - 35, 200, 80), " |  " + magazines);
         }

         if (firstMode != fireMode.nenhum || secondMode != fireMode.nenhum)
         {
            GUI.Label(new Rect(Screen.width - 185, Screen.height - 65, 200, 80), "Modo:");
            GUI.Label(new Rect(Screen.width - 110, Screen.height - 65, 200, 80), "" + currentMode, style1);
         }

         if (firstMode == fireMode.lançador || secondMode == fireMode.lançador)
         {
            GUI.Label(new Rect(Screen.width - 185, Screen.height - 95, 200, 80), "Projéteis:");
            GUI.Label(new Rect(Screen.width - 110, Screen.height - 95, 200, 80), "" + projectiles, style1);
         }
      }
   }

   IEnumerator FirstFireMode()
   {

      canSwicthMode = false;
      selected = false;
      weaponAnim.Rewind(switchAnim);
      weaponAnim.Play(switchAnim);
      aSource.clip = switchModeSound;
      aSource.Play();
      yield return new WaitForSeconds(0.6f);
      currentMode = firstMode;
      fireRate = fireRateFirstMode;
      selected = true;
      canSwicthMode = true;
   }

   IEnumerator SecondFireMode()
   {

      canSwicthMode = false;
      selected = false;
      aSource.clip = switchModeSound;
      aSource.Play();
      weaponAnim.Play(switchAnim);
      yield return new WaitForSeconds(0.6f);
      currentMode = secondMode;
      fireRate = fireRateSecondMode;
      selected = true;
      canSwicthMode = true;
   }

   void FireSemi()
   {
      if (reloading || bulletsLeft <= 0)
      {
         if (bulletsLeft == 0)
         {
            StartCoroutine(OutOfAmmo());
         }
         return;
      }

      if (Time.time - fireRate > nextFireTime)
         nextFireTime = Time.time - Time.deltaTime;

      while (nextFireTime < Time.time)
      {
         FireOneBullet();
         nextFireTime = Time.time + fireRate;
      }
   }

   void FireLauncher()
   {
      if (reloading || projectiles <= 0)
      {
         if (projectiles == 0)
         {
            StartCoroutine(OutOfAmmo());
         }
         return;
      }

      if (Time.time - fireRate > nextFireTime)
         nextFireTime = Time.time - Time.deltaTime;

      while (nextFireTime < Time.time)
      {
         FireProjectile();
         nextFireTime = Time.time + fireRate;
      }
   }

   IEnumerator FireBurst()
   {
      int shotCounter = 0;

      if (reloading || bursting || bulletsLeft <= 0)
      {
         if (bulletsLeft <= 0)
         {
            StartCoroutine(OutOfAmmo());
         }
         yield break;
      }

      if (Time.time - fireRate > nextFireTime)
         nextFireTime = Time.time - Time.deltaTime;

      if (Time.time > nextFireTime)
      {
         while (shotCounter < shotsPerBurst)
         {
            bursting = true;
            shotCounter++;
            if (bulletsLeft > 0)
            {
               FireOneBullet();
            }
            yield return new WaitForSeconds(burstTime);
         }
         nextFireTime = Time.time + fireRate;
      }
      bursting = false;
   }

   void FireShotgun()
   {
      if (reloading || bulletsLeft <= 0 || draw)
      {
         if (bulletsLeft == 0)
         {
            StartCoroutine(OutOfAmmo());
         }
         return;
      }

      int pellets = 0;

      if (Time.time - fireRate > nextFireTime)
         nextFireTime = Time.time - Time.deltaTime;

      if (Time.time > nextFireTime)
      {
         while (pellets < pelletsPerShot)
         {
            FireOnePellet();
            pellets++;
         }
         bulletsLeft--;
         nextFireTime = Time.time + fireRate;
      }

      weaponAnim.Rewind(fireAnim);
      weaponAnim.Play(fireAnim);

      aSource.PlayOneShot(soundFire, 1.0f);

      m_LastFrameShot = Time.frameCount;
      kickGO.localRotation = Quaternion.Euler(kickGO.localRotation.eulerAngles - new Vector3(kickUp, Random.Range(-kickSideways, kickSideways), 0));
   }

   void FireOneBullet()
   {
      if (nextFireTime > Time.time || draw)
      {
         if (bulletsLeft <= 0)
         {
            StartCoroutine(OutOfAmmo());
         }
         return;
      }

      Vector3 dir = gameObject.transform.TransformDirection(new Vector3(Random.Range(-0.01f, 0.01f) * triggerTime, Random.Range(-0.01f, 0.01f) * triggerTime, 1));
      Vector3 pos = transform.parent.position;

      if (Physics.Raycast(pos, dir, out hit, range, layerMask))
      {

         Vector3 contact = hit.point;
         Quaternion rot = Quaternion.FromToRotation(Vector3.up, hit.normal);
         float rScale = Random.Range(0.5f, 1.0f);

         if (hit.rigidbody)
            hit.rigidbody.AddForceAtPosition(force * dir, hit.point);

         if (hit.collider.tag == "Concrete")
         {
            GameObject concMark = Instantiate(Concrete, contact, rot) as GameObject;
            concMark.transform.localPosition += .02f * hit.normal;
            concMark.transform.localScale = new Vector3(rScale, rScale, rScale);
            concMark.transform.parent = hit.transform;

         }
         else if (hit.collider.tag == "Enemy")
         {
            Instantiate(Blood, contact, rot);
            hit.collider.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);

         }
         else if (hit.collider.tag == "Damage")
         {
            Instantiate(Blood, contact, rot);
            hit.collider.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);

         }
         else if (hit.collider.tag == "Wood")
         {
            GameObject woodMark = Instantiate(Wood, contact, rot) as GameObject;
            woodMark.transform.localPosition += .02f * hit.normal;
            woodMark.transform.localScale = new Vector3(rScale, rScale, rScale);
            woodMark.transform.parent = hit.transform;

         }
         else if (hit.collider.tag == "Metal")
         {
            GameObject metalMark = Instantiate(Metal, contact, rot) as GameObject;
            metalMark.transform.localPosition += .02f * hit.normal;
            metalMark.transform.localScale = new Vector3(rScale, rScale, rScale);
            metalMark.transform.parent = hit.transform;

         }
         else if (hit.collider.tag == "Dirt" || hit.collider.tag == "Grass")
         {
            GameObject dirtMark = Instantiate(Dirt, contact, rot) as GameObject;
            dirtMark.transform.localPosition += .02f * hit.normal;
            dirtMark.transform.localScale = new Vector3(rScale, rScale, rScale);
            dirtMark.transform.parent = hit.transform;

         }
         else if (hit.collider.tag == "Water")
         {
            Instantiate(Water, contact, rot);

         }
         else if (hit.collider.tag == "Usable")
         {
            hit.collider.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);

         }
         else
         {
            GameObject def = Instantiate(Untagged, contact, rot) as GameObject;
            def.transform.localPosition += .02f * hit.normal;
            def.transform.localScale = new Vector3(rScale, rScale, rScale);
            def.transform.parent = hit.transform;
         }
      }

      aSource.PlayOneShot(soundFire, fireVol);
      m_LastFrameShot = Time.frameCount;

      weaponAnim[fireAnim].speed = fireAnimSpeed;
      weaponAnim.Rewind(fireAnim);
      weaponAnim.Play(fireAnim);

      kickGO.localRotation = Quaternion.Euler(kickGO.localRotation.eulerAngles - new Vector3(kickUp, Random.Range(-kickSideways, kickSideways), 0));

      bulletsLeft--;
   }

   void FireOnePellet()
   {

      Vector3 dir = gameObject.transform.TransformDirection(new Vector3(Random.Range(-0.01f, 0.01f) * triggerTime, Random.Range(-0.01f, 0.01f) * triggerTime, 1));
      Vector3 pos = transform.parent.position;

      if (Physics.Raycast(pos, dir, out hit, range, layerMask))
      {

         Vector3 contact = hit.point;
         Quaternion rot = Quaternion.FromToRotation(Vector3.up, hit.normal);
         float rScale = Random.Range(0.5f, 1.0f);

         if (hit.rigidbody)
            hit.rigidbody.AddForceAtPosition(force * dir, hit.point);

         if (hit.collider.tag == "Concrete")
         {
            GameObject concMark = Instantiate(Concrete, contact, rot) as GameObject;
            concMark.transform.localPosition += .02f * hit.normal;
            concMark.transform.localScale = new Vector3(rScale, rScale, rScale);
            concMark.transform.parent = hit.transform;

         }
         else if (hit.collider.tag == "Enemy")
         {
            Instantiate(Blood, contact, rot);
            hit.collider.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);

         }
         else if (hit.collider.tag == "Damage")
         {
            Instantiate(Blood, contact, rot);
            hit.collider.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);

         }
         else if (hit.collider.tag == "Wood")
         {
            GameObject woodMark = Instantiate(Wood, contact, rot) as GameObject;
            woodMark.transform.localPosition += .02f * hit.normal;
            woodMark.transform.localScale = new Vector3(rScale, rScale, rScale);
            woodMark.transform.parent = hit.transform;

         }
         else if (hit.collider.tag == "Metal")
         {
            GameObject metalMark = Instantiate(Metal, contact, rot) as GameObject;
            metalMark.transform.localPosition += .02f * hit.normal;
            metalMark.transform.localScale = new Vector3(rScale, rScale, rScale);
            metalMark.transform.parent = hit.transform;

         }
         else if (hit.collider.tag == "Dirt" || hit.collider.tag == "Grass")
         {
            GameObject dirtMark = Instantiate(Dirt, contact, rot) as GameObject;
            dirtMark.transform.localPosition += .02f * hit.normal;
            dirtMark.transform.localScale = new Vector3(rScale, rScale, rScale);
            dirtMark.transform.parent = hit.transform;

         }
         else if (hit.collider.tag == "Water")
         {
            Instantiate(Water, contact, rot);

         }
         else if (hit.collider.tag == "Usable")
         {
            hit.collider.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);

         }
         else
         {
            GameObject def = Instantiate(Untagged, contact, rot) as GameObject;
            def.transform.localPosition += .02f * hit.normal;
            def.transform.localScale = new Vector3(rScale, rScale, rScale);
            def.transform.parent = hit.transform;
         }
      }
   }

   void FireProjectile()
   {
      if (projectiles < 1 || draw)
      {
         return;
      }

      float[] info = new float[2];
      info[0] = projectileSpeed;
      info[1] = projectileGravity;

      GameObject projectile = Instantiate(projectilePrefab, launchPosition.position, launchPosition.rotation) as GameObject;
      Projectile g = projectile.GetComponent<Projectile>();
      g.SetUp(info);

      weaponAnim[fireAnim].speed = fireAnimSpeed;
      weaponAnim.Rewind(fireAnim);
      weaponAnim.Play(fireAnim);

      projectiles--;

      if (reloadProjectile)
         StartCoroutine(ReloadLauncher());
   }

   /// <summary>
   /// When we have no ammo, call this
   /// </summary>
   IEnumerator OutOfAmmo()
   {
      if (reloading || playing) yield break;

      playing = true;
      aSource.PlayOneShot(soundEmpty, 0.3f);
      if (fireEmptyAnim != "")
      {
         weaponAnim.Rewind(fireEmptyAnim);
         weaponAnim.Play(fireEmptyAnim);
      }
      yield return new WaitForSeconds(0.2f);
      playing = false;

   }

   /// <summary>
   /// Reload RPG Launcher
   /// </summary>
   IEnumerator ReloadLauncher()
   {
      if (projectiles > 0)
      {
         wepManager.canSwitch = false;
         reloading = true;
         canSwicthMode = false;

         if (rocket != null)
            StartCoroutine(DisableProjectileRenderer());

         yield return new WaitForSeconds(0.5f);
         if (soundReloadLauncher)
            aSource.PlayOneShot(soundReloadLauncher);

         weaponAnim[reloadAnim].speed = reloadAnimSpeed;
         weaponAnim.Play(reloadAnim);

         yield return new WaitForSeconds(reloadTime);
         canSwicthMode = true;
         reloading = false;
         wepManager.canSwitch = true;
      }
      else
      {
         if (rocket != null && projectiles == 0)
         {
            rocket.enabled = false;
         }
      }
   }

   IEnumerator DisableProjectileRenderer()
   {
      rocket.enabled = false;
      yield return new WaitForSeconds(reloadTime / 1.5f);
      rocket.enabled = true;
   }

   void EnableProjectileRenderer()
   {
      if (rocket != null)
      {
         rocket.enabled = true;
      }
   }

   IEnumerator Reload()
   {
      if (reloading) yield break;

      if (ammoMode == Ammo.Magazines)
      {
         reloading = true;
         canSwicthMode = false;
         if (magazines > 0 && bulletsLeft != bulletsPerMag)
         {
            weaponAnim[reloadAnim].speed = reloadAnimSpeed;
            weaponAnim.Play(reloadAnim, PlayMode.StopAll);
            //weaponAnim.CrossFade(reloadAnim);
            aSource.PlayOneShot(soundReload);
            yield return new WaitForSeconds(reloadTime);
            magazines--;
            bulletsLeft = bulletsPerMag;
         }
         reloading = false;
         canSwicthMode = true;
         isFiring = false;
      }

      if (ammoMode == Ammo.Bullets)
      {
         if (magazines > 0 && bulletsLeft != bulletsPerMag)
         {
            if (magazines > bulletsPerMag)
            {
               canSwicthMode = false;
               reloading = true;
               weaponAnim[reloadAnim].speed = reloadAnimSpeed;
               weaponAnim.Play(reloadAnim, PlayMode.StopAll);
               //weaponAnim.CrossFade(reloadAnim);
               aSource.PlayOneShot(soundReload, 0.7f);
               yield return new WaitForSeconds(reloadTime);
               magazines -= bulletsPerMag - bulletsLeft;
               bulletsLeft = bulletsPerMag;
               canSwicthMode = true;
               reloading = false;
               yield break;
            }
            else
            {
               canSwicthMode = false;
               reloading = true;
               weaponAnim[reloadAnim].speed = reloadAnimSpeed;
               weaponAnim.Play(reloadAnim, PlayMode.StopAll);
               //weaponAnim.CrossFade(reloadAnim);
               aSource.PlayOneShot(soundReload);
               yield return new WaitForSeconds(reloadTime);
               var bullet = Mathf.Clamp(bulletsPerMag, magazines, bulletsLeft + magazines);
               magazines -= (bullet - bulletsLeft);
               bulletsLeft = bullet;
               canSwicthMode = true;
               reloading = false;
               yield break;
            }
         }
      }
   }

   IEnumerator DrawWeapon()
   {
      draw = true;
      wepCamera.fieldOfView = weaponFOV;
      canSwicthMode = false;
      aSource.clip = soundDraw;
      aSource.Play();

      weaponAnim[drawAnim].speed = drawAnimSpeed;
      weaponAnim.Rewind(drawAnim);
      weaponAnim.Play(drawAnim, PlayMode.StopAll);
      yield return new WaitForSeconds(drawTime);

      draw = false;
      reloading = false;
      canSwicthMode = true;
      selected = true;

   }

   void Deselect()
   {
      selected = false;
      mainCamera.fieldOfView = camFOV;
      transform.localPosition = hipPosition;
   }


}

o print não vai dar pq ja exclui a arma q eu tava tentando colocar, no console so aparecia isso que eu disse do nullreference e nada mais. se puder ajudar fico muito grato :DD
avatar
MeverPlays
MembroAvançado

Masculino PONTOS : 1334
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity.
Respeito as regras :

Ver perfil do usuário http://www.joltflip.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por George Lucas Vieira em Qua Set 07, 2016 12:11 am

Ué, como cê tá tentando fazer o script sem a arma?
Verifica lá se tá em Generic. Troque para Legacy...
avatar
George Lucas Vieira
MembroAvançado

Masculino PONTOS : 912
REPUTAÇÃO : 125
Idade : 14
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MeverPlays em Qua Set 07, 2016 12:15 am

George Lucas Vieira escreveu:Ué, como cê tá tentando fazer o script sem a arma?
Verifica lá se tá em Generic. Troque para Legacy...
Realmente estava em Generic.. troquei para Legacy como vc disse. E coincidentemente as armas que funcionam ja estavam marcadas como Legacy, mas, qual a diferença entre os 2? amanhã testo e conto aq o resultado..
avatar
MeverPlays
MembroAvançado

Masculino PONTOS : 1334
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity.
Respeito as regras :

Ver perfil do usuário http://www.joltflip.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por George Lucas Vieira em Qua Set 07, 2016 12:37 am

Generic prepara o modelo para ser utilizado pelo Mecanim.
Humanoid também prepara o modelo para ser utilizado pelo Mecanim, a diferença é que você pode multiplicar as animações para vários corpos.
Legacy prepara o modelo para ser utilizado pelo Animation.


Te aconselho a se adaptar com o Mecanim. É um pouco mais difícil de mexer mas empenha resultados muito melhores. Além disso, nunca se sabe até quando o Legacy vai continuar ai...
avatar
George Lucas Vieira
MembroAvançado

Masculino PONTOS : 912
REPUTAÇÃO : 125
Idade : 14
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

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