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:
Compilar pra Android
OBJETOS FICAM INVISÍVEIS NA CENA
Como não perder qualidade nas texturas 2d?
Não estou conseguindo criar uma conta na unity?
[TUTORIAL] Sistema de inventário Sobrevivência
Seguir um raio no raycast a partir do ponto da tela clicado
Deixar botão invisível parecendo toque na região da tela
Baixos Brasil - Jogo de Carro Brasileiro!
Contar a quantidade total instanciados em um array
[RESOLVIDO] Contar pontos não faz a soma e tambem não atualiza
UNITY ADS
1º SDP (Seleção de Projetos) - Games Indie 2017
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
IDB JAM #10
O software Revit é uma boa ferramenta para criação de cenários para unity?
[TUTORIAL] Lanterna
como deixar ativos os botões Escape/Home/Menu?
MOVIMENTAÇÃO EM 8 DIREÇÕES.
Auto-Complete do Visual Studios
[TUTORIAL] Mostrar Data e Hora atual do Computador em um texto
Estamos precisando de um Programador que Programe em C# para Unity
Verificar inventario
[Teste]Testem Meu Jogo - Geometry Destroy Beta
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[TUTORIAL] Como fazer uma Barra de Loading na Unity 5
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Detectar Hit
[DUVIDA] Trocar botoes no teclado por joystick UI
Me ajudem, com a criação de terreno !
[RESOLVIDO]animações não sendo reproduzidas
DUVIDA : Raycast
Como fazer Escudo seguir a movimentação do Player?
Como fazer para o tiro ir para a direção onde o cano está apontado e não para cima
Unity Ads ou AdMob!
Render texture invertida
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
Como locomover um trem
Pequeno problema com no Debug
Building System
TELEPORT 2D
Adicionar linhas no TXT pelo codigo
Formação De Equipe Pra Criar RPG
Personagem morrer ao cair da tela
Deixar objeto invisível.
Divulgaçao de Battle of Worlds
[Resolvido]Problema nesse pequeno script
Movimentação
Puzzle para jogo de terror , abrir portas etc..
Script para mudar posição do personagem
Como saber quando minha animação terminou?
system inventory , craft
ajuda
Aplicar roupa no Rig do blender...
Project Valley of Trees - Primeiro nome que faz sentido KK
A.S TRUCK
Som de correr não para de tocar
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Como Colocar Pontuação Final na GUI de GAME OVER
Unity 2017 Iluminação RealTime VS Baked [Comparaçâo]
Programador para equipe
Da pra colocar sisteminha em um jogo da unity pra trolar quem for piratear o jogo?
Como colocar musicas em sequencia para tocar?
Trajetória da bala com predição
Ajudinha com Bug
[RESOLVIDO] Poblema com Rigidbody
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Erro ao bulidar para Windows(.exe)
Mudar a gravidade com rotação (sensores do smartphone)
Problemas na detecção de colisão
Trabalhar simultaneamente na Unity
Movimetaçao infinita
(duvida)pq isso acontece com o inimigo?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[DUVIDA] Como alterar a intensidade do ChromaticAberration do PostProcessing?
Joystick VR não funciona no ios
Problema na minha animação feita na Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
IA para inimigo seguir o jogador ( Plataforma )
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Como Limitar Spawn de Hordas
Desmembramento
Exemplo de UI com abas - utilizando toggles e toggle group.
Ajuda Blender
Quando Instancio botão ele não aparece no canvas
Sistema de pesca 2D
Metroidvania - procuro membros
Criação de Update para Seus jogos?
Blender, animação + Unity
Preciso de alguém que desenvolva Craft, e Inventario com sistema de Bolsas, Pago bem
[MODELADOR] Procurando Projetos
Carákas que Tops WO.OW
Anexar GameObject por scrit
Como cria um sistema de seve game
Efeito de Audio
Bug de sumir todas as modelagens 3D na unity 2017
Quero fazer minha propria lens flare
Menu para selecao de cena
Dificuldades com programação no Unity 5 2D
Ontem à(s) 11:00 pm
Ontem à(s) 10:46 pm
Ontem à(s) 10:11 pm
Ontem à(s) 9:22 pm
Ontem à(s) 7:43 pm
Ontem à(s) 6:07 pm
Ontem à(s) 5:25 pm
Ontem à(s) 4:49 pm
Ontem à(s) 3:57 pm
Ontem à(s) 2:08 pm
Ontem à(s) 11:58 am
Ontem à(s) 8:52 am
Ontem à(s) 2:14 am
Ontem à(s) 12:19 am
Ontem à(s) 12:13 am
Sex Set 22, 2017 11:50 pm
Sex Set 22, 2017 11:24 pm
Sex Set 22, 2017 10:10 pm
Sex Set 22, 2017 10:09 pm
Sex Set 22, 2017 9:57 pm
Sex Set 22, 2017 9:53 pm
Sex Set 22, 2017 9:49 pm
Sex Set 22, 2017 8:27 pm
Sex Set 22, 2017 8:17 pm
Sex Set 22, 2017 6:57 pm
Sex Set 22, 2017 6:46 pm
Sex Set 22, 2017 6:44 pm
Sex Set 22, 2017 6:41 pm
Sex Set 22, 2017 4:12 pm
Sex Set 22, 2017 1:35 pm
Sex Set 22, 2017 1:09 pm
Sex Set 22, 2017 12:29 pm
Sex Set 22, 2017 12:22 pm
Qui Set 21, 2017 10:03 pm
Qui Set 21, 2017 9:37 pm
Qui Set 21, 2017 9:36 pm
Qui Set 21, 2017 7:17 pm
Qui Set 21, 2017 5:37 pm
Qui Set 21, 2017 3:54 pm
Qui Set 21, 2017 12:19 pm
Qui Set 21, 2017 12:17 pm
Qui Set 21, 2017 9:00 am
Qua Set 20, 2017 9:57 am
Qua Set 20, 2017 7:07 am
Ter Set 19, 2017 11:53 pm
Ter Set 19, 2017 10:15 pm
Ter Set 19, 2017 8:34 pm
Ter Set 19, 2017 7:40 pm
Ter Set 19, 2017 4:29 pm
Ter Set 19, 2017 12:14 pm
Ter Set 19, 2017 10:55 am
Ter Set 19, 2017 10:26 am
Ter Set 19, 2017 8:21 am
Ter Set 19, 2017 2:42 am
Seg Set 18, 2017 10:20 pm
Seg Set 18, 2017 9:16 pm
Seg Set 18, 2017 8:40 pm
Seg Set 18, 2017 8:39 pm
Seg Set 18, 2017 8:08 pm
Seg Set 18, 2017 2:22 pm
Seg Set 18, 2017 12:15 pm
Seg Set 18, 2017 9:33 am
Seg Set 18, 2017 8:21 am
Seg Set 18, 2017 12:59 am
Dom Set 17, 2017 5:04 pm
Dom Set 17, 2017 3:45 pm
Dom Set 17, 2017 10:49 am
Sab Set 16, 2017 11:18 pm
Sab Set 16, 2017 5:57 pm
Sab Set 16, 2017 4:10 pm
Sab Set 16, 2017 3:05 pm
Sab Set 16, 2017 2:23 pm
Sab Set 16, 2017 12:40 pm
Sab Set 16, 2017 12:16 pm
Sab Set 16, 2017 10:17 am
Sab Set 16, 2017 9:53 am
Sab Set 16, 2017 9:26 am
Sab Set 16, 2017 9:10 am
Sex Set 15, 2017 11:51 pm
Sex Set 15, 2017 8:27 pm
Sex Set 15, 2017 7:27 pm
Sex Set 15, 2017 6:17 pm
Sex Set 15, 2017 3:08 pm
Sex Set 15, 2017 11:19 am
Sex Set 15, 2017 9:43 am
Qui Set 14, 2017 11:50 pm
Qui Set 14, 2017 1:55 pm
Qui Set 14, 2017 12:13 pm
Qui Set 14, 2017 10:07 am
Qua Set 13, 2017 9:52 pm
Ter Set 12, 2017 10:33 pm
Ter Set 12, 2017 10:21 pm
Ter Set 12, 2017 9:34 pm
Ter Set 12, 2017 8:52 pm
Ter Set 12, 2017 7:05 pm
Ter Set 12, 2017 6:53 pm
Ter Set 12, 2017 6:51 pm
Ter Set 12, 2017 3:04 pm
Ter Set 12, 2017 2:04 pm
Gabriel César CORINTHIANS
osiasbezerra
LucasRangel
UnityDeveloper
Phph09
Phph09
g
Duarte
Jmspp
Jmspp
guimaraf
LukkaFA
HeroSword
dimmuo
André Gomes
walibaka
Weslley
Weslley
Weslley
JorgeLuizxd
Weslley
Weslley
dstaroski
dstaroski
raulframos
MarcosSchultz
MarcosSchultz
MarcosSchultz
EndStarsProgramming2
Phph09
Phph09
RobinF
Jmspp
Duarte
g
Unidade3d5
Zecandy
ManoTrevor
AndyShow
Weslley
Weslley
Bruno
Bruno
GabriG07
Dom3000
g
Weslley
Zecandy
Weslley
artplayer
PatifeCraft
Lteo
Fagner
Madness
PatifeCraft
dstaroski
eduu10
JorgeLuizxd
MateusWTP
Brunotrinkss
guimaraf
Weslley
guimaraf
ManoTrevor
PedroL123
dstaroski
GabriG07
Brgs886
Madness
Fagner
PedroL123
glauco
Callyde Jr
JorgeLuizxd
Henrique Ramires
Weslley
Weslley
Weslley
Weslley
Weslley
Weslley
916anderson
rafaelllsd
Fagner
Fagner
rafaelllsd
Carlin
artplayer
Ronnisz
Jhonatham1
mrariel2011
AndyShow
Fagner
PatifeCraft
AndyShow
AndyShow
AndyShow
Alessandra Matheus
Lteo

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

Ver perfil do usuário http://www.joltflip-games.ml

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
Moderador

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

Ver perfil do usuário http://www.joltflip-games.ml

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

Ver perfil do usuário http://www.joltflip-games.ml

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

Ver perfil do usuário http://www.joltflip-games.ml

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 : 9675
REPUTAÇÃO : 1666
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
Moderador

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

Ver perfil do usuário http://www.joltflip-games.ml

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
Moderador

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

Ver perfil do usuário http://www.joltflip-games.ml

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
Moderador

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