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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
ShapeKeys do Blender para a Unity altera áreas próximas
COMO EVITAR QUE UM OBJETO (PLAYER,ITEM ETC...) ATRAVESSE UMA PAREDE.
Ajuda em Script de Verificação de Ação e Reação
unity Failed to load PlayerSettings (internal index #0). Most likely data f
modelar avatar e skins para um jogo web
PRECISO FAZER QUE MEU GAME FIQUE ONLINE
Materiais do Blander não aparecem no MeshRendere do Objeto na Unity
Repetiçoes de Textura no Terreno
SERVER IS DOWN - UNITY+MSQL
Procuro programadores - Novo jogo
Problema com o MS VEHICLES
Preciso de ajuda com a Unity
Problema com vídeo em 360° na Unity
Problemas no MS Vehicles
unity- eventos na Animação com Armature/Bones vinda do blender não funciona
ajuda exibir resultados simulados em uma liga Game Unity
Unity - ParticleSystem não é redirecionado no rawimage no canvas
Como resolver o problema de "face orientation" no Blender.
[DÚVIDA] Tive um problema com meu Canvas
erro na Directional Light
Problemas com o Directional Light da Unity 3D
210 Linhas de código para inimigo é muito grande?
Novo jogo da franquia Sphere game em desenvolvimento
malha da roda não girando com wheel collider unity
Problemas com ambiguidade
Touch mobile
INVALID TOKEN
Como acessar o "HD Render Pipeline" do HDRP por script?
CHAT GPT PRA JOGO DE TIRO? comentem
Tutorial script inimigo segue e foge do player
Ainda vale a pena lançar Asset na Asset Store?
Ajuda com tabela de historico de pontuaçao.
[TUTORIAL] Entrar no carro estilo GTA
Como derrapar um Whell Collider
Como altertar o valor do "Asymptote Value" do Whell Collider via Script
Preciso de ajuda para substituir valor de variavel em outro script
Ajuda com Top Down Shooter utilizando Photon
Duvida com Netcode
[RESOLVIDO] Unity - Movendo a Câmera na Horizontal/Vertical com Touch
Alguém me ajuda com os anúncios pfv
Segundo Trailer do jogo Dark Age, Feliz Natal a todos!
Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
Coleta de itens
Unity - Cadastro do email do jogador
[GRATIS] PACK DE MODELOS 3D PARA JOGO DE TERROR
Onde Conseguir músicas para meu Jogo?
error CS0246 em Script
Alguem teve ja esse problema?
[Projeto em Andamento] Draug, um jogo de hordas
DISPONIVEL PARA FAZER MODELOS 3D
Unity-Loja.Como os Jogadores terão acesso aos ítens comprados na PlayStore?
Bugando depois do Build.
Primeiro Trailer do jogo Dark Age
Problema com sombra
Mesh e Material do objeto trocando para uma instancia no inicio do jogo
[RESOLVIDO] Unity - RawImages_Layer_Camera
INVESTIMENTO EM JOGOS E BANCO DE TALENTO
Teaser do meu novo projeto pessoal, Dark Age
Preciso de ajuda com mudança para mobile androide.
[RESOLVIDO] Posição final do objeto em jogo 2D
Input.GetAxis() obedercer a orientação de um objeto.
Interação com elementos UI
Meu primeiro jogo na steam
Minimap/Radar/GPS Estilo GTA V
[RESOLVIDO] Erro no console depois que formatei o pc
PACK GRÁTIS de Músicas ELETRÔNICAS para ajudar vocês em seus Jogos Indies!
[TUTORIAL] Entenda como funciona: ENUM, SWITCH, BREAK, CASE no C#
O Labirinto II - Baixe o Jogo
Qual e o codigo de Botões na unity para saber seus estados?
Como carregar itens pequenos dentro do carro sem que atravesse os colliders
[Duvida] Script pegar itens
Travamento ao trocar de cena
Colisão zoada e movimentação
Salvar objetos que foram destruidos entre cenas na unity
Quero começa a desenvolver um jogo de luta porem eu queria aprender a faze
Pegar qual objeto colidiu com o Linecast.
movimentação e camera?
[RESOLVIDO] Unity - SceneManager.LoadScene abre scene com objeto "vazio"
[RESOLVIDO] ajuda sobre skybox
MEU SIMULADOR DE CARRO
[_____IMPORTANTE_____] ALTERAÇÕES NA POLÍTICA DE COBRANÇA DA UNITY
[RESOLVIDO] Ausencia da funçao NavMesh na Unity 2022.2.12
[_____IMPORTANTE_____] ALTERAÇÕES NA POLÍTICA DE COBRANÇA DA UNITY - 2
Roll Up Um jogo de aventura e desáfios
Terminologia da Unity em outras engines
Como criar a iluminação do Sol no Sistema Solar?
Conexão de lobby pelo OnConnectedToMaster
Problema na exportção de projeto unity
[RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Unity - Banco de Dados Online junto ao Jogo
Player virar para o inimigo(Prefab)
[TUTORIAL] Sistema De Save Game Ao Sair Da Fase
Problema de Sincronização de um objeto de um jogo multiplayer usa q Photon
Unity - Compartilhar meu Jogo
Alguém que manja do Google ADmob?
Unity - Avaliar meu Jogo
[RESOLVIDO] Destruir inimigo com o player.
Salvar e carregar dados na Unity de objetos prefabs sem sobrescrever os dad
Unity - Salvar os Dados do Jogador Online
Ontem à(s) 10:09 pm
Dom Mar 10, 2024 2:30 pm
Sex Mar 01, 2024 1:27 pm
Qui Fev 22, 2024 9:57 pm
Qua Fev 21, 2024 10:39 am
Ter Fev 20, 2024 9:28 am
Ter Fev 20, 2024 12:15 am
Seg Fev 19, 2024 1:06 pm
Seg Fev 12, 2024 1:56 pm
Seg Fev 12, 2024 1:17 pm
Dom Fev 11, 2024 8:55 pm
Dom Fev 11, 2024 11:16 am
Seg Fev 05, 2024 4:18 pm
Dom Fev 04, 2024 9:39 pm
Qua Jan 31, 2024 11:59 pm
Ter Jan 30, 2024 7:37 pm
Ter Jan 23, 2024 6:33 pm
Dom Jan 21, 2024 6:03 pm
Sáb Jan 20, 2024 7:03 pm
Sáb Jan 20, 2024 6:58 pm
Sáb Jan 20, 2024 6:39 pm
Sex Jan 19, 2024 1:29 pm
Sex Jan 19, 2024 8:40 am
Dom Jan 14, 2024 5:30 pm
Qua Jan 10, 2024 10:29 pm
Qua Jan 10, 2024 8:55 pm
Qua Jan 10, 2024 7:14 pm
Ter Jan 09, 2024 3:55 pm
Ter Jan 09, 2024 8:04 am
Sáb Jan 06, 2024 8:02 pm
Sex Jan 05, 2024 7:01 am
Sex Jan 05, 2024 12:12 am
Qui Jan 04, 2024 6:55 pm
Qui Jan 04, 2024 12:52 pm
Qui Jan 04, 2024 4:34 am
Ter Jan 02, 2024 11:48 pm
Dom Dez 31, 2023 7:25 pm
Qua Dez 27, 2023 5:44 pm
Qua Dez 27, 2023 3:08 pm
Sáb Dez 23, 2023 7:27 pm
Sáb Dez 23, 2023 5:06 pm
Qui Dez 21, 2023 8:10 pm
Seg Dez 18, 2023 2:04 pm
Sex Dez 15, 2023 5:11 pm
Qui Dez 14, 2023 9:13 pm
Qui Dez 14, 2023 2:47 pm
Qui Dez 14, 2023 1:48 pm
Qua Dez 13, 2023 8:58 pm
Ter Dez 12, 2023 2:32 pm
Seg Dez 11, 2023 1:53 pm
Qua Dez 06, 2023 8:13 pm
Sáb Dez 02, 2023 8:06 pm
Qui Nov 30, 2023 7:49 am
Seg Nov 27, 2023 1:35 am
Qua Nov 22, 2023 7:37 am
Qui Nov 09, 2023 1:22 pm
Seg Nov 06, 2023 11:59 am
Ter Out 31, 2023 9:53 am
Dom Out 29, 2023 8:05 pm
Dom Out 29, 2023 3:03 am
Sex Out 27, 2023 3:43 pm
Sex Out 27, 2023 3:28 pm
Qua Out 25, 2023 1:20 pm
Seg Out 23, 2023 10:34 am
Dom Out 22, 2023 6:55 pm
Qui Out 19, 2023 11:57 pm
Qui Out 19, 2023 6:39 pm
Ter Out 17, 2023 6:37 pm
Ter Out 17, 2023 6:18 pm
Seg Out 16, 2023 1:59 pm
Sáb Out 14, 2023 12:15 pm
Qua Out 11, 2023 6:07 pm
Seg Out 09, 2023 4:19 pm
Qua Out 04, 2023 12:12 pm
Qua Out 04, 2023 12:11 pm
Ter Out 03, 2023 9:18 pm
Ter Out 03, 2023 9:08 pm
Ter Out 03, 2023 6:05 pm
Ter Set 26, 2023 12:45 pm
Seg Set 25, 2023 9:02 pm
Seg Set 25, 2023 9:47 am
Sáb Set 23, 2023 2:10 pm
Sex Set 22, 2023 9:01 pm
Qui Set 21, 2023 11:04 am
Qua Set 20, 2023 4:40 pm
Qua Set 20, 2023 9:15 am
Dom Set 17, 2023 12:17 pm
Sex Set 15, 2023 7:24 pm
Sex Set 15, 2023 5:41 pm
Sex Set 15, 2023 4:28 pm
Sex Set 15, 2023 10:56 am
Sex Set 15, 2023 10:15 am
Seg Set 11, 2023 11:43 am
Seg Set 11, 2023 11:31 am
Sáb Set 09, 2023 4:53 pm
Sáb Set 09, 2023 1:44 pm
Ter Set 05, 2023 11:12 pm
Ter Set 05, 2023 3:12 pm
Seg Set 04, 2023 11:53 pm



































































































[ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

2 participantes

Ir para baixo

DÚVIDA [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Sáb Abr 01, 2017 2:22 am

[ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais
 para um jogo de tabuleiro, no campo tem varias esferas sem rigidbody, e ao apertar uma tecla a peça GameObject tem que receber o valor do transform da esfera vizinha predeterminada no campo, ainda estou estudando o esquema de way points e fiz um script simples com um array de varios Transform[] e tento pegar o Transfom do objeto inicial que é o numero [8]  e acrescer ao vetor um int indice++ pra ele pegar o Transform do objeto[9] ao ir pra direita e assim por diante, mas nao esta funcionando ja tentei de tudo e ainda dá um errinho e a peca continua imovel, mas apesar disso eu sinto que falta pouco pode ser algo que ainda nao percebi o Schultz me indicou pedir uma ajuda pelo forum entao estou aqui, se alguem puder me ajudar ficarei agradecido, acredito ser um bom aprendizado, vou deixar o codigo  pra  quem quiser analizar [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais Icon_exclaim 
Código:
using UnityEngine;
using System.Collections;

public class Referencial : MonoBehaviour {

 public GameObject PrefabPeca;
 public Transform[] Referentes;
 int indice = 0;


 void Start () {
 
 PrefabPeca.transform.position = Referentes[8].position;


 }
 

 void Update () {
 

 if(Input.GetKeyDown (KeyCode.RightArrow))
 {
 for(int x = 0; x< Referentes.Length; x++){
 Referentes[8].position = Referentes[x].position;
 PrefabPeca.transform.position = (Referentes[indice].position);
 indice++;
 }
 }




 }
}
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz Qua Abr 05, 2017 11:27 pm

Qual erro que está dando?

Outra coisa, acredito que o seu erro esteja em utilizar o for no input... dê uma olhada:

Código:
for(int x = 0; x< Referentes.Length; x++){
   Referentes[8].position = Referentes[x].position;
   PrefabPeca.transform.position = (Referentes[indice].position);
   indice++;
}

Tipo, tu pressiona e o indice vai percorrer todo o for, então não tem como aumentar apenas uma posição... pela lógica, não faz muito sentido usar o for dessa maneira
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64727
REPUTAÇÃO : 2650
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Qui Abr 06, 2017 12:59 am

OK vou tentar outra coisa entao, na verdade esse script nao funcionou mesmo, a peca nao se mexe, vou descartar esse script, e tentar elaborar outra logica, voce teria alguma outra sugestão pra me indicar estou na busca de ideias?
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz Qui Abr 06, 2017 7:42 pm

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

public class Referencial : MonoBehaviour {

   public GameObject PrefabPeca;
   public int indiceInicial = 0;
   public Transform[] Referentes;

   int indiceAtual;

   void Start () {
      indiceAtual = indiceInicial;
      indiceAtual = Mathf.Clamp (indiceAtual, 0, Referentes.Length-1);
      PrefabPeca.transform.position = Referentes [indiceAtual].position;
   }
      
   void Update () {
      if(Input.GetKeyDown (KeyCode.RightArrow)){
         indiceAtual++;
         indiceAtual = Mathf.Clamp (indiceAtual, 0, Referentes.Length-1);
         PrefabPeca.transform.position = Referentes [indiceAtual].position;
      }
   }
}
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64727
REPUTAÇÃO : 2650
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Sex Abr 07, 2017 1:44 am

Beleza cara eu agradeço sua boa vontade, no caso eu fiz alguns testes com o script que voce concertou, mas ainda infelizmente a peça nao esta se movendo com ele, mas pelo menos teve algum progresso e eu aproveitei a logica e fiz outro script meio que uma gambiarra pra falar a verdade, ainda nao é o resultado desejado, porque nele a peca fica sendo instanciada em cada Transform ao pressionar a tecla, se tivesse um jeito de usar o Translate pra esse comando  ao inves de Instantiate talvez daria mais certo, acho que ta quase vou deixar os scripts na verdade 2 que estou fazendo testes para voce analizar se vai funcionar. 


Código:

using UnityEngine;
using System.Collections;

public class WayPoints : MonoBehaviour {

 public GameObject[] Vizinhos;
 public Transform[] AoVizinho;


 void Start () {

 Renderer rend = GetComponent<Renderer>();
 rend.enabled = false;
 }
 


}

e esse


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

public class ControleMalha : MonoBehaviour {

 public GameObject   peca;
 
 public GameObject  wayPointAtual;
 
 public GameObject PrefabPeca;
 public Vector3 posicao, rotacao;
 public int indiceInicial = 8;
 public Transform[] Referentes;
 
 int indiceAtual;


 void Start () {
 indiceAtual = indiceInicial;
 indiceAtual = Mathf.Clamp (indiceAtual, 8, Referentes.Length-1);
 PrefabPeca.transform.position = Referentes [indiceAtual].position;
 }
 

 void Update () {
 if(Input.GetMouseButtonDown (0)){
 GameObject Peca = (GameObject)Instantiate(PrefabPeca,Referentes [indiceAtual].position, Quaternion.Euler (rotacao));
 
 }
 
 WayPoints scriptWayPoints = wayPointAtual.GetComponent<WayPoints> () ;
 

 for(int x = 0; x< scriptWayPoints.AoVizinho.Length; x++){

 wayPointAtual.transform.position = (scriptWayPoints.AoVizinho[x].position );
 //wayPointAtual.transform.position = (scriptWayPoints.Vizinhos[x].position );
 }

 if(Input.GetKeyDown (KeyCode.RightArrow)){
 GameObject Peca = (GameObject)Instantiate(PrefabPeca,Referentes [indiceAtual].position, Quaternion.Euler (rotacao));
 
 indiceAtual++;
 indiceAtual = Mathf.Clamp (indiceAtual, 8, Referentes.Length-1);
 PrefabPeca.transform.position = Referentes [indiceAtual].position;
 print (Referentes [indiceAtual]);
 //PrefabPeca.transform.position = wayAtual.position - Referentes [indiceAtual].position;
 
 peca.transform.position = (scriptWayPoints.AoVizinho [1].position );
 
 }
 
    }
}

 esse esquema com o for nao esta funcionando bem entao desconsidere o , so estou mostrando o outro esquema que eu estava pensando mas acho que nao vai funcionar, mas o do instantiate talvez tenha funcione.
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz Ter Abr 11, 2017 12:38 am

O script que eu postei faz a peça se mover obrigatoriamente para o transform do indice... se ele não está se movendo, tem outros scripts interferindo.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64727
REPUTAÇÃO : 2650
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Qua Abr 12, 2017 1:11 am

Cara é realmente como voce disse, agora ta perfeito a peça esta se movendo da forma desejada muito obrigado mesmo Laughing Cheers  , so tem pequeno problema que persiste, quando eu torno a peca em um prefab ela nao esta guardando os Transforms dos objetos que a variavel do script pede, nesse caso o que voce acha que deveria ser feito, estou pensando em tentar usar um FindGameObjectsWithTag talvez, sera que funcionara ou voce sabe um outro metodo que poderia ser eficaz no caso?
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Qua Abr 12, 2017 1:57 am

é mas na verdade isso nao deve funcionar porque  nao sei se tem como fazer uma variavel  Transform[] receber valores de object dessa forma o que voce poderia me sugerir?
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Qui Abr 13, 2017 1:43 am

Sera que é possivel converter um GameObject[] em Transform[]? se for possivel talvez eu poderia conseguir usar o FindGameObjectsWithTag pra que  a variavel Transform[] do prefab seja preenchida assim que o prefab entrar em jogo o que voce acha? como eu poderia setar os Transform[]  no prefab
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz Sex Abr 14, 2017 7:06 pm

Existem muitas maneiras de preehcner os transform de uma variável, mas a ordem não é garantida...

Aconselho setar os transform's na mão mesmo.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64727
REPUTAÇÃO : 2650
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Sex Abr 14, 2017 9:15 pm

Sim é isso que eu fiz, eu tenho a peca original no campo e nela eu consegui colocar todos os Transform normalmente e a movimentacao funciona bem nela, mas quando eu arrasto a peca para criar um prefab por algum motivo todos os Transform da array no prefab ficam como None (Transform) e aparece um simbolo  que parece indicar que é proibido setar e eu nao consigo setar nada no local nem mesmo fazendo busca pela janela, isso esta acontecendo so com as arrays, eu tinha feito outra variavel de GameObject[] e deu o mesmo resultado, na verdade eu estava pensando em fazer um script separado so pra setar os Transforms nele e depois chama los nesse script ou entao fazer uma funcao para preencher a array assim que a peca for instanciada no campo que era o objetivo original, nao sei bem o que esta havendo deixei so esse script na peca mas nao sei se ta tendo alguma interferencia mas se voce tiver uma dica pra me ajudar
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz Qua Abr 19, 2017 2:30 am

Você só pode setar transforms no prefab se estes transform's forem filhos do próprio prefab... do contrário não.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64727
REPUTAÇÃO : 2650
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Qui Abr 20, 2017 9:57 pm

Sim eu tinha feito algumas pesquisas ha algum tempo e fiquei sabendo que so poderia setar os Transforms no prefab se estes forem filhos do proprio prefab, fiz alguns testes mas dessa forma nao funciona da forma que eu queria entao realmente vou ter que tentar mudar o esquema de movimentacao, mas lhe agradeço muito pela boa vontade em me ajudar, e eu vou guardar essa logica também porque ela com certeza vai me ser útil mais pra frente  Smile
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Sáb Abr 29, 2017 11:57 pm

Eu estava procurando nos componentes do unity algo que fosse possivel usar e finalmente consegui fazer o prefab ter acesso aos Transforms atraves de Fixed Joint em um objeto vazio do campo que carrega todos os transforms desse jeito

using UnityEngine;
using System.Collections;

public class CriaPeca : MonoBehaviour {

public Vector3 posicao, rotacao;
public GameObject PecaPrefab;

void Update () {
if(Input.GetMouseButtonDown (1)){
GameObject Peca = (GameObject)Instantiate(PecaPrefab, posicao, Quaternion.Euler (rotacao));
GameObject Alvo = GameObject.FindWithTag("Respawn");
Peca.GetComponent<FixedJoint>().connectedBody = Alvo.GetComponent<Rigidbody>();
}

}
}

dessa forma a movimentacao é feita, mas eu tinha começado outro script achando que nao ia ter jeito e a ideia dele tambem é boa porem esta aparecendo esse tipo de erro
 
IndexOutOfRangeException: Array index is out of range.
EspacoManager.SpawnPecas (Int32 index, Int32 x, Int32 y, Int32 z) (at Assets/Scripts/Script Cena2/EspacoManager.cs:100)

vou postar o script se voce puder dar uma olhada pra mim as vezes voce sabe o que pode esta ocasionado isso, acho que deve ser na array mas eu ainda nao sei bem o que, ja fiz varias modificacoes e nada
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Dom Abr 30, 2017 12:18 am

Na verdade sao 3 scripts trabalhando em conjunto vou posta los caso voce puder dar uma olhada o problema esta na movimentacao de novo que dessa vez é feita pelo click do mouse, no caso quando eu clico a peca é instanciada mas nao consigo move la e aparece o erro
IndexOutOfRangeException: Array index is out of range.

o erro aparece inicialmente nas linhas 56 e 100

eu iniciei a lista com um item sera que essa é a causa? o que voce acha?

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

public class EspacoManager : MonoBehaviour {

 public PecaDeSelecao[,] Pecas{set;get;}
 private PecaDeSelecao  pecaSelecionada;

 private const float TILE_SIZE = 1.0f;
 private const float TILE_OFFSET = 0.5f;

 private int selecaoX = -1;
 private int selecaoY = -1;

 public List<GameObject> PrefabsPeca;
 private List<GameObject> ActivePeca;

 private Quaternion orientacao = Quaternion.Euler(0,180,0);

 public bool isWhiteTurn = true;

 private void Start ()
 {
 SpawnAllPecas();

 }

 private void Update ()
 {
 UpdateSelecao ();
 DrawEspacoBoard ();
 SpawnAllPecas();

 if(Input.GetMouseButtonDown(0))
 {
 if(selecaoX >= 0 && selecaoY >= 0)
 {
 if(pecaSelecionada == null)
 {
 // seleciona a Peca
 SelectPeca(selecaoX,selecaoY);
 }
 else
 {
 //move a Peca
 MovPeca(selecaoX,selecaoY,selecaoY);
 }
 }
 }

 }

 private void SelectPeca(int x,int y)
 {
 if(Pecas [x,y] == null)
 return;

 if(Pecas[x,y].isWhite != isWhiteTurn)
 return;

 pecaSelecionada = Pecas[x,y];
 }

 private void MovPeca(int x, int y, int z)
 {
 if(pecaSelecionada.PossivelMove(x,z))
 {
 Pecas[pecaSelecionada.CurrentX,pecaSelecionada.CurrentY] = null;
 pecaSelecionada.transform.position = GetTileCenter(x,y,z);
 Pecas[x,y] = pecaSelecionada;
 isWhiteTurn = !isWhiteTurn;
 }
 pecaSelecionada = null;
 }

 private void UpdateSelecao ()
 {
 if(!Camera.current)
 return;

 RaycastHit hit;
 if(Physics.Raycast(Camera.current.ScreenPointToRay(Input.mousePosition),out hit, 50.0f , LayerMask.GetMask("Campo")))
 {
 selecaoX = (int)hit.point.x;
 selecaoY = (int)hit.point.z;
 }
 else
 {
 selecaoX = -1;
 selecaoY = -1;
 }
 }

 private void SpawnPecas (int index, int x, int y, int z)
 {
 if(Input.GetMouseButtonDown(1)){
 GameObject go = Instantiate(PrefabsPeca[index],GetTileCenter(x,y,z), orientacao) as GameObject;
 go.transform.SetParent (transform);
 Pecas[x,y] = go.GetComponent<PecaDeSelecao> ();
 Pecas[x,y].SetPosition(x,y);
 ActivePeca.Add (go);
 }
 }

 private void SpawnAllPecas()
 {
 ActivePeca = new List<GameObject>();
 Pecas = new PecaDeSelecao[1,1];

 // Spawn pecas do player 1
 for (int i = 0; i < 1; i++)
 SpawnPecas(0, 9,-1,19);

 }

 private Vector3 GetTileCenter(int x,int y, int z)
 {
 Vector3 origem = Vector3.zero;
 origem.x += (TILE_SIZE * x) + TILE_OFFSET + 0.08f;
 origem.y += (TILE_SIZE * y) + TILE_OFFSET;
 origem.z += (TILE_SIZE * z) + TILE_OFFSET - 10.43f;
 return origem;
 }

 private void DrawEspacoBoard ()
 {
 Vector3 widthLine = Vector3.right * 14;
 Vector3 heigthLine = Vector3.forward * 20;
 
 for (int i = 0; i <= 20; i++)
 {
 Vector3 start = Vector3.forward * i;
 
 Debug.DrawLine (start , start  + widthLine);

 for (int j = 0; j <= 14; j++)
 {
 start = Vector3.right * j;
 Debug.DrawLine (start , start  + heigthLine);
 }

 }
 //Draw the selection
 if(selecaoX >= 0 && selecaoY >= 0)
 {
 Debug.DrawLine (
 Vector3.forward * selecaoY + Vector3.right * selecaoX,
 Vector3.forward * (selecaoY + 1) + Vector3.right * (selecaoX + 1));

 Debug.DrawLine (
 Vector3.forward * (selecaoY + 1) + Vector3.right * selecaoX,
 Vector3.forward * selecaoY + Vector3.right * (selecaoX + 1));
 }

 }
}

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

public abstract class PecaDeSelecao : MonoBehaviour {

 public int CurrentX{set;get;}
 public int CurrentY{set;get;}
 //public int CurrentZ{set;get;}
 public bool isWhite;

 public void SetPosition(int x,int y)
 {
 CurrentX = x;
 CurrentY = y;
 //CurrentZ = z;
 }

 public virtual bool PossivelMove(int x, int y)
 {
 return true;
 }

}

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

public class PecaLevel4 : PecaDeSelecao {


}
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz Sex maio 05, 2017 2:24 pm

Esse erro acontece quando o script não consegue acessar o indice... isto acontece quando:

-não tem itens no indice pedido
-o indice não existe

Alguma coisa não está correta na lógica... você está passando do indice que pode acessar ou não está iniciando o indice corretamente.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64727
REPUTAÇÃO : 2650
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster Sáb maio 06, 2017 7:29 pm

Na verdade eu tambem tinha tentado somente setando um gameobject numa variavel comum, e ate que instancia a peca mas nao da pra move la e apesar de nao aparecer esse erro esta acontecendo uma coisa esquisita a peca fica imovel quando eu clico pra move la e o script fica criando infinitos objects vazios no ponto zero ai eu mudei pra esse esquema mas esta dando esse erro, vou ver se consigo testar uma modificacao.
Ronmaster
Ronmaster
Membro
Membro

PONTOS : 2623
REPUTAÇÃO : 4
Respeito as regras : [ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais WvDYdlf

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos