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:
COMO POSSO COLOCAR A CHUVA NO CENARIO TODO E FAZER COLIDIR
Dúvida sobre terrenos em 3D
[Duvida] Problema em relação ao transform.rotate
(Dúvida) Wheel Joint 2D Rodas saindo do pivo
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[Duvida]Relacionada a RayCast
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Error No Console
Ponto na tela
OBJETO INSTANCIANDO EM POSIÇÃO ERRADA
Transformar velocidade em forca
Sombra preta
Alguma alternativa para os JOINT do unity
Sistema de Sensibilidade Do Mouse X e Y!
Unity Congelando
Dúvida sobre jogo android...
For lista
PROBLEMA TEXTURA E TELA GAME
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Receber tiro(animação)
Limite de tela
O que vocês acham de um jogo com formato de capitulos?
Animacao da Colt
Problema com NetworkServer.spawn
[TUTORIAL] FAZENDO UM SITE PROFISSIONAL COMPLETO PARA SEU JOGO GRATIS
Pontos luminosos em objeto 3D
Procuro modelador para projeto similar à My summer Car
[TUTORIAL] Avião Script
Duvida Iluminação
PROCURO ANIMADOR + PROGRAMADOR
[ATUALIZAÇÃO] Projeto - Girl Blade
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
Avaliem (Meu cenário)!!
Ajuda com Script
Verificar cena anterior?
Verificar se game object está habilitado ou desabilitado
Colisão no terreno
[Duvida] - Como criar um botao de sair com mensage?
[RESOLVIDO] DUVIDA COM SCRIPT DE DANO POR TRIGER ENTER
QUER UMA PEQUENA GAMEPLAY DO MEU GAME?
[RESOLVIDO] Instanciar em Posição "Y" Especifica
Shop UI
[Duvida] Como carregar cenas aleatoriamente?
save game
Alguns modelos low poly
Fui mexer denovo na minha lixeira do mediafire e olha no que deu..
Faculdade de jogos digitais vale a pena?
GAMEPLAY DO JOGO 171 ESTILO GTA (não sou eu que estou fazendo)
Como Criar uma Loja Virtual e WebSite para Seu Jogo Gratis
[Resolvido]Tocar Audio ao Colidir com Tag Player
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO BETA)
Survive - atualização do jogo
Formação de Equipe Battle of Worlds
Pegar coisas do chao
Site Profissional Completo Gratis para Jogos
Como eu faço um "Sprint" para minha nave:
[DÚVIDA] APERTAR 2 VAI PRA PRÓXIMA MÚSICA, APERTAR 1 VOLTA A MÚSICA ANTERIOR
Site para Baixar Character em 3D
Cut Scene com video player
Só o networkIndetity é o suficiente para o que eu quero fazer? Como ele funciona?
O que acham dos meus modelos? (Prédios)
Como faz para colocar som nos passos do personagem?
[Pack de Modelos 3d] Kit Pau Pra Toda Obra [Low Poly]
Canvas UI
[Dúvida] tiro
[DUVIDA] Shader
[RESOLVIDO] Mais scripts ou mais linhas de codigo????
Photon Duvida
(RESOLVIDO)Ajuda na animação do Mixamo
[Duvida] Como dar play e pausar uma animacao??
Como criar um timer?
Sistema multiplayer por Salas
Vender ideia de jogo para desenvolvedora
FORMAÇÃO DE EQUIPE PARA JOGO MULTIPLAYER DE SOBREVIVENCIA
eu preciso de um script de contagem para o me jogo alguem pode me ajudar?
[Resolvido]Como pode ser feito um HUD?
Script sem erro, mas não funciona
Google VR
Ajuda sobre melhorar a Fricção no Wheel Collider
sombrancelha do mixamo
[RESOLVIDO]Oque significa "?"
[Duvida] NavMeshAgente se movendo muito rapido!
Projeto B
Script + Direção
Alguem quer ajudar em meu jogo???
[Resolvido] Como chamar uma void ou função, através de um botão.
[RESOLVIDO] Como subir escadas
[RESOLVIDO] Sistema de recarregamento Precário.
[Duvida] Com NavMesh;
[Duvida] Com LookAt
[Resolvido]Objeto não está sendo instanciado
[DUVIDA] - Pontuação e fim de jogo
Network Manager opção sumiu
[Resolvido] Colisores nao colidem!!
Como colocar dano no inimigo? e vida no player?
QUEM AI TA DISPOSTO A DESENVOLVER UM GAME EM EQUIPE??
[Resolvido]COMO CONSULTAR O PAINEL DE PREFERENÇIAS DA UNITY?
Alguém poderia me dizer o que estou fazendo de errado nesses scripts? (Vuforia SDK).
[RESOLVIDO] Como movimentar um objeto de um lado para o outro
Hoje à(s) 14:00
Hoje à(s) 13:54
Hoje à(s) 13:53
Hoje à(s) 13:45
Hoje à(s) 13:42
Hoje à(s) 13:40
Hoje à(s) 13:39
Hoje à(s) 13:37
Hoje à(s) 13:26
Hoje à(s) 13:24
Hoje à(s) 13:24
Hoje à(s) 13:21
Hoje à(s) 13:21
Hoje à(s) 13:18
Hoje à(s) 13:14
Hoje à(s) 13:13
Hoje à(s) 13:01
Hoje à(s) 12:57
Hoje à(s) 12:55
Hoje à(s) 12:53
Hoje à(s) 12:50
Hoje à(s) 12:20
Hoje à(s) 12:08
Hoje à(s) 12:04
Hoje à(s) 11:06
Hoje à(s) 7:45
Hoje à(s) 7:41
Hoje à(s) 7:40
Hoje à(s) 7:39
Hoje à(s) 7:38
Hoje à(s) 7:26
Ontem à(s) 16:21
Ontem à(s) 14:54
Ontem à(s) 13:56
Ontem à(s) 9:22
Ontem à(s) 8:59
Sab 27 Maio 2017 - 23:46
Sab 27 Maio 2017 - 20:50
Sab 27 Maio 2017 - 18:49
Sab 27 Maio 2017 - 18:45
Sab 27 Maio 2017 - 17:54
Sab 27 Maio 2017 - 17:39
Sab 27 Maio 2017 - 17:28
Sab 27 Maio 2017 - 17:08
Sab 27 Maio 2017 - 16:52
Sab 27 Maio 2017 - 16:46
Sab 27 Maio 2017 - 15:05
Sab 27 Maio 2017 - 14:50
Sab 27 Maio 2017 - 13:59
Sab 27 Maio 2017 - 13:45
Sab 27 Maio 2017 - 10:38
Sab 27 Maio 2017 - 1:59
Sab 27 Maio 2017 - 1:29
Sab 27 Maio 2017 - 0:37
Sex 26 Maio 2017 - 23:57
Sex 26 Maio 2017 - 23:13
Sex 26 Maio 2017 - 20:56
Sex 26 Maio 2017 - 20:24
Sex 26 Maio 2017 - 19:53
Sex 26 Maio 2017 - 19:30
Sex 26 Maio 2017 - 17:27
Sex 26 Maio 2017 - 17:17
Sex 26 Maio 2017 - 17:15
Sex 26 Maio 2017 - 16:28
Sex 26 Maio 2017 - 16:13
Sex 26 Maio 2017 - 14:42
Sex 26 Maio 2017 - 13:57
Sex 26 Maio 2017 - 13:50
Sex 26 Maio 2017 - 11:59
Sex 26 Maio 2017 - 11:49
Sex 26 Maio 2017 - 11:38
Sex 26 Maio 2017 - 9:26
Sex 26 Maio 2017 - 2:49
Sex 26 Maio 2017 - 2:35
Sex 26 Maio 2017 - 0:58
Qui 25 Maio 2017 - 22:49
Qui 25 Maio 2017 - 22:39
Qui 25 Maio 2017 - 22:03
Qui 25 Maio 2017 - 20:55
Qui 25 Maio 2017 - 20:51
Qui 25 Maio 2017 - 20:46
Qui 25 Maio 2017 - 17:54
Qui 25 Maio 2017 - 17:17
Qui 25 Maio 2017 - 15:08
Qui 25 Maio 2017 - 13:08
Qui 25 Maio 2017 - 11:51
Qui 25 Maio 2017 - 10:49
Qui 25 Maio 2017 - 9:39
Qui 25 Maio 2017 - 9:00
Qua 24 Maio 2017 - 23:31
Qua 24 Maio 2017 - 22:13
Qua 24 Maio 2017 - 21:57
Qua 24 Maio 2017 - 21:38
Qua 24 Maio 2017 - 20:23
Qua 24 Maio 2017 - 20:00
Qua 24 Maio 2017 - 17:51
Qua 24 Maio 2017 - 15:15
Qua 24 Maio 2017 - 14:44
Qua 24 Maio 2017 - 14:41
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
PauloFR
MarcosSchultz
MarcosSchultz
MarcosSchultz
bruxamissi
MarcosSchultz
MarcosSchultz
AndyShow
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
marcos4503
Ramon Davidson
als260502
Mic4el
dstaroski
dstaroski
dstaroski
dstaroski
dstaroski
dstaroski
Mic4el
Zecandy
thiagograssi
weslleyFx
zZAndersonZz
PauloFR
dstaroski
Unidade3d5
Gabriel César O
thiagograssi
bruxamissi
PauloFR
Callyde Jr
Mic4el
Mic4el
julioou
julioou
fecirineu
bruxamissi
glauco
thiagograssi
Dom3000
Mikeofcoji
fecirineu
rafaelllsd
PauloFR
AndyShow
hrr23
thiagograssi
DuViDoSo34
Gabriel César O
DuViDoSo34
Weverton Borges da Silva
aleksander700
Xurupitinha
dazentt55
LuizFixa3D
Zecandy
PauloFR
Callyde Jr
weslleyFx
JoelMJunior
hen000
rafaelllsd
thiagograssi
wender
Henrique Ramires
dazentt55
916anderson
Matrirxp
DuViDoSo34
julioou
Madness
felipefell
DuViDoSo34
DuViDoSo34
DuViDoSo34
DuViDoSo34
DuViDoSo34
thiagograssi
PauloFR
thiagograssi
Junim
Manawydan
Junim
marcos4503
WolfTheZelda
Games Indie

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 6 Set 2016 - 15:43

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 : 1085
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity, Design.
Respeito as regras :

Ver perfil do usuário http://www.joltflipgames.ml

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por George Lucas Vieira em Ter 6 Set 2016 - 15:59

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
Moderador

Masculino PONTOS : 674
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 6 Set 2016 - 22:03

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 : 1085
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity, Design.
Respeito as regras :

Ver perfil do usuário http://www.joltflipgames.ml

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por weslleyFx em Ter 6 Set 2016 - 23:08

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

Masculino PONTOS : 2454
REPUTAÇÃO : 541
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 6 Set 2016 - 23:45

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 : 1085
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity, Design.
Respeito as regras :

Ver perfil do usuário http://www.joltflipgames.ml

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MarcosSchultz em Ter 6 Set 2016 - 23:59

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 : 8755
REPUTAÇÃO : 1350
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

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MeverPlays em Qua 7 Set 2016 - 0:02

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 : 1085
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity, Design.
Respeito as regras :

Ver perfil do usuário http://www.joltflipgames.ml

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por MarcosSchultz em Qua 7 Set 2016 - 0:03

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

Precisamos do script

precisamos das prints
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8755
REPUTAÇÃO : 1350
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

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por George Lucas Vieira em Qua 7 Set 2016 - 0:05

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
Moderador

Masculino PONTOS : 674
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 7 Set 2016 - 0:09

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 : 1085
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity, Design.
Respeito as regras :

Ver perfil do usuário http://www.joltflipgames.ml

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por George Lucas Vieira em Qua 7 Set 2016 - 0:11

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

Masculino PONTOS : 674
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 7 Set 2016 - 0:15

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 : 1085
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity, Design.
Respeito as regras :

Ver perfil do usuário http://www.joltflipgames.ml

Voltar ao Topo Ir em baixo

DÚVIDA Re: PROBLEMA COM ANIMATION

Mensagem por George Lucas Vieira em Qua 7 Set 2016 - 0:37

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
Moderador

Masculino PONTOS : 674
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