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:
Criar jogo estilo clash of clans
[AWP CS-GO] A PEDIDO DE UM Fã MEU
[Ajuda] Third Person subir degrau
NavMeshAgent não aparece no script
Script para sistema de genética
Adicionar arma em uma animação do Mixamo
[____TÓPICO LIVRE____] FALE O QUE QUISER
Galera?, Vamos Trocar umas Musicas Favoritas?
Meu rpg Lendarios
[Duvida]Centralizar Cursor
Script de Spawn Aleatório
[TUTORIAL] SISTEMA DE TREM.
[Modelo 3d] Machadinha
Enabling or adding a Renderer during rendering; this is not allowed
[TUTORIAL] Importando animação do mixamo para Unity3d.
Dúvidas na estrutura de puzzle.
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Alguem que Conhece boas musicas para um game de suspense
É possivel aumentar a renderização de distancia da câmera?
Trocar Position Por Rotation
[RESOLVIDO] Script mira mouse?
Como fazer o personagem virar a cabeça junto com a camera, em jogo de terceira pessoa?
Check-in no facebook dentro da Unity
Salvar vida do player por tempo
[TUTORIAL] Sistema de escolha de personagens
character collide
[Socorro] Deu Um Erro Aqui e Eu Acho q Fiz Tudo Certo.
[Asset] Efeitos Realistas Pack V3 + Download
[Duvida]Como pegar todos os arquivos de uma pasta.
Tutorial PassarValor entre Scenas
Modelo HK SL8 (arma)
Compilar para Android
Problema com script para joystick virtual
CÂMERA ORBITAL PARA ANDROID
Mudar de cana ao clicar numa tecla
Pack de arvores Lowpoly
[TUTORIAL] Banco de dados || MySQL
Mira de Third Person Shooter
Preciso de integrantes!
problema para acessar arquivos da pasta StreamingAssets
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Cenários Espaciais vs Escala
RESTAURAR A POSIÇÃO DO CARRO
-[COMO FAÇO O TOUCH PAD DO UNITY MOVER MINHA CAMERA?]-
-[ COMO FAÇO PARA MOVER UM OBJ NO EIXO "Y" COM UM BOTÃO? ]-
Spotlight Otimizada para Android
Problema em criar tiros múltiplos
Modelo AK-12 (Arma)
Clicar no botão
Alguém pode me indicar um site de tutorial de c# sem ser em videos
A.S TRUCK
[Tutorial]C# 1 variáveis.
Audio Player C#
[Duvida] NN consigo importar um asset
Qual o melhor pra vcs ?
TROCAR RODAS DO CARRO NA OFICINA
[Terrorista] Avaliem ae galerinha!
[Tutorial] Script de um animal!!!
[Ajuda]Apenas um simples favorzinho que vai me ajudar muito
ANIMAÇÃO DE TIRO NO UNITY
touch botão sair som
Problema com player e animação
[TUTORIAL] Multiplayer global em múltiplos dispositivos
[TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.
como q eu faço quando aperto um botão UI Aparece outro Canvas ?
Salvar dados do player ao trocar de cenas
Blender Duvida
(ATUALIZADO) Demo Jogo para testes...(ANDROID)
Erro
[ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais
[Dúvida] Erro ao tentar compilar jogo para android
Quais são as ferramentas que as grandes empresas usam para fazer o mult-player na unity?
Script para salva o jogo?
[____FÓRUM SEM PROPAGANDAS____]
Menu Marcos Não Fuinciona Em Android !
Micro escala
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Ajuda em animação mira
[Em teste] Jogo sem nome :/
como saber a versao que coloco em meu game
Nao quero um script novo quero aprender onde errei
Asset Architecture
[TUTORIAL] Sistema COMPLETO de câmeras
[Duvida] Como fasso para mover o objeto pra frente sempre que apertar w
Duvida sobre camera do controlador
TESTE inimigo anda por um trajeto definido, para ao ser iluminado, e segue seu caminho
MULTIPLAYER LAN
[____REGRAS DO FÓRUM____]
Duvida com NavMesh AJUDAAA
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Dúvida de publicação
[TUTORIAL] Arrastar Objetos com o mouse
COMO INSTANCIAR OBJETOS EM ANGULAÇÃO
Marcos, faz um tutorial de como ganhar dinheiro em um Jogo Unity para PC
Versão Unity
[TUTORIAL] Fazer um VOLANTE com UI, para Android
como usar o script de menu no android
[Duvida]Como instanciar um objeto da maneira descrita na mensagem abaixo.
Hoje à(s) 10:45 pm
Hoje à(s) 10:21 pm
Hoje à(s) 9:55 pm
Hoje à(s) 9:18 pm
Hoje à(s) 8:29 pm
Hoje à(s) 8:04 pm
Hoje à(s) 8:00 pm
Hoje à(s) 5:25 pm
Hoje à(s) 4:44 pm
Hoje à(s) 4:22 pm
Hoje à(s) 1:00 pm
Hoje à(s) 12:51 pm
Hoje à(s) 9:52 am
Hoje à(s) 9:50 am
Hoje à(s) 1:06 am
Ontem à(s) 10:09 pm
Ontem à(s) 10:09 pm
Ontem à(s) 9:21 pm
Ontem à(s) 8:56 pm
Ontem à(s) 8:49 pm
Ontem à(s) 8:39 pm
Ontem à(s) 8:24 pm
Ontem à(s) 8:20 pm
Ontem à(s) 7:44 pm
Ontem à(s) 7:24 pm
Ontem à(s) 7:05 pm
Ontem à(s) 6:19 pm
Ontem à(s) 6:10 pm
Ontem à(s) 5:12 pm
Ontem à(s) 3:52 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:23 pm
Ontem à(s) 12:06 pm
Ontem à(s) 11:47 am
Ontem à(s) 10:54 am
Ontem à(s) 9:28 am
Ontem à(s) 2:07 am
Sab Abr 22, 2017 11:30 pm
Sab Abr 22, 2017 10:38 pm
Sab Abr 22, 2017 7:22 pm
Sab Abr 22, 2017 5:17 pm
Sab Abr 22, 2017 5:00 pm
Sab Abr 22, 2017 4:56 pm
Sab Abr 22, 2017 3:31 pm
Sab Abr 22, 2017 3:27 pm
Sab Abr 22, 2017 2:09 pm
Sab Abr 22, 2017 12:47 pm
Sab Abr 22, 2017 11:22 am
Sab Abr 22, 2017 11:19 am
Sab Abr 22, 2017 11:10 am
Sab Abr 22, 2017 12:29 am
Sex Abr 21, 2017 11:44 pm
Sex Abr 21, 2017 10:12 pm
Sex Abr 21, 2017 9:59 pm
Sex Abr 21, 2017 9:50 pm
Sex Abr 21, 2017 8:59 pm
Sex Abr 21, 2017 7:25 pm
Sex Abr 21, 2017 6:17 pm
Sex Abr 21, 2017 3:07 pm
Sex Abr 21, 2017 1:43 pm
Sex Abr 21, 2017 1:31 pm
Sex Abr 21, 2017 12:01 pm
Sex Abr 21, 2017 11:46 am
Sex Abr 21, 2017 11:32 am
Sex Abr 21, 2017 10:15 am
Sex Abr 21, 2017 5:46 am
Sex Abr 21, 2017 1:49 am
Qui Abr 20, 2017 11:45 pm
Qui Abr 20, 2017 11:37 pm
Qui Abr 20, 2017 9:57 pm
Qui Abr 20, 2017 8:42 pm
Qui Abr 20, 2017 8:38 pm
Qui Abr 20, 2017 8:34 pm
Qui Abr 20, 2017 8:21 pm
Qui Abr 20, 2017 8:15 pm
Qui Abr 20, 2017 7:40 pm
Qui Abr 20, 2017 1:08 pm
Qui Abr 20, 2017 1:03 pm
Qui Abr 20, 2017 12:58 pm
Qui Abr 20, 2017 12:56 pm
Qui Abr 20, 2017 12:51 pm
Qui Abr 20, 2017 8:56 am
Qua Abr 19, 2017 7:19 pm
Qua Abr 19, 2017 7:17 pm
Qua Abr 19, 2017 5:19 pm
Qua Abr 19, 2017 3:09 pm
Qua Abr 19, 2017 1:24 pm
Qua Abr 19, 2017 9:23 am
Qua Abr 19, 2017 2:28 am
Qua Abr 19, 2017 2:26 am
Qua Abr 19, 2017 2:24 am
Qua Abr 19, 2017 2:20 am
Qua Abr 19, 2017 2:14 am
Qua Abr 19, 2017 2:12 am
Qua Abr 19, 2017 2:10 am
Qua Abr 19, 2017 2:07 am
Qua Abr 19, 2017 2:02 am
Qua Abr 19, 2017 1:50 am
Qua Abr 19, 2017 1:17 am
thiagograssi
Gabriel César O
Zecandy
xXGianlucksXx
DuViDoSo34
lelouchsdky
weslleyFx
zZAndersonZz
zZAndersonZz
DuViDoSo34
rafaelllsd
rafaelllsd
PauloFR
dstaroski
Hardencio
hbesm
cody0033
DuViDoSo34
Eric Vinicius
HeF Soft
Callyde Jr
Callyde Jr
Hardencio
Callyde Jr
HeF Soft
mtmateus
DuViDoSo34
weslleyFx
Matrirxp
Callyde Jr
DuViDoSo34
Ále Kauvy
dstaroski
HeF Soft
dstaroski
Mic4el
NyanHeavyBR
916anderson
cody0033
erick.q.faria
MarcosSchultz
JohnSantosGamer
rafaelllsd
MrTFGamer1
MrTFGamer1
IanLuan
JailtonUnity
DuViDoSo34
weslleyFx
weslleyFx
Gabriel César O
Strogonoff
Matrirxp
JailtonUnity
PauloFR
PauloFR
thzin
sabbath
dstaroski
PauloFR
deikson
iagokennedyy
JailtonUnity
DuViDoSo34
John Rambo
Callyde Jr
Dom3000
iagokennedyy
WiredD
Ronmaster
JailtonUnity
artplayer
Callyde Jr
MarcosSchultz
HeF Soft
JohnSantosGamer
Gabriel César O
Gabriel César O
deikson
PauloFR
Encracker
weslleyFx
Callyde Jr
PauloFR
MarcosSchultz
PauloFR
Giulyo
JailtonUnity
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

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 : 1051
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 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 : 639
REPUTAÇÃO : 124
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 : 1051
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 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
weslleyFx
Moderador

Masculino PONTOS : 2361
REPUTAÇÃO : 518
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 : 1051
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 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 : 8433
REPUTAÇÃO : 1248
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 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 : 1051
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 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 : 8433
REPUTAÇÃO : 1248
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 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 : 639
REPUTAÇÃO : 124
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 : 1051
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 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 : 639
REPUTAÇÃO : 124
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 : 1051
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 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 : 639
REPUTAÇÃO : 124
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