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:
Mostrar Pontuação No Game Over
Inventario e craft estilo ark
Sistema de Dialogs + Assets
Mudar de scene multiplayer?
Como eu faço um ontrigger "invertido"?
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
Raycast em circulos(point to ckick)
COMO FAZ PARA FAZER 2 TERRAINS TOTALMENTE DIFERENTES DO OUTRO?
Unity não reconhece meu celular
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
MultiPlayer Unity Para Android!
Props Animations Asset
Mostrar Pontuação no game over
Meu script de ser morto atropelado não funciona
Terminei o meu jogo, mas algo deu errado.
[ASSET] Facilitação de controle de objetos
Problema em listar salas
Ranking com nome
Novo jogo - Stackx
Segurança no Unity
Tem um modo facil para esperar tanto tempo e ocorrer uma açao?
[TUTORIAL] Entrar no carro estilo GTA
[RESOLVIDO] Tem como melhorar a colisao? os objetos entram nos outros, caem do chao ,etc..
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
DÚVIDA RECRIAR EFEITO NA UNITY
Me ofereço como escritor
Como adicionar uma força oposta a colisão no rigidbody?
Ajuda com script
[Dúvida]Erro error CS1525: Unexpected symbol 'u' em script
[Resolvido] É possível usar a unity com outros programas ? (config do pc na dúvida ;-; )
Dano no inimigo
[Dúvida]Erro "UnityEngine.AI.NavMeshAgent.Stop()' is obsolete" como resolver ?
[Dúvida]Erro "Building to the assets folder is not allowed" ao tentar fazer build
[Equipe]Preciso de ajuda de um programador
CAMERA ENTRANDO NA PAREDE
como posso fazer um corpo perder a animação
Teste De Multiplayer
Como adicionar uma força oposta a colisão no rigidbody?
Usar o unity sem internet
Cenário jogo Endless Running
Photon Unity como funcina?
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
UM FANTASMA APARECEU NO MEU JOGO.
Como mudar cor do botao UI
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Como sincronizar objetos do client para o host
Em breve EDU_animal-controle
Preciso de level designers com conhecimento avançado no Blender
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[Duvida] Script pegar itens
Um processador de 2 nucleos versus um de 8 nucleos tem diferença na Unity?
SALVAR JOGO AUTOMATICAMENTE
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Como faço para deixar o objeto transparente ao passar atraz?
Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Existe Alguma VOID que atualize menos que a update
Movimento dos seios e cabelo
[TUTORIAL] Barra de VIDA / HP contínua
[Modelo]Modelo Com osso[Modelo]
[TUTORIAL] Mensagem aparecer na tela conforme a distância do jogador (Unity 5)
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Não aparece os eixos na animação
Tutorial de Achar coisas no projeto por script e poder setalas nos scripts
Da para fazer anti-hack com o photon??
Como achar um item no projeto ?
Será que um dia,vai existir uma versão em PT-BR da unity?
Movimentação igual ao do battlerite
Existe um limite da quantidade de scripts que você poder fazer na unity?
aVork - Física realista para veículos
Script continua funcionando mesmo depois de desabilitado
procurar jogador por nome da string
[FPSController]Verificar a velocidade de um rigidbody
Erro com script de inventario.
BoxCollidernão acompanha Animação
Mudar o SetActive ao clicar em um GameObject.
[RESOLVIDO]Multiplayer Life?
Sistema de jogo interativo
Programador de inventario e craft.
RigidBody2D not found?
Passar de estado no meio da animação
como mudar as distancias dos lodGrup por script?
[BUG] Laucher da unity aparece algumas pastas!
Erro de script de lobby photon.
Como achar um item no projeto ?
Sistema de troca de equipamento
Tem como fazer imagens andando pela tela?
Impulso com Swipe
Sistema de telefone
audiosource minima distancia e maxima distancia nao funciona
[MODELO]--ARMA--[3D MODEL]
Metodos/comandos/referencia desaparecem.
Sistema de dia e noite bugando outras coisas quando fica anoite
Como faço fontes novas para letras na unity?
duvida WayPoints (ou qualquer outra coisa que me ajude)
face do objeto ficando invisivel na unity.
Instanciando GameObject filho
Como faço para dar break através de um loop de explosões, jogo estilo bomberman.
Varios Destinos SetDestination
Hoje à(s) 10:35 pm
Hoje à(s) 9:13 pm
Hoje à(s) 8:33 pm
Hoje à(s) 6:32 pm
Hoje à(s) 5:50 pm
Hoje à(s) 4:49 pm
Hoje à(s) 3:24 pm
Hoje à(s) 1:30 pm
Hoje à(s) 12:41 pm
Hoje à(s) 11:29 am
Hoje à(s) 10:30 am
Hoje à(s) 7:29 am
Ontem à(s) 10:05 pm
Ontem à(s) 7:22 pm
Ontem à(s) 5:10 pm
Ontem à(s) 4:43 pm
Ontem à(s) 3:20 pm
Ontem à(s) 2:01 pm
Ontem à(s) 11:46 am
Ontem à(s) 8:33 am
Ontem à(s) 12:40 am
Ontem à(s) 12:31 am
Qui Nov 16, 2017 11:18 pm
Qui Nov 16, 2017 11:12 pm
Qui Nov 16, 2017 10:48 pm
Qui Nov 16, 2017 10:47 pm
Qui Nov 16, 2017 10:46 pm
Qui Nov 16, 2017 10:20 pm
Qui Nov 16, 2017 10:15 pm
Qui Nov 16, 2017 10:09 pm
Qui Nov 16, 2017 9:52 pm
Qui Nov 16, 2017 8:13 pm
Qui Nov 16, 2017 8:10 pm
Qui Nov 16, 2017 8:07 pm
Qui Nov 16, 2017 7:56 pm
Qui Nov 16, 2017 5:39 pm
Qui Nov 16, 2017 5:21 pm
Qui Nov 16, 2017 3:33 pm
Qui Nov 16, 2017 2:56 pm
Qui Nov 16, 2017 1:37 pm
Qui Nov 16, 2017 1:20 pm
Qui Nov 16, 2017 11:26 am
Qui Nov 16, 2017 11:24 am
Qua Nov 15, 2017 9:32 pm
Qua Nov 15, 2017 9:00 pm
Qua Nov 15, 2017 7:05 pm
Qua Nov 15, 2017 6:05 pm
Qua Nov 15, 2017 2:09 pm
Qua Nov 15, 2017 10:35 am
Qua Nov 15, 2017 2:24 am
Ter Nov 14, 2017 9:54 pm
Ter Nov 14, 2017 9:53 pm
Ter Nov 14, 2017 6:41 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 1:45 pm
Ter Nov 14, 2017 12:00 pm
Seg Nov 13, 2017 3:12 pm
Seg Nov 13, 2017 8:27 am
Dom Nov 12, 2017 10:09 pm
Dom Nov 12, 2017 9:55 pm
Dom Nov 12, 2017 8:52 pm
Dom Nov 12, 2017 6:43 pm
Dom Nov 12, 2017 5:02 pm
Dom Nov 12, 2017 3:23 pm
Dom Nov 12, 2017 2:15 pm
Dom Nov 12, 2017 1:43 pm
Dom Nov 12, 2017 1:25 pm
Dom Nov 12, 2017 11:35 am
Dom Nov 12, 2017 12:13 am
Sab Nov 11, 2017 10:11 pm
Sab Nov 11, 2017 9:44 pm
Sab Nov 11, 2017 9:40 am
Sex Nov 10, 2017 7:52 pm
Sex Nov 10, 2017 7:08 pm
Sex Nov 10, 2017 6:59 pm
Sex Nov 10, 2017 6:58 pm
Sex Nov 10, 2017 6:09 pm
Sex Nov 10, 2017 6:00 pm
Sex Nov 10, 2017 5:22 pm
Sex Nov 10, 2017 2:58 pm
Sex Nov 10, 2017 2:31 pm
Sex Nov 10, 2017 12:29 pm
Sex Nov 10, 2017 12:00 pm
Qui Nov 09, 2017 11:47 pm
Qui Nov 09, 2017 11:28 pm
Qui Nov 09, 2017 8:46 pm
Qui Nov 09, 2017 8:26 pm
Qui Nov 09, 2017 8:08 pm
Qui Nov 09, 2017 5:59 pm
Qui Nov 09, 2017 5:29 pm
Qui Nov 09, 2017 1:58 pm
Qui Nov 09, 2017 12:39 pm
Qui Nov 09, 2017 12:29 pm
Qui Nov 09, 2017 11:16 am
Qui Nov 09, 2017 9:08 am
Qui Nov 09, 2017 8:03 am
Qui Nov 09, 2017 4:08 am
Qui Nov 09, 2017 12:17 am
jamaisfiih
PatifeCraft
Madness
Callyde Jr
Zecandy
rafaelllsd
Ronnisz
DUT
recagonlei
Phph09
Phph09
Phph09
jamaisfiih
Zecandy
Josivaldo Augusto
BRGC
MRX
recagonlei
recagonlei
sabbath
recagonlei
recagonlei
luiz12345
dstaroski
rafaelllsd
recagonlei
rafaelllsd
recagonlei
recagonlei
recagonlei
recagonlei
PauloFR
PauloFR
PauloFR
Diego Felix
ronito
ronito
Phph09
recagonlei
jamaisfiih
MRX
dstaroski
dstaroski
rafaelllsd
ronito
Phph09
Unidade3d5
AnderGames
Phph09
Giwn
DUT
Zecandy
Callyde Jr
natanael.olimpio
natanael.olimpio
Jonny
recagonlei
stratengine
Phph09
felipehobs1
Unoog
HPGBR
felipehobs1
rafaelllsd
PatifeCraft
rafaelllsd
Phph09
Phph09
Encracker
dimmuo
Encracker
Unidade3d5
BRGC
Callyde Jr
Phph09
raulframos
Callyde Jr
GameLACK
Fagner
niovery
BRGC
Dom3000
fabriciorsz34
PatifeCraft
Dom3000
Arqueiro Deckster
Phph09
Phph09
richardson
felipehobs1
joabr
Phph09
DUT
DUT
Zecandy
RW.
junkflash30
Emanuel
natanael.olimpio

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 : 1259
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 : 848
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 : 1259
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 : 2826
REPUTAÇÃO : 600
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 : 1259
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 : 9782
REPUTAÇÃO : 1684
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 : 1259
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 : 9782
REPUTAÇÃO : 1684
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 : 848
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 : 1259
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 : 848
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 : 1259
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 : 848
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