SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Como carregar imagens da pasta ( Arquivos e não Sprites ) via script.
Como Detectar toques e destruir objetos no jogo
Baixos Brasil - Jogo de Carro Brasileiro!
PC Gamer!
Como acessar o Emission do Material e mudar a cor via script
como faço para transformar uma list em Array?
Como carregar a cena mais rápido, ao apertar um botão ???
Unity Banco de Dados
Trocando a texture do terreno com script
como fazer uma objeto se mover sozinho?
Alguem Conhece algum jogo famoso desenvolvido no Photon?
visualizador de ritmo
[SUPER ATUALIZAÇÃO] - Android - Night Hunter RPG, Faça um teste e avalie! Alpha #5
Curso de unity presencial
Adicionar marcador de Tempo no jogo
Preciso de Designer/Artista Para Card Game 2D
(Dúvida) Photon - Slot de salas criadas.
BUG COM NAVMESH Alguem Sabe Arrumar?
ERRO SCRIPT
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
ferr2D vale a pena?
Itemlist
Teste de jogo multiplayer ILHAS
Ilumição
[Dúvida] Como fazer um corpo rígido receber velocidade em direção ao mouse.
(Animator)Voltar a um estado de animação mais nao executar a mesma
Modelagem Uvm
Precisamos de modeladores
Duvida sobre o Unet
Rigidbody2D AddForce - Como adicionar uma força oneshot.
SCRIPT TIRO - UNITY 3d
duvida
Frameworks/tutoriais para jogo 2D?
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Mesmo material mas objeto mais claro
✖ Projeto HOSPICE Horror Game !! ✖
Machado PBR | 3D Axe with PBR textures.
Em breve Ilhas Multiplayer, sobrevivencia PVP E PVM
Text multiplayer
[TUTORIAL] Avião Script
Colocar Gifs em uma UI Unity 5?
Como faço para a musica continuar tocando quando muda de cena?
MANTER TELA DO CELULAR LIGADA
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Luz Principal,Luz de Freio,Piscas para Carro,Moto,Caminhão,Ônibus,Etc...
como posso colocar tempo em qualquer script?
SCRIPT ISOMETRICO PARA ROTACIONAR O PLAYER COM MOUSE
MEU JOGO DE TERROR EM DESENVOLVIMENTO E BLOGGUER
Alguém pode fazer um rig pra mão do meu personagem?
Verificar quantos objetos tem a seguinte tag na scena
the ŞỮŘVƗVΔŁ ƗŞŁΔŇĐ [Lançamento]
Time
Grave no Som da Unity!
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO ALPHA)
Assesar Script De Outra Script
Camera FPS atravessa paredes
R7 - GOOH (resident evil 7)
Formação de equipa para o Jogo Until the last
Suspensão carro com raycast
como criar um botao dentro do if() (em C# pq quero padronizar tudo na mesma linguagem)
Arquivos de Expanssão OBB
Formação de equipe para jogo estilo Rust/DayZ
[DUVIDA]como girar sprite somente no eixo X em direção do mouse
GRAVIDADE não é compatível com Camera.main.ScreenToViewportPoint ?
Recrutamento para jogo de sobrevivencia estilo DayZ/Rust/H1Z1
-[SCRIPT DE POSIÇÕES ]-
[Duvida] Unity5 - Physics2D.Raycast não obedece distância máxima.
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
como posso fazer sons dos passos do inimigo
Unity - Car engine sound - Primeiro teste
Dúvida sobre particulas
[RESOLVIDO] Executar animação após um X segundos
Como indentificar que estou escrevendo [Unity.UI inputField]
[RESOLVIDO] Blender - Mesh com ossos bugados
[RESOLVIDO] OntriggerEnter Bugado
[RESOLVIDO] Problema com o Reimport e atualização do modelo
Como fazer o raycast ignorar a primeira colisao?
[RESOLVIDO] Animações no script
Transição de Cores Entre Cenas!
Sistema de corrida
Terreno procedural com blocos para baixo
alguem poderia me ajudar??
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
alguem sabe um sistema/ideia/tutorial de nicknames/indentificaçao para NETWORK local???
Jogo na Play Store e atualmente tem 40 downloads.
Translate.rotate ( 0, 0, Erro )
[Duvida] Time.TimeScale em jogo multiplayer
Aplicativo Reseta o Banco de Dados - Sqlite
7 erros no script conectar
Audio Player C#
Divulgaçao de Battle of Worlds
Duvida sobre Screenshot e share
Sistema de Buscar o Inimigo Mais Perto
[TUTORIAL] Criar um Array ( lista de objetos )
Casa do CJ Remake unity 2017 + Blender
Fazer um objeto brilhar
criação de terreno realista
Navmesh em mapa gerado aleatoriamente existe?
Linkar Objetos FIlhos!
Hoje à(s) 3:04 am
Hoje à(s) 12:04 am
Ontem à(s) 11:54 pm
Ontem à(s) 11:28 pm
Ontem à(s) 10:28 pm
Ontem à(s) 10:19 pm
Ontem à(s) 10:13 pm
Ontem à(s) 6:23 pm
Ontem à(s) 5:10 pm
Ontem à(s) 4:15 pm
Ontem à(s) 3:21 pm
Ontem à(s) 3:18 pm
Ontem à(s) 2:47 pm
Ontem à(s) 1:56 pm
Ontem à(s) 1:10 pm
Ontem à(s) 12:10 pm
Ontem à(s) 3:08 am
Ontem à(s) 12:29 am
Ter Out 17, 2017 9:57 pm
Ter Out 17, 2017 9:42 pm
Ter Out 17, 2017 9:36 pm
Ter Out 17, 2017 7:04 pm
Ter Out 17, 2017 5:52 pm
Ter Out 17, 2017 5:33 pm
Ter Out 17, 2017 4:44 pm
Ter Out 17, 2017 3:42 pm
Ter Out 17, 2017 3:39 pm
Ter Out 17, 2017 2:13 pm
Ter Out 17, 2017 1:27 pm
Ter Out 17, 2017 12:16 pm
Ter Out 17, 2017 11:37 am
Ter Out 17, 2017 9:58 am
Ter Out 17, 2017 9:27 am
Ter Out 17, 2017 6:10 am
Ter Out 17, 2017 1:53 am
Seg Out 16, 2017 9:17 pm
Seg Out 16, 2017 8:06 pm
Seg Out 16, 2017 5:27 pm
Seg Out 16, 2017 4:26 pm
Seg Out 16, 2017 3:08 pm
Seg Out 16, 2017 12:52 pm
Seg Out 16, 2017 10:38 am
Seg Out 16, 2017 10:36 am
Seg Out 16, 2017 10:07 am
Seg Out 16, 2017 9:44 am
Seg Out 16, 2017 6:53 am
Seg Out 16, 2017 12:53 am
Dom Out 15, 2017 9:00 pm
Dom Out 15, 2017 8:42 pm
Dom Out 15, 2017 8:35 pm
Dom Out 15, 2017 7:23 pm
Dom Out 15, 2017 7:05 pm
Dom Out 15, 2017 6:06 pm
Dom Out 15, 2017 5:59 pm
Dom Out 15, 2017 5:41 pm
Dom Out 15, 2017 5:08 pm
Dom Out 15, 2017 4:57 pm
Dom Out 15, 2017 4:11 pm
Dom Out 15, 2017 4:04 pm
Dom Out 15, 2017 3:29 pm
Dom Out 15, 2017 2:44 pm
Dom Out 15, 2017 1:59 pm
Dom Out 15, 2017 1:42 pm
Dom Out 15, 2017 1:37 pm
Dom Out 15, 2017 12:44 pm
Dom Out 15, 2017 11:25 am
Dom Out 15, 2017 10:03 am
Dom Out 15, 2017 9:19 am
Dom Out 15, 2017 9:19 am
Dom Out 15, 2017 9:09 am
Dom Out 15, 2017 8:23 am
Dom Out 15, 2017 1:39 am
Sab Out 14, 2017 11:57 pm
Sab Out 14, 2017 11:30 pm
Sab Out 14, 2017 7:07 pm
Sab Out 14, 2017 6:01 pm
Sab Out 14, 2017 5:55 pm
Sab Out 14, 2017 4:25 pm
Sab Out 14, 2017 12:50 pm
Sab Out 14, 2017 12:46 pm
Sex Out 13, 2017 11:05 pm
Sex Out 13, 2017 9:21 pm
Sex Out 13, 2017 8:27 pm
Sex Out 13, 2017 5:45 pm
Sex Out 13, 2017 5:37 pm
Sex Out 13, 2017 3:31 pm
Sex Out 13, 2017 2:59 pm
Sex Out 13, 2017 2:02 pm
Sex Out 13, 2017 11:17 am
Sex Out 13, 2017 9:27 am
Sex Out 13, 2017 2:17 am
Qui Out 12, 2017 11:57 pm
Qui Out 12, 2017 11:26 pm
Qui Out 12, 2017 11:23 pm
Qui Out 12, 2017 8:32 pm
Qui Out 12, 2017 7:23 pm
Qui Out 12, 2017 2:58 pm
Qui Out 12, 2017 12:51 pm
Qui Out 12, 2017 11:58 am
Felipe Costa
felipehobs1
Duarte
Duarte
richardson
Dom3000
Dom3000
Phph09
marino96
glauco
fecirineu
richardson
fecirineu
fariscolucas
fariscolucas
Manawydan
rafaelllsd
rafaelllsd
endersoneneilsa
natanael.olimpio
alxgames
Callyde Jr
Unidade3d5
WesClaudino
EvertonSantos
BRGC
michelly
Phph09
Phph09
ScorpionG4mer
EvertonSantos
diegopds
gabrielgrk
zZAndersonZz
Fagner
MRX
ScorpionG4mer
Unidade3d5
richerd
Matrirxp
Callyde Jr
colosso16
colosso16
Encracker
Joao07
Callyde Jr
EvertonSantos
EvertonSantos
Ghosthy
felipehobs1
MRX
Callyde Jr
Duarte
glauco
luis gustavo
Encracker
thales.ulisses
heliab125
marcelinodns
luis gustavo
Duarte
CodeZone
contaska
contaska
thales.ulisses
Weslley
dimmuo
dstaroski
glauco
dstaroski
Phph09
eusouoglaydson
Weslley
Fagner
alxgames
Fagner
Fagner
MRX
Callyde Jr
Callyde Jr
luizmauro123
Madness
glauco
luiz12345
Fagner
Felipe Costa
Phph09
ubroly
PatifeCraft
dstaroski
Dom3000
raulframos
fecirineu
fecirineu
MateusWTP
Phph09
PatifeCraft
luizmauro123
Duarte

[TUTORIAL] Fazer um VOLANTE com UI, para Android

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

TUTORIAL [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Dom Jun 26, 2016 7:11 pm

Fala pessoal, estou trazendo um script que eu achei em algum lugar aleatório por ai (se não me engano foi do próprio fórum da Unity), que serve para criar um volante com algum elemento UI (de preferência uma Image).

Basta ter este script em algum objeto qualquer:

Código:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using System.Collections;

public class Volante : MonoBehaviour{
 
 public Graphic UI_Element;
 RectTransform rectT;
 Vector2 centerPoint;
 public float AnguloMaximo = 200f;
 public float VelocidadeDeGiro = 200f;
 float wheelAngle = 0f;
 float wheelPrevAngle = 0f;
 bool wheelBeingHeld = false;

 public float GetClampedValue(){
 return wheelAngle / AnguloMaximo;
 }
 public float GetAngle(){
 return wheelAngle;
 }
 void Start(){
 rectT = UI_Element.rectTransform;
 InitEventsSystem();
 UpdateRect();
 }
 void Update(){
 if( !wheelBeingHeld && !Mathf.Approximately( 0f, wheelAngle ) ){
 float deltaAngle = VelocidadeDeGiro * Time.deltaTime;
 if( Mathf.Abs( deltaAngle ) > Mathf.Abs( wheelAngle ) )
 wheelAngle = 0f;
 else if( wheelAngle > 0f )
 wheelAngle -= deltaAngle;
 else
 wheelAngle += deltaAngle;
 }
 rectT.localEulerAngles = Vector3.back * wheelAngle;
 }
 void InitEventsSystem(){
 EventTrigger events = UI_Element.gameObject.GetComponent<EventTrigger>();
 if (events == null) {
 events = UI_Element.gameObject.AddComponent<EventTrigger> ();
 }
 if (events.triggers == null) {
 events.triggers = new System.Collections.Generic.List<EventTrigger.Entry> ();
 }
 EventTrigger.Entry entry = new EventTrigger.Entry();
 EventTrigger.TriggerEvent callback = new EventTrigger.TriggerEvent();
 UnityAction<BaseEventData> functionCall = new UnityAction<BaseEventData>( PressEvent );
 callback.AddListener( functionCall );
 entry.eventID = EventTriggerType.PointerDown;
 entry.callback = callback;
 events.triggers.Add( entry );
 entry = new EventTrigger.Entry();
 callback = new EventTrigger.TriggerEvent();
 functionCall = new UnityAction<BaseEventData>( DragEvent );
 callback.AddListener( functionCall );
 entry.eventID = EventTriggerType.Drag;
 entry.callback = callback;
 events.triggers.Add( entry );
 entry = new EventTrigger.Entry();
 callback = new EventTrigger.TriggerEvent();
 functionCall = new UnityAction<BaseEventData>( ReleaseEvent );
 callback.AddListener( functionCall );
 entry.eventID = EventTriggerType.PointerUp;
 entry.callback = callback;
 events.triggers.Add( entry );
 }
 void UpdateRect(){
 Vector3[] corners = new Vector3[4];
 rectT.GetWorldCorners( corners );
 for( int i = 0; i < 4; i++ ){
 corners[i] = RectTransformUtility.WorldToScreenPoint( null, corners[i] );
 }
 Vector3 bottomLeft = corners[0];
 Vector3 topRight = corners[2];
 float width = topRight.x - bottomLeft.x;
 float height = topRight.y - bottomLeft.y;
 Rect _rect = new Rect( bottomLeft.x, topRight.y, width, height );
 centerPoint = new Vector2( _rect.x + _rect.width * 0.5f, _rect.y - _rect.height * 0.5f );
 }
 public void PressEvent( BaseEventData eventData ){
 Vector2 pointerPos = ( (PointerEventData) eventData ).position;
 wheelBeingHeld = true;
 wheelPrevAngle = Vector2.Angle( Vector2.up, pointerPos - centerPoint );
 }
 public void DragEvent( BaseEventData eventData ){
 Vector2 pointerPos = ( (PointerEventData) eventData ).position;
 float wheelNewAngle = Vector2.Angle( Vector2.up, pointerPos - centerPoint );
 if( Vector2.Distance( pointerPos, centerPoint ) > 20f ){
 if (pointerPos.x > centerPoint.x) {
 wheelAngle += wheelNewAngle - wheelPrevAngle;
 } else {
 wheelAngle -= wheelNewAngle - wheelPrevAngle;
 }
 }
 wheelAngle = Mathf.Clamp( wheelAngle, -AnguloMaximo, AnguloMaximo );
 wheelPrevAngle = wheelNewAngle;
 }
 public void ReleaseEvent( BaseEventData eventData ){
 DragEvent( eventData );
 wheelBeingHeld = false;
 }
}

E jogar a Image UI ou o que for na variável "UI_Element".

O script ainda traz void's como:

"GetAngle" ou "GetClampedValue", para você conseguir pegar o angulo que está sendo imposto nas rodas Very Happy
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por karllus250 em Seg Jun 27, 2016 11:10 am

Entao marcos a imagem giro direitinho mas a roda do veiculo nao o que fazer

karllus250
Avançado
Avançado

Masculino PONTOS : 669
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por karllus250 em Seg Jun 27, 2016 11:20 am

eu nao entedir foi a explicaçao

karllus250
Avançado
Avançado

Masculino PONTOS : 669
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Seg Jun 27, 2016 1:57 pm

karllus250 escreveu:eu nao entedir foi a explicaçao
Basta utilizar as void's de GET que o script já traz ué

você sabe utilizar GetComponent? acessar outros scripts?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por karllus250 em Seg Jun 27, 2016 7:55 pm

NAO

karllus250
Avançado
Avançado

Masculino PONTOS : 669
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Ter Jun 28, 2016 7:42 pm

karllus250 escreveu:NAO
Nem tentou??? Bom, dei uma ajeitada e tirei os Component já que você não sabe usar:

Código:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using System.Collections;

public class Volante : MonoBehaviour{

   public Graphic UI_Element;
   RectTransform rectT;
   Vector2 centerPoint;
   float wheelAngle = 0f;
   float wheelPrevAngle = 0f;
   bool wheelBeingHeld = false;
   public WheelCollider RodaFrenteDir, RodaFrenteEsq;

   void Start(){
      rectT = UI_Element.rectTransform;
      InitEventsSystem();
      UpdateRect();
   }
   void FixedUpdate(){
      RodaFrenteDir.steerAngle = Mathf.Clamp ((wheelAngle / 5.0f), -40.0f, 40.0f);
      RodaFrenteEsq.steerAngle = Mathf.Clamp ((wheelAngle / 5.0f), -40.0f, 40.0f);
   }
   void Update(){
      Debug.Log (wheelAngle);
      if( !wheelBeingHeld && !Mathf.Approximately( 0f, wheelAngle ) ){
         float deltaAngle = 200.0f * Time.deltaTime;
         if( Mathf.Abs( deltaAngle ) > Mathf.Abs( wheelAngle ) )
            wheelAngle = 0f;
         else if( wheelAngle > 0f )
            wheelAngle -= deltaAngle;
         else
            wheelAngle += deltaAngle;
      }
      rectT.localEulerAngles = Vector3.back * wheelAngle;
   }
   void InitEventsSystem(){
      EventTrigger events = UI_Element.gameObject.GetComponent<EventTrigger>();
      if (events == null) {
         events = UI_Element.gameObject.AddComponent<EventTrigger> ();
      }
      if (events.triggers == null) {
         events.triggers = new System.Collections.Generic.List<EventTrigger.Entry> ();
      }
      EventTrigger.Entry entry = new EventTrigger.Entry();
      EventTrigger.TriggerEvent callback = new EventTrigger.TriggerEvent();
      UnityAction<BaseEventData> functionCall = new UnityAction<BaseEventData>( PressEvent );
      callback.AddListener( functionCall );
      entry.eventID = EventTriggerType.PointerDown;
      entry.callback = callback;
      events.triggers.Add( entry );
      entry = new EventTrigger.Entry();
      callback = new EventTrigger.TriggerEvent();
      functionCall = new UnityAction<BaseEventData>( DragEvent );
      callback.AddListener( functionCall );
      entry.eventID = EventTriggerType.Drag;
      entry.callback = callback;
      events.triggers.Add( entry );
      entry = new EventTrigger.Entry();
      callback = new EventTrigger.TriggerEvent();
      functionCall = new UnityAction<BaseEventData>( ReleaseEvent );
      callback.AddListener( functionCall );
      entry.eventID = EventTriggerType.PointerUp;
      entry.callback = callback;
      events.triggers.Add( entry );
   }
   void UpdateRect(){
      Vector3[] corners = new Vector3[4];
      rectT.GetWorldCorners( corners );
      for( int i = 0; i < 4; i++ ){
         corners[i] = RectTransformUtility.WorldToScreenPoint( null, corners[i] );
      }
      Vector3 bottomLeft = corners[0];
      Vector3 topRight = corners[2];
      float width = topRight.x - bottomLeft.x;
      float height = topRight.y - bottomLeft.y;
      Rect _rect = new Rect( bottomLeft.x, topRight.y, width, height );
      centerPoint = new Vector2( _rect.x + _rect.width * 0.5f, _rect.y - _rect.height * 0.5f );
   }
   public void PressEvent( BaseEventData eventData ){
      Vector2 pointerPos = ( (PointerEventData) eventData ).position;
      wheelBeingHeld = true;
      wheelPrevAngle = Vector2.Angle( Vector2.up, pointerPos - centerPoint );
   }
   public void DragEvent( BaseEventData eventData ){
      Vector2 pointerPos = ( (PointerEventData) eventData ).position;
      float wheelNewAngle = Vector2.Angle( Vector2.up, pointerPos - centerPoint );
      if( Vector2.Distance( pointerPos, centerPoint ) > 20f ){
         if (pointerPos.x > centerPoint.x) {
            wheelAngle += wheelNewAngle - wheelPrevAngle;
         } else {
            wheelAngle -= wheelNewAngle - wheelPrevAngle;
         }
      }
      wheelAngle = Mathf.Clamp( wheelAngle, -200, 200 );
      wheelPrevAngle = wheelNewAngle;
   }
   public void ReleaseEvent( BaseEventData eventData ){
      DragEvent( eventData );
      wheelBeingHeld = false;
   }
}
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por lolhard em Qua Jun 29, 2016 12:25 pm

Marcos eu usei este ultimo script e a imagem gira mas as rodas n eu linquei tudo certo
avatar
lolhard
Avançado
Avançado

PONTOS : 710
REPUTAÇÃO : 7
Áreas de atuação : Blender
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Qua Jun 29, 2016 2:03 pm

linkou as mesh ou as wheel?

Para as mesh girarem, você vai precisar fazer aquilo que eu fiz no meu tutorial de veículos...

Isto é para as wheels girarem e não para as mesh
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por lolhard em Qua Jun 29, 2016 3:07 pm

linkei as whell
avatar
lolhard
Avançado
Avançado

PONTOS : 710
REPUTAÇÃO : 7
Áreas de atuação : Blender
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por lolhard em Qua Jun 29, 2016 4:04 pm

Eu preciso alterar algo no script ou fazer mais algo ?
avatar
lolhard
Avançado
Avançado

PONTOS : 710
REPUTAÇÃO : 7
Áreas de atuação : Blender
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por karllus250 em Qui Jun 30, 2016 12:12 am

nao gira marcos linkei as whell tambem e nao gira

karllus250
Avançado
Avançado

Masculino PONTOS : 669
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Qui Jun 30, 2016 12:48 am

nuss, quanto flood, cuidado com as regras.

O que deve estar acontecendo é que você ainda está tentando passar o angulo das wheels por algum outro script, então eles ficam se sobre escrevendo...

Um script está passando o angulo da UI, e outro do InputHorizontal... você tem que ajeitar isto.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por lolhard em Qui Jun 30, 2016 12:34 pm

Obrigado e desculpa
avatar
lolhard
Avançado
Avançado

PONTOS : 710
REPUTAÇÃO : 7
Áreas de atuação : Blender
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por Alerson Software em Seg Ago 01, 2016 10:35 pm

ola marcos eu usei seu script de veiculo e coloquei o script de volante no meu carro e linkei as duas wheel colliders 1 e a 2 e o peneu n girou oque fazer?

Alerson Software
Membro
Membro

PONTOS : 514
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Ter Ago 02, 2016 4:16 pm

Você está cometendo o mesmo erro do lolhard... Um script está passando o InputHorizontal e o outro script está passando o Input da UI. Você tem que remover a parte do steerAngle do script do "Veículo Simples"
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por Alerson Software em Qua Ago 03, 2016 12:58 pm

MarcosSchultz escreveu:Você está cometendo o mesmo erro do lolhard... Um script está passando o InputHorizontal e o outro script está passando o Input da UI. Você tem que remover a parte do steerAngle do script do "Veículo Simples"
obrigado funcionou bem legal

Alerson Software
Membro
Membro

PONTOS : 514
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por RenanKrause em Sab Out 08, 2016 2:38 pm

como fasso para colocar um acelerador e o freio
avatar
RenanKrause
Membro
Membro

PONTOS : 433
REPUTAÇÃO : 4
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Dom Out 09, 2016 3:31 pm

RenanKrause escreveu:como fasso para colocar um acelerador e o freio

Crie um tópico específico para esta dúvida... este é sobre o tutorial de volante.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por nicolasfive em Sex Fev 03, 2017 7:07 pm

fiz tudo certinho o carro vira e tudo mas a roda fica parada porque ?

nicolasfive
Avançado
Avançado

PONTOS : 511
REPUTAÇÃO : 10
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Dom Fev 05, 2017 11:40 pm

nicolasfive escreveu:fiz tudo certinho o carro vira e tudo mas a roda fica parada porque ?

Está linkando todos os objetos corretamente nas variaveis?

está linkando as mesh das rodas nas variáveis corretas?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por FPR Software em Qui Mar 16, 2017 11:58 am

MarcosSchultz escreveu:Fala pessoal, estou trazendo um script que eu achei em algum lugar aleatório por ai (se não me engano foi do próprio fórum da Unity), que serve para criar um volante com algum elemento UI (de preferência uma Image).

Basta ter este script em algum objeto qualquer:

Código:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using System.Collections;

public class Volante : MonoBehaviour{
 
 public Graphic UI_Element;
 RectTransform rectT;
 Vector2 centerPoint;
 public float AnguloMaximo = 200f;
 public float VelocidadeDeGiro = 200f;
 float wheelAngle = 0f;
 float wheelPrevAngle = 0f;
 bool wheelBeingHeld = false;

 public float GetClampedValue(){
 return wheelAngle / AnguloMaximo;
 }
 public float GetAngle(){
 return wheelAngle;
 }
 void Start(){
 rectT = UI_Element.rectTransform;
 InitEventsSystem();
 UpdateRect();
 }
 void Update(){
 if( !wheelBeingHeld && !Mathf.Approximately( 0f, wheelAngle ) ){
 float deltaAngle = VelocidadeDeGiro * Time.deltaTime;
 if( Mathf.Abs( deltaAngle ) > Mathf.Abs( wheelAngle ) )
 wheelAngle = 0f;
 else if( wheelAngle > 0f )
 wheelAngle -= deltaAngle;
 else
 wheelAngle += deltaAngle;
 }
 rectT.localEulerAngles = Vector3.back * wheelAngle;
 }
 void InitEventsSystem(){
 EventTrigger events = UI_Element.gameObject.GetComponent<EventTrigger>();
 if (events == null) {
 events = UI_Element.gameObject.AddComponent<EventTrigger> ();
 }
 if (events.triggers == null) {
 events.triggers = new System.Collections.Generic.List<EventTrigger.Entry> ();
 }
 EventTrigger.Entry entry = new EventTrigger.Entry();
 EventTrigger.TriggerEvent callback = new EventTrigger.TriggerEvent();
 UnityAction<BaseEventData> functionCall = new UnityAction<BaseEventData>( PressEvent );
 callback.AddListener( functionCall );
 entry.eventID = EventTriggerType.PointerDown;
 entry.callback = callback;
 events.triggers.Add( entry );
 entry = new EventTrigger.Entry();
 callback = new EventTrigger.TriggerEvent();
 functionCall = new UnityAction<BaseEventData>( DragEvent );
 callback.AddListener( functionCall );
 entry.eventID = EventTriggerType.Drag;
 entry.callback = callback;
 events.triggers.Add( entry );
 entry = new EventTrigger.Entry();
 callback = new EventTrigger.TriggerEvent();
 functionCall = new UnityAction<BaseEventData>( ReleaseEvent );
 callback.AddListener( functionCall );
 entry.eventID = EventTriggerType.PointerUp;
 entry.callback = callback;
 events.triggers.Add( entry );
 }
 void UpdateRect(){
 Vector3[] corners = new Vector3[4];
 rectT.GetWorldCorners( corners );
 for( int i = 0; i < 4; i++ ){
 corners[i] = RectTransformUtility.WorldToScreenPoint( null, corners[i] );
 }
 Vector3 bottomLeft = corners[0];
 Vector3 topRight = corners[2];
 float width = topRight.x - bottomLeft.x;
 float height = topRight.y - bottomLeft.y;
 Rect _rect = new Rect( bottomLeft.x, topRight.y, width, height );
 centerPoint = new Vector2( _rect.x + _rect.width * 0.5f, _rect.y - _rect.height * 0.5f );
 }
 public void PressEvent( BaseEventData eventData ){
 Vector2 pointerPos = ( (PointerEventData) eventData ).position;
 wheelBeingHeld = true;
 wheelPrevAngle = Vector2.Angle( Vector2.up, pointerPos - centerPoint );
 }
 public void DragEvent( BaseEventData eventData ){
 Vector2 pointerPos = ( (PointerEventData) eventData ).position;
 float wheelNewAngle = Vector2.Angle( Vector2.up, pointerPos - centerPoint );
 if( Vector2.Distance( pointerPos, centerPoint ) > 20f ){
 if (pointerPos.x > centerPoint.x) {
 wheelAngle += wheelNewAngle - wheelPrevAngle;
 } else {
 wheelAngle -= wheelNewAngle - wheelPrevAngle;
 }
 }
 wheelAngle = Mathf.Clamp( wheelAngle, -AnguloMaximo, AnguloMaximo );
 wheelPrevAngle = wheelNewAngle;
 }
 public void ReleaseEvent( BaseEventData eventData ){
 DragEvent( eventData );
 wheelBeingHeld = false;
 }
}

E jogar a Image UI ou o que for na variável "UI_Element".

O script ainda traz void's como:

"GetAngle" ou "GetClampedValue", para você conseguir pegar o angulo que está sendo imposto nas rodas Very Happy

Como eu faço pra meu volante girar junto com base nesse script??

FPR Software
Iniciante
Iniciante

PONTOS : 236
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Qui Mar 16, 2017 9:06 pm

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

public class Volante : MonoBehaviour {

   [Range(0.4f,4.0f)]public float velGiroVolante = 2.0f;
   float rotacInicVolanteZ, angulo2Volante;

   void Start () {
      rotacInicVolanteZ = transform.localEulerAngles.z;
   }

   void Update () {
      float direcaoFixVolante = Input.GetAxis ("Horizontal");
      angulo2Volante = Mathf.MoveTowards(angulo2Volante, direcaoFixVolante, velGiroVolante*Time.deltaTime);
      transform.localEulerAngles = new Vector3 (transform.localEulerAngles.x, transform.localEulerAngles.y, rotacInicVolanteZ + (angulo2Volante * 540.0f));//540 = 1.5 voltas
   }
}


Este é um script de volante simples... basta trocar os inputs Horizontal pelo input do touch
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por FPR Software em Sex Mar 17, 2017 1:44 pm

Mas como eu faço isso?

FPR Software
Iniciante
Iniciante

PONTOS : 236
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por FernandoPRB em Sex Mar 17, 2017 9:01 pm

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

public class Volante : MonoBehaviour {

 [Range(0.4f,4.0f)]public float velGiroVolante = 2.0f;
 float rotacInicVolanteZ, angulo2Volante;

 void Start () {
 rotacInicVolanteZ = transform.localEulerAngles.z;
 }

 void Update () {
 float direcaoFixVolante = Input.GetAxis ("Horizontal");
 angulo2Volante = Mathf.MoveTowards(angulo2Volante, direcaoFixVolante, velGiroVolante*Time.deltaTime);
 transform.localEulerAngles = new Vector3 (transform.localEulerAngles.x, transform.localEulerAngles.y, rotacInicVolanteZ + (angulo2Volante * 540.0f));//540 = 1.5 voltas
 }
}


Este é um script de volante simples... basta trocar os inputs Horizontal pelo input do touch
o volante gira mais não volta

FernandoPRB
Membro
Membro

Masculino PONTOS : 465
REPUTAÇÃO : 4
Idade : 15
Áreas de atuação : Modelagem
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Ter Mar 21, 2017 12:26 am

Tente este:

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

public class Volante : MonoBehaviour {

   public enum Tipos {GirarEmX, GirarEmY, GirarEmZ};
   public GameObject objVolante;
   public Tipos Rotacao = Tipos.GirarEmZ;

   [Range(0.4f,4.0f)]public float velGiroVolante = 2.0f;
   public bool inverterGiro = false;

   float rotacInicVolantAxis, angulo2Volante;

   void Start () {
      if (objVolante) {
         switch (Rotacao) {
         case Tipos.GirarEmX:
            rotacInicVolantAxis = objVolante.transform.localEulerAngles.x;
            break;
         case Tipos.GirarEmY:
            rotacInicVolantAxis = objVolante.transform.localEulerAngles.y;
            break;
         case Tipos.GirarEmZ:
            rotacInicVolantAxis = objVolante.transform.localEulerAngles.z;
            break;
         }
      }
   }

   void Update () {
      if (objVolante) {
         float velMultplic = 1;
         if (inverterGiro) {
            velMultplic = -1;
         }
         float direcaoFixVolante = Input.GetAxis ("Horizontal") * velMultplic;
         angulo2Volante = Mathf.MoveTowards (angulo2Volante, direcaoFixVolante, velGiroVolante * Time.deltaTime);

         switch (Rotacao) {
         case Tipos.GirarEmX:
            objVolante.transform.localEulerAngles = new Vector3 (rotacInicVolantAxis + (angulo2Volante * 540.0f), objVolante.transform.localEulerAngles.y, objVolante.transform.localEulerAngles.z);//540 = 1.5 voltas
            break;
         case Tipos.GirarEmY:
            objVolante.transform.localEulerAngles = new Vector3 (objVolante.transform.localEulerAngles.x, rotacInicVolantAxis + (angulo2Volante * 540.0f), objVolante.transform.localEulerAngles.z);
            break;
         case Tipos.GirarEmZ:
            objVolante.transform.localEulerAngles = new Vector3 (objVolante.transform.localEulerAngles.x, objVolante.transform.localEulerAngles.y, rotacInicVolantAxis + (angulo2Volante * 540.0f));
            break;
         }
      }
   }
}

Este vai no veículo mesmo... Tenha certeza também de verificar se a referância está como Local e não em Global, no editor.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por Fábiow775 em Qua Abr 05, 2017 7:24 pm

Todos os scripts que tiver steer angle e preciso retirar tipo do car controle e do veículo simples?

Fábiow775
Membro
Membro

PONTOS : 289
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Qui Abr 06, 2017 12:15 am

sim, do contrário você vai ter outros scripts setando steerAngle, e vai dar conflito.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por Gabriel César O em Ter Abr 11, 2017 9:25 pm

RenanKrause escreveu:como fasso para colocar um acelerador e o freio

use o asset de controle mobile da unity que você ira conseguir o que quer bounce
avatar
Gabriel César O
Programador

Masculino PONTOS : 1410
REPUTAÇÃO : 210
Idade : 16
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por HeF Soft em Dom Abr 16, 2017 6:08 pm

MarcosSchultz escreveu:Tente este:

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

public class Volante : MonoBehaviour {

 public enum Tipos {GirarEmX, GirarEmY, GirarEmZ};
 public GameObject objVolante;
 public Tipos Rotacao = Tipos.GirarEmZ;

 [Range(0.4f,4.0f)]public float velGiroVolante = 2.0f;
 public bool inverterGiro = false;

 float rotacInicVolantAxis, angulo2Volante;

 void Start () {
 if (objVolante) {
 switch (Rotacao) {
 case Tipos.GirarEmX:
 rotacInicVolantAxis = objVolante.transform.localEulerAngles.x;
 break;
 case Tipos.GirarEmY:
 rotacInicVolantAxis = objVolante.transform.localEulerAngles.y;
 break;
 case Tipos.GirarEmZ:
 rotacInicVolantAxis = objVolante.transform.localEulerAngles.z;
 break;
 }
 }
 }

 void Update () {
 if (objVolante) {
 float velMultplic = 1;
 if (inverterGiro) {
 velMultplic = -1;
 }
 float direcaoFixVolante = Input.GetAxis ("Horizontal") * velMultplic;
 angulo2Volante = Mathf.MoveTowards (angulo2Volante, direcaoFixVolante, velGiroVolante * Time.deltaTime);

 switch (Rotacao) {
 case Tipos.GirarEmX:
 objVolante.transform.localEulerAngles = new Vector3 (rotacInicVolantAxis + (angulo2Volante * 540.0f), objVolante.transform.localEulerAngles.y, objVolante.transform.localEulerAngles.z);//540 = 1.5 voltas
 break;
 case Tipos.GirarEmY:
 objVolante.transform.localEulerAngles = new Vector3 (objVolante.transform.localEulerAngles.x, rotacInicVolantAxis + (angulo2Volante * 540.0f), objVolante.transform.localEulerAngles.z);
 break;
 case Tipos.GirarEmZ:
 objVolante.transform.localEulerAngles = new Vector3 (objVolante.transform.localEulerAngles.x, objVolante.transform.localEulerAngles.y, rotacInicVolantAxis + (angulo2Volante * 540.0f));
 break;
 }
 }
 }
}

Este vai no veículo mesmo... Tenha certeza também de verificar se a referância está como Local e não em Global, no editor.

agr nem o volante nem as rodas giram

HeF Soft
Membro
Membro

PONTOS : 258
REPUTAÇÃO : 4
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por MarcosSchultz em Qua Abr 19, 2017 2:02 am

Tem como enviar o projeto então pra eu ver? Você deve estar esquecendo algo bem tosco então, não entendo o que pode estar errado.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9740
REPUTAÇÃO : 1678
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

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por Duarte em Sex Ago 25, 2017 11:34 pm

MarcosSchultz escreveu:
karllus250 escreveu:eu nao entedir foi a explicaçao
Basta utilizar as void's de GET que o script já traz ué

você sabe utilizar GetComponent? acessar outros scripts?
Marcos eu sei usar GetComponent, como eu faço para a roda girar de acordo com a Imagem?
Eu tentei aqui mais nao deu certo
avatar
Duarte
MembroAvançado

Masculino PONTOS : 547
REPUTAÇÃO : 72
Idade : 17
Áreas de atuação : Programação
Desenvolvedor Android
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por Fábiow775 em Sab Ago 26, 2017 12:34 pm

Duarte escreveu:
MarcosSchultz escreveu:
karllus250 escreveu:eu nao entedir foi a explicaçao
Basta utilizar as void's de GET que o script já traz ué

você sabe utilizar GetComponent? acessar outros scripts?
Marcos eu sei usar GetComponent, como eu faço para a roda girar de acordo com a Imagem?
Eu tentei aqui mais nao deu certo
Olha amigo uma vez que estava com esse problema eu retirei dos Scripts de controle as partes que continha os Steer Angle, que ira ficar sobrepondo o do volante, da uma olhada pode ser isso.

Fábiow775
Membro
Membro

PONTOS : 289
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Fazer um VOLANTE com UI, para Android

Mensagem por welyson em Sab Set 30, 2017 1:41 am

Gabriel César O escreveu:
RenanKrause escreveu:como fasso para colocar um acelerador e o freio

use o asset de controle mobile da unity que você ira conseguir o que quer bounce
 Eu ate tentei mas n consegui, vc poderia me dar uma breve explicação?

welyson
Iniciante
Iniciante

PONTOS : 22
REPUTAÇÃO : 0
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