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:
Jogo Dengame na Play Store. (Baixe agora)
[____TÓPICO LIVRE____] FALE O QUE QUISER
Modelagem de personagem e cenário
Jogo 2d com obstáculos em movimento que quando batem no personagem ele vai para debaixo do chão
[Dúvida] Cena não abre
[AJUDA] Carro virando rapido de mais
Ajuda com Script "NullReferenceException: Object reference not set to an instance "
Como usar uma animação de uma arma animada na Unity...
[TUTORIAL] Script de pulo para jogos 3D em geral (Unity - C#)
[RESOLVIDO] Instanciar um objeto como filho
Cor
[Teste]Laqua - Jogo de slá oque
Jogo para Android, testem por favor
//Script com tuto//
[AJUA] JOGO MUDO SEM SOM!!!
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
[RESOLVIDO] Rádio por distancia
[_____CRONOGRAMA DO CANAL_____]
saindo do jogo caso um programa não estiver aberto
QUIOFOBIA DEMO-JOGO DE TERROR INDIE
Sistema CFD com Unity: Simular partículas com colisão em túnel de vento
[RESOLVIDO] Script destruir apenas o objeto que o tem
SISTEMA DE CARGA
[ERRO] Unity Bug Reporter
RIGIDBODY IR PARANDO DE QUICAR
ESTOU COM UM ERRO DE SCRIPT ALGUEM PODE ME AJUDAR
Procurando animador
tenho um script que faz o zombie atacar o jogador e tirar vida so que nao esta funcionando alguem pode me ajudar
Sistema de build place
[2 interiores Modelo] + Download Grátis --Para uso comercial!
Pode coolocar os jogos que aprendeu a fazer no youtube a venda?
sistema de combos e danos
PRECISO DE UMA PESSOA QUE DESENHE PERSONAGEM E CENARIO
Modelos 3D
ROLLER BALL DO STANDARD ASSETS
SCRIPT DE INTELIGENCIA ARTIFICIAL PARA ZUMBI, DESVIAR DE OBJETOS E ATACAR JOGADOR
[Resolvido]Trocar cena ao eliminar objetos
Menu Right Click igual Tibia
Sistema de Skins estilo CsGo ou Critical Ops...
[RESOLVIDO] Carro flutuando
TELA ROSA NO GAME
Como usar o Multi Touch para movimentar um personagem ?
[DUVIDA] Script Não Funciona
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
[Assets/Scripts] Repositório no Github com sistemas free.
// RAIN no unity//
[DÚVIDA]Texto Não Aparece Unity 5
Texturização para Game em android
Como fazer aparecer notificações no celular android?
Limite e Volta no transform translate
objeto descer ao apertar um botão
[RESOLVIDO]Erro com script OnTriggerEnter e BoxCollider
Duvida com script
Problema com Animation
Ajudem com efeito "gelatina" em modelos.
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Testem meu Jogo de Aventura
Inteligência Artificial
Como fazer 1 Portal
[Assets] modelos 3d
Da para criar com o unity?
Existe algum tipo de FPSController para android?
[TUTORIAL] Unity 5 - Porta automática
Problema com o MonoDevelop
Como melhorar desempenho de animações
Cena Loading para carregar proximo Level
como criar um jogo igual a guitar hero?
(Dúvida) Erro criar sala com Photon.
Dicas para otimizar o meu jogo
Sistema de construção estilo habbo
[ERRO] Fatal Error Unity!!!
Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
PlayerPrefs
Dúvida sobre instantiate!
Footsteps no CharacterController (Unity 5)
Como fazer objetos não atravessar paredes usando transform.Translate?
Quando meu inimigo morre todos morrem, alguem ajuda ?
Asset Store
Mudar cor de um material por Script de forma suave
[Dúvida] Otimização
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
Mudança no NavMeshAgent?
Script para saber se ena está ativa ou carregada
Duvida
Inserir uma página da web dentro do meu jogo
[TUTORIAL] Acessar propriedades dos SHADERS através de SCRIPTS
// Sistema de Afogamento//
Inimigo seguir quando ver o player
Jogo da Memória para crianças. (Android)
(Dúvida) Mirar em terceira pessoa.
Eu produzi esse jogo na unity e gostaria que vocês testassem e avaliassem
I.A Que ataca qualquer coisa inclusive Players..
[DUVIDA]Pergunta Aleatória
Teclado igual o jogo do milhão
Modelos 3d para uso gratuito ou comercial
[TUTORIAL] Unity 5- Sistema de PLATAFORMAS COM ROTAS
///Duvida///
Unity 5 lag com muitas arvores e grass
Hoje à(s) 12:42 am
Hoje à(s) 12:07 am
Hoje à(s) 12:03 am
Ontem à(s) 11:06 pm
Ontem à(s) 10:20 pm
Ontem à(s) 6:34 pm
Ontem à(s) 5:29 pm
Ontem à(s) 5:05 pm
Ontem à(s) 3:50 pm
Ontem à(s) 2:15 pm
Ontem à(s) 1:51 pm
Ontem à(s) 10:42 am
Ontem à(s) 10:32 am
Ontem à(s) 10:09 am
Ontem à(s) 10:06 am
Ontem à(s) 5:38 am
Ontem à(s) 5:27 am
Ontem à(s) 5:25 am
Ontem à(s) 5:24 am
Ontem à(s) 4:59 am
Ontem à(s) 4:48 am
Ontem à(s) 4:33 am
Sab Fev 25, 2017 7:02 pm
Sab Fev 25, 2017 6:30 pm
Sab Fev 25, 2017 6:27 pm
Sab Fev 25, 2017 4:47 pm
Sab Fev 25, 2017 3:13 pm
Sab Fev 25, 2017 12:32 pm
Sab Fev 25, 2017 3:50 am
Sex Fev 24, 2017 11:38 pm
Sex Fev 24, 2017 10:38 pm
Sex Fev 24, 2017 10:10 pm
Sex Fev 24, 2017 9:31 pm
Sex Fev 24, 2017 8:40 pm
Sex Fev 24, 2017 8:39 pm
Sex Fev 24, 2017 7:26 pm
Sex Fev 24, 2017 7:17 pm
Sex Fev 24, 2017 6:12 pm
Sex Fev 24, 2017 3:54 pm
Sex Fev 24, 2017 9:44 am
Sex Fev 24, 2017 2:49 am
Qui Fev 23, 2017 9:09 pm
Qui Fev 23, 2017 7:21 pm
Qui Fev 23, 2017 2:50 pm
Qui Fev 23, 2017 12:18 pm
Qui Fev 23, 2017 12:06 pm
Qua Fev 22, 2017 11:32 pm
Qua Fev 22, 2017 8:27 pm
Qua Fev 22, 2017 8:19 pm
Qua Fev 22, 2017 6:26 pm
Qua Fev 22, 2017 5:53 pm
Qua Fev 22, 2017 3:15 pm
Qua Fev 22, 2017 2:20 pm
Qua Fev 22, 2017 1:58 pm
Qua Fev 22, 2017 11:52 am
Qua Fev 22, 2017 9:18 am
Qua Fev 22, 2017 12:36 am
Ter Fev 21, 2017 10:18 pm
Ter Fev 21, 2017 9:15 pm
Ter Fev 21, 2017 8:45 pm
Ter Fev 21, 2017 8:21 pm
Ter Fev 21, 2017 7:20 pm
Ter Fev 21, 2017 4:40 pm
Ter Fev 21, 2017 3:26 pm
Ter Fev 21, 2017 1:53 pm
Ter Fev 21, 2017 1:18 pm
Ter Fev 21, 2017 11:42 am
Ter Fev 21, 2017 11:25 am
Seg Fev 20, 2017 10:43 pm
Seg Fev 20, 2017 10:00 pm
Seg Fev 20, 2017 9:04 pm
Seg Fev 20, 2017 9:02 pm
Seg Fev 20, 2017 9:00 pm
Seg Fev 20, 2017 8:56 pm
Seg Fev 20, 2017 8:49 pm
Seg Fev 20, 2017 8:46 pm
Seg Fev 20, 2017 8:44 pm
Seg Fev 20, 2017 8:42 pm
Seg Fev 20, 2017 8:40 pm
Seg Fev 20, 2017 8:36 pm
Seg Fev 20, 2017 8:28 pm
Seg Fev 20, 2017 8:25 pm
Seg Fev 20, 2017 8:23 pm
Seg Fev 20, 2017 8:19 pm
Seg Fev 20, 2017 8:14 pm
Seg Fev 20, 2017 8:12 pm
Seg Fev 20, 2017 7:37 pm
Seg Fev 20, 2017 3:35 pm
Seg Fev 20, 2017 3:19 pm
Seg Fev 20, 2017 8:54 am
Seg Fev 20, 2017 12:10 am
Dom Fev 19, 2017 10:55 pm
Dom Fev 19, 2017 9:18 pm
Dom Fev 19, 2017 9:02 pm
Dom Fev 19, 2017 8:31 pm
Dom Fev 19, 2017 6:37 pm
Dom Fev 19, 2017 6:32 pm
Dom Fev 19, 2017 3:46 pm
Dom Fev 19, 2017 3:33 pm
Hardencio
PauloFR
PauloFR
Moa
PauloFR
Junim
Luiz Mauro TCC
Sheyk
lucasfera15
PauloFR
richerd
dstaroski
dstaroski
Zecandy
JhonnyBravo
Aprendiz
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
dstaroski
diogodavilafernandes
Weverton Borges da Silva
AndyShow
MateusWTP
zBanidor
AndyShow
joabr
Junim
lucasfera15
PauloFR
PauloFR
AndyShow
weslleyFx
AndyShow
nobruzada
BatataName
GabrielRaaposo
MarcosSchultz
dimmuo
Zecandy
Blue Ark
DoctorGame15
PauloFR
thiagograssi
thiagograssi
PauloFR
Junim
anizioNoob
lucasfera15
Fábiow775
MateusWTP
zBanidor
tom ramber
PauloFR
Willian Wii
Willian Wii
silva75
zZAndersonZz
sabbath
Marc7
thiagograssi
rafaelllsd
MarcosSchultz
Luiz Mauro TCC
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
CanabravaBR
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Zecandy
AndyShow
Pulitano
artplayer
niao
vegasbr
Manawydan
rafaelllsd
joabr
Blue Ark
Zecandy
AndyShow

Ajuda com interpretação de Script

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

Resolvido Ajuda com interpretação de Script

Mensagem por George Lucas Vieira em Sab Set 24, 2016 1:22 am

Olá pessoal, tranquilo?
Gente, eu tô estudando novas formas de fazer uma boa movimentação no Unity baseado em física.
Fuçando na internet, encontrei este belo script (eu modifiquei ele um pouquinho)

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

[RequireComponent (typeof (Rigidbody))]
[RequireComponent (typeof (CapsuleCollider))]

public class NewBehaviourScript : MonoBehaviour {

 public float speed = 10.0f;
 public float gravity = 10.0f;
 public float maxVelocityChange = 10.0f;
 public bool canJump = true;
 public float jumpHeight = 2.0f;
 private bool grounded = false;

 private Rigidbody playerRb;

 void Awake () {
 playerRb = GetComponent<Rigidbody>();
 playerRb.freezeRotation = true;
 playerRb.useGravity = false;
 }

 void FixedUpdate () {
 if (grounded) {
 // Calculate how fast we should be moving
 Vector3 targetVelocity = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")) * speed;

 // Apply a force that attempts to reach our target velocity
 Vector3 velocity = playerRb.velocity;
 Vector3 velocityChange = (targetVelocity - velocity);
 velocityChange.x = Mathf.Clamp(velocityChange.x, -maxVelocityChange, maxVelocityChange);
 velocityChange.y = 0;
 playerRb.AddForce(velocityChange, ForceMode.VelocityChange);

 // Jump
 if (canJump && Input.GetButton("Jump")) {
 playerRb.velocity = new Vector3(velocity.x, CalculateJumpVerticalSpeed(), velocity.z);
 }
 }

 // We apply gravity manually for more tuning control
 playerRb.AddForce(new Vector3 (0, -gravity * playerRb.mass, 0));

 grounded = false;
 }

 void OnCollisionStay () {
 grounded = true;    
 }

 float CalculateJumpVerticalSpeed () {
 // From the jump height and gravity we deduce the upwards speed
 // for the character to reach at the apex.
 return Mathf.Sqrt(2 * jumpHeight * gravity);
 }
}




Eu entendi praticamente tudo do script, menos uma parte, que talvez seja a mais importante. O script está funcionando belezinha, mas eu não entendi essa linha aqui:


Código:
Vector3 velocityChange = (targetVelocity - velocity);



Pessoal, porque ele está subtraindo a velocidade do personagem? Eu tentei isolar essa linha de várias formas, mas parece que ela que controla todo o esquema de velocidade do personagem, então não tem como remover.
Enfim, porque ele está pegando o valor que eu apertei(Input.GetAxis) e subtraindo a velocidade? Gostaria da ajuda de vocês para me ajudar. Até mais, abraços.



Última edição por George Lucas Vieira em Sab Set 24, 2016 10:25 am, editado 1 vez(es)

George Lucas Vieira
Moderador

Masculino PONTOS : 575
REPUTAÇÃO : 119
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

Resolvido Re: Ajuda com interpretação de Script

Mensagem por MarcosSchultz em Sab Set 24, 2016 1:58 am

Fiz uma análise corrida do script com os seguintes pontos:

primeiramente, coloquei isto no awake:

Código:
Time.timeScale = 0.05f;

Isto permite analisar o que acontece bem detalhadamente... Depois, criei um Debug e coloquei como última coisa da void FixedUpdate, que é este debug aqui:

Código:
Debug.Log("targVel: " + targetVelocity + "        velocity: " + velocity + "        subtrair: " + (targetVelocity - velocity));



Com este debug, podemos perceber a targetVelocity, logo após a velocity e por último, o vetor de subtração dos 2.

Analizando a targetVelocity, já podemos perceber que o vetor não vai somente de 0 a 1, conforme os inputs horizontais e verticais, pois você está multiplicando o input pela variável "speed", conforme esta linha mostra:

Código:
Vector3 targetVelocity = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")) * speed;


Com esta linha, pode-se concluir que esta seria a "velocidade desejada" a se alcançar, pois você recebe o input, e multiplica pela velocidade que quer tentar alcançar.

O próximo debug que você recebe é o "velocity", que informa qual a velocidade atual do seu jogador...

O terceiro debug, informa qual a diferença entre a velocidade que você almeja alcançar e a velocidade real em que você está andando...


Supondo que você está pressionando A, então o seu input vai ser (-1,0,0). Agora, veja que a sua "speed" é 10, então esse vetor será multiplicado por 10, transformando o input real em (-10, 0, 0). 

Este vetor é a velocidade que você está tentando alcançar, e você o chama de "targetVelocity"

Na próxima linha, apenas pegamos a velocidade atual do rigidbody:

Código:
Vector3 velocity = playerRb.velocity;


Neste momento, a "targetVelocity" estará debugando "(-10, 0, 0)", pois é o input multiplicado pela speed.
Enquanto isso, a "velocity" estará debugando algo parecido a "(-9.9, 0,0 )"

Isto acontece por que a física gera atrito, e tende a alentar o colisor, fazendo o player "freiar"

Tendo tudo isto dito, a próxima coisa que você faz, é subtrair a velocidade que você está tentando alcançar, da velocidade real do seu player, e isto você chama de "velocityChange".

Então, se o vetor alvo é (-10, 0, 0) e o vetor real é (-9.9, 0, 0), o resultado da subtração será (-0.1, 0, 0)

Depois que isto é feito, você aplica um "clamp" no vetor, para limitar o máximo valor que este vetor poderá ter... mas estranhamente, você só faz isto no eixo X... o eixo Y você deixa como 0, pois não deve ser influenciado, e o eixo Z, não entendi por que não recebe o clamp, mas enfim, o clamp pouco interfere na análise final...

Depois que você "limita" este vetor, você faz um AddForce na direção desse vetor de subtração, nesta linha:

Código:
playerRb.AddForce(velocityChange, ForceMode.VelocityChange);

Pelo que eu entendi, isto é feito apenas para compensar o atrito que o rigidbody sofre, para compensar a frenagem natural que o objeto tem, minimizando a diferença entre a velocidade que você quer alcançar e a velocidade real do corpo...

MarcosSchultz
Administrador

Masculino PONTOS : 7859
REPUTAÇÃO : 1076
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

Resolvido Re: Ajuda com interpretação de Script

Mensagem por George Lucas Vieira em Sab Set 24, 2016 10:24 am

Você é o cara Marcos  Cool
Bem, eu não apliquei o Clamp no eixo Z pq é um jogo 2.5D...
Vlw ae!

George Lucas Vieira
Moderador

Masculino PONTOS : 575
REPUTAÇÃO : 119
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