[RESOLVIDO] network transform e network identity nos objetos filhos
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] network transform e network identity nos objetos filhos
Tenho um objeto pai que contém mais de um jogador selecionável, o objeto pai contem o script da movimentação e os componentes network transform e network identity do mirror. Gostaria de saber se poderia usar esses componentes nos objetos filhos tambem, para poder controlar e animar eles individualmente, sem ter que ser pelo objeto pai
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
Queria tambem saber se podia usar o has authorit pra poder usar os objetos filhosXavier escreveu:Tenho um objeto pai que contém mais de um jogador selecionável, o objeto pai contem o script da movimentação e os componentes network transform e network identity do mirror. Gostaria de saber se poderia usar esses componentes nos objetos filhos tambem, para poder controlar e animar eles individualmente, sem ter que ser pelo objeto pai
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
Você está deixando como filho pois são prefabs de personagens diferentes ou é por conta da transformação do próprio personagem que você comentou no outro post?
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
ambos os casos. Tanto os persongens diferentes que sao selecionáveis como os que são transformaçõesFagner escreveu:Você está deixando como filho pois são prefabs de personagens diferentes ou é por conta da transformação do próprio personagem que você comentou no outro post?
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
Você seguiu algum tutorial específico?
Eu recomendaria criar cada prefab de personagem separado, nele ficaria um network transform, network identity e network animator.
O player seria apenas um network identity.
Os prefabs dos personagens ficariam no spawnable prefabs, lá no network manager.
Quando você iniciasse o jogo, escolheria o personagem e spawnaria o prefab do jogador. Após spawnado, você atribui a autoridade do prefab pro jogador e ele passaria a controlar o personagem.
https://mirror-networking.gitbook.io/docs/guides/authority
As transformações de humano para outra coisa você gerenciaria com o setActive, como já está fazendo.
Eu recomendaria criar cada prefab de personagem separado, nele ficaria um network transform, network identity e network animator.
O player seria apenas um network identity.
Os prefabs dos personagens ficariam no spawnable prefabs, lá no network manager.
Quando você iniciasse o jogo, escolheria o personagem e spawnaria o prefab do jogador. Após spawnado, você atribui a autoridade do prefab pro jogador e ele passaria a controlar o personagem.
https://mirror-networking.gitbook.io/docs/guides/authority
As transformações de humano para outra coisa você gerenciaria com o setActive, como já está fazendo.
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
ok, muito obrigadoFagner escreveu:Você seguiu algum tutorial específico?
Eu recomendaria criar cada prefab de personagem separado, nele ficaria um network transform, network identity e network animator.
O player seria apenas um network identity.
Os prefabs dos personagens ficariam no spawnable prefabs, lá no network manager.
Quando você iniciasse o jogo, escolheria o personagem e spawnaria o prefab do jogador. Após spawnado, você atribui a autoridade do prefab pro jogador e ele passaria a controlar o personagem.
https://mirror-networking.gitbook.io/docs/guides/authority
As transformações de humano para outra coisa você gerenciaria com o setActive, como já está fazendo.
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
Só uma outra pergunta, todos os componentes network dos personagens tem que ter o client authorit ativado?Xavier escreveu:ok, muito obrigadoFagner escreveu:Você seguiu algum tutorial específico?
Eu recomendaria criar cada prefab de personagem separado, nele ficaria um network transform, network identity e network animator.
O player seria apenas um network identity.
Os prefabs dos personagens ficariam no spawnable prefabs, lá no network manager.
Quando você iniciasse o jogo, escolheria o personagem e spawnaria o prefab do jogador. Após spawnado, você atribui a autoridade do prefab pro jogador e ele passaria a controlar o personagem.
https://mirror-networking.gitbook.io/docs/guides/authority
As transformações de humano para outra coisa você gerenciaria com o setActive, como já está fazendo.
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
depende, no seu caso acredito que sim.
client authority vai permitir que qualquer um que não seja o server controle o personagem, você ia querer isso desmarcado se mandasse só o input pro server e a movimentação ocorresse lá, você só veria a sincronização, mas teria delay.
client authority vai permitir que qualquer um que não seja o server controle o personagem, você ia querer isso desmarcado se mandasse só o input pro server e a movimentação ocorresse lá, você só veria a sincronização, mas teria delay.
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
hm, e o script pra spawnar seria com um instantiate simples ou um especial por ser network?Fagner escreveu:depende, no seu caso acredito que sim.
client authority vai permitir que qualquer um que não seja o server controle o personagem, você ia querer isso desmarcado se mandasse só o input pro server e a movimentação ocorresse lá, você só veria a sincronização, mas teria delay.
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
No server, usando um método com "[Command]", você vai spawnar como um objeto normal, depois fazer isso:
Isso vai fazer o objeto ser criado e ficar visível pra todos os jogadores.
- Código:
GameObject objeto = Instantiate(objetoPrefab);
NetworkServer.Spawn(objeto);
Isso vai fazer o objeto ser criado e ficar visível pra todos os jogadores.
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
hm, agora eu entendi, n tinha entendido exatamente oq era o [Command], ele basicamente se comunica com o servidor atraves do script de um cliente, é isso?Fagner escreveu:No server, usando um método com "[Command]", você vai spawnar como um objeto normal, depois fazer isso:
- Código:
GameObject objeto = Instantiate(objetoPrefab);
NetworkServer.Spawn(objeto);
Isso vai fazer o objeto ser criado e ficar visível pra todos os jogadores.
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
Sim, [command] é o meio que você tem pra executar algum código no servidor, nesse caso como o servidor tem autoridade sobre tudo, e nós precisamos da autoridade do objeto que você vai spawnar, nós chamamos o command pedindo pra instanciar, e nesse mesmo método você aproveita pra pedir a autoridade do objeto pra você.
No link que mandei antes tem exemplos de como requisitar a autoridade de um objeto no servidor
No link que mandei antes tem exemplos de como requisitar a autoridade de um objeto no servidor
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
Eu fiz tudo do jeito certo mas o jogador não se mexia. Dps eu percebi que as ações que não funcionavam era as que estavam dentro da condição "isLocalPlayer", porque a prefab do player é aquela que só tem o network identity e o script pra spawnar. Tem jeito de fazer o server reconhecer os spawnados como local player ou eu teria que colocar o script de movimento na prefab do player e mover todos eles pelo msm script?Fagner escreveu:Sim, [command] é o meio que você tem pra executar algum código no servidor, nesse caso como o servidor tem autoridade sobre tudo, e nós precisamos da autoridade do objeto que você vai spawnar, nós chamamos o command pedindo pra instanciar, e nesse mesmo método você aproveita pra pedir a autoridade do objeto pra você.
No link que mandei antes tem exemplos de como requisitar a autoridade de um objeto no servidor
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
Mas esse é justamente o ponto da minha última mensagem, o islocalPlayer e o HasAuthority só funciona se você tiver autoridade sobre o objeto, então você spawna e pede a autoridade ao server.
eu daria preferência ao HasAuthority, troque o islocalPlayer por ele.
Aqui tem um exemplo, o player possui apenas um NetworkIdentity e o script que pede pro server spawnar o objeto dando autoridade pra ele (jogador).
Os personagens tem apenas o código relacionado com a movimentação, pra se movimentar é preciso ter autoridade sobre eles.
Os botões alfanuméricos 1 e 2 criam os personagens, a seta de navegação move o personagem.
https://drive.google.com/file/d/14JoPOqVA0bRE-s8Ph1yyZ-aA1TBACayv/view?usp=sharing
eu daria preferência ao HasAuthority, troque o islocalPlayer por ele.
Aqui tem um exemplo, o player possui apenas um NetworkIdentity e o script que pede pro server spawnar o objeto dando autoridade pra ele (jogador).
Os personagens tem apenas o código relacionado com a movimentação, pra se movimentar é preciso ter autoridade sobre eles.
Os botões alfanuméricos 1 e 2 criam os personagens, a seta de navegação move o personagem.
https://drive.google.com/file/d/14JoPOqVA0bRE-s8Ph1yyZ-aA1TBACayv/view?usp=sharing
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] network transform e network identity nos objetos filhos
Valeu, funcionou.Fagner escreveu:Mas esse é justamente o ponto da minha última mensagem, o islocalPlayer e o HasAuthority só funciona se você tiver autoridade sobre o objeto, então você spawna e pede a autoridade ao server.
eu daria preferência ao HasAuthority, troque o islocalPlayer por ele.
Aqui tem um exemplo, o player possui apenas um NetworkIdentity e o script que pede pro server spawnar o objeto dando autoridade pra ele (jogador).
Os personagens tem apenas o código relacionado com a movimentação, pra se movimentar é preciso ter autoridade sobre eles.
Os botões alfanuméricos 1 e 2 criam os personagens, a seta de navegação move o personagem.
https://drive.google.com/file/d/14JoPOqVA0bRE-s8Ph1yyZ-aA1TBACayv/view?usp=sharing
Xavier- Membro
- PONTOS : 1378
REPUTAÇÃO : 7
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Pegar Objetos Filhos e Adicionar em uma Lista ou Array para Usálos como Waypoints
» [RESLVIDO] Unity - "transform.SetParent()" em 2 objetos move outros objetos
» [RESOLVIDO] Como faço para um transform.position receber um novo transform dentro de um if
» [RESOLVIDO] Rotação de um gameobject sem que os filhos se alterem?
» Linkar Objetos FIlhos!
» [RESLVIDO] Unity - "transform.SetParent()" em 2 objetos move outros objetos
» [RESOLVIDO] Como faço para um transform.position receber um novo transform dentro de um if
» [RESOLVIDO] Rotação de um gameobject sem que os filhos se alterem?
» Linkar Objetos FIlhos!
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos