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:
Formação de Equipe Battle of Worlds
[Duvida] Forum Bugou?
[____ADMINISTRADOR____] VOTAÇÃO - Eficiência do fórum
Jogo Novo - Testem e Avaliem (Death Zone)
[AJUDA] transform.position
EFEITO LUZ DE UM RELAMPAGO
NEM SEMPRE AS COISAS SAEM COMO NÓS ESPERAMOS
[JOGO PRE ALPHA] o mundo perdido
[Modelo 3D] Ponte + Download grátis!
Modelo 3D - Pack com 2 portas free
Instantiate
Variável static e script de inventário
[Dúvida] Como fazer um sistema de mira 2D?
Erros nesse script
Photon network
Criação de Servidores para jogos dentre unity
Meu Canva nao para de tremer o que fazer?
Como fazer Escolha de Controles para Android
O que minha barra de Respeito Afeta? Pontos? Reputação?
Qual o formato do arquivo para as pessoas poderem baixar meus modelos?
[Duvida] Sistema Loja de Item's
Bug Easy Roads
DUVIDA COMO CRIAR UM BOTÃO VIA SCRIPT
Script não compila com monodevelop
A.S TRUCK
[DEVLOG] Projeto - Girl Blade
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
pathfind (IA) para jogo em 2D? por favor ;/
[DÚVIDA] JOGO ESTILO AGAR.IO NO UNITY 3D
[DÚVIDA] FAZER OBJETO GIRAR EM TORNO DE SI QUANDO CLICAR E ARRASTAR O OBJETO PARA OS LADOS
tutorial dentro do jogo
[SUPER ATUALIZAÇÃO] - Android - Night Hunter RPG, Faça um teste e avalie! Alpha #5
PREFAB(clone)
[Ajuda] Loop na array material
Duvidas multiplayer online em terceira pessoa
(AVALIEM) Sistema de IA para pedestre e trafego e ROTAS COM RAIN
[Resolvido]Error na Hora no Build
(Duvida)Folhas Voarem
Script de Mover - Estilo Subway Surfs
KeyStore para colocar jogo na Google Play
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
ERRO AO COMPILAR O JOGO
Erro no Script
Como rodar uma animação feita em shape keys do blender na unity?
[RESOLVIDO] DUVIDA AI DO INIMIGO
Contruir No local selecionado pelo usuario
[Duvida] A versao Do Visual Studio Influencia?
Dúvida no uso do If para esta ocasião ?
TEM COMO COLOCAR UM VIDEO NO CANVAS?
Mudar Gráfico
[_____CRONOGRAMA DO CANAL_____]
Problema com Sprite
Script de Mover
[Duvida] ScrollBar
Preciso De Um Pessoa Para Fazer Ums Sprites para Um jogo de escape
TESTAR JOGO MULTIPLAYER ONLINE
Veiculos Para o Unity!
ALTERAR DE KeyCode pra Button (ANDROID)
(Slope Skate) Novo jogo na Play Store
Modulo - Game Play Store
[Servidores Experimentais] No Exit - Beta Aberto
SERVIDOR MULTIPLAYER PARA ANDROID
MULTIPLAYER PHOTON
Você acha essa mecânica de combate divertida ou pobre?
MULTIPLAYER ONLINE [PHOTON]
Não consigo conectar meu pc com meu celular em um multiplayer local?
EFEITO TRANSPARENTE TIPO FANTASMA
DUVIDA ANIMAÇÕES INIMIGO
TELEPORTE "A LA MINECRAFT"(ENDERPEARL)
Asset de Movimento de Veiculos (ANDROID)
Como faço para apos uma animação acabar, executar outra ação C#
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO ALPHA)
alguem sabe como eu posso colocar um joystick para mover a camera
Criando FPS Multiplayer
[AVALIAÇÃO] AVALIEM MEU JOGO MOBILE
MEU JOGO DE TERROR EM DESENVOLVIMENTO E BLOGGUER
[UPDATE DO MEU PROJETO] - Veja e avalie o sistema de combate do meu jogo!
Probleminha na animação 16bit andando...
[Duvida] Canvas, Imagens Na Frente.
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[duvida] Easy Roads
Fighters for honor(Jogo da segunda guerra mundial)
[TUTORIAL] Aprenda C# - Unity 5
Mais um Teste do jogo em andamento
ERRO COM SCRIPT INDETECTÁVEL
Como girar o mundo?
[DÚVIDA FATAL]Movimentação do player
Unity Congelando
PHP e MYSQLI
PAUSE COM POP UP !
[TUTORIAL]Passar de cena ao colidir em objeto ou ao passar certo tempo
[RESOLVIDO] Tela (Screen) Android e Joystick adaptável à tela !
Tela Ajustável (Android)
[DÚVIDA] SOM SAIR QUANDO CHEGAR PERTO DE UM OBJETO
Ajuda Jogo de Luta 2D precisando de AI CPU inteligente
Parentear Objetos por script C#
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
BAIXE GRÁTIS MODELOS 3D (FUZIL FOTO REALÍSTICO - 22-06-2017)
ALGUEM SABE COMO POSSO DESATIVAR O LOOP DA ANIMAÇAO
Hoje à(s) 12:52 pm
Hoje à(s) 12:23 pm
Hoje à(s) 12:23 pm
Hoje à(s) 11:54 am
Hoje à(s) 11:36 am
Hoje à(s) 11:18 am
Hoje à(s) 10:54 am
Hoje à(s) 8:21 am
Hoje à(s) 8:15 am
Hoje à(s) 8:14 am
Hoje à(s) 7:44 am
Hoje à(s) 7:27 am
Hoje à(s) 7:26 am
Hoje à(s) 6:38 am
Hoje à(s) 12:08 am
Ontem à(s) 11:31 pm
Ontem à(s) 10:08 pm
Ontem à(s) 9:06 pm
Ontem à(s) 8:33 pm
Ontem à(s) 8:11 pm
Ontem à(s) 4:31 pm
Ontem à(s) 4:21 pm
Ontem à(s) 2:39 pm
Ontem à(s) 2:15 pm
Ontem à(s) 11:34 am
Ontem à(s) 10:03 am
Ontem à(s) 9:59 am
Ontem à(s) 9:53 am
Ontem à(s) 5:55 am
Ontem à(s) 5:53 am
Ter Jun 27, 2017 10:55 pm
Ter Jun 27, 2017 10:55 pm
Ter Jun 27, 2017 10:25 pm
Ter Jun 27, 2017 7:49 pm
Ter Jun 27, 2017 7:47 pm
Ter Jun 27, 2017 7:07 pm
Ter Jun 27, 2017 5:21 pm
Ter Jun 27, 2017 4:46 pm
Ter Jun 27, 2017 4:41 pm
Ter Jun 27, 2017 4:21 pm
Ter Jun 27, 2017 3:58 pm
Ter Jun 27, 2017 3:54 pm
Ter Jun 27, 2017 3:48 pm
Ter Jun 27, 2017 3:48 pm
Ter Jun 27, 2017 3:24 pm
Ter Jun 27, 2017 3:18 pm
Ter Jun 27, 2017 3:02 pm
Ter Jun 27, 2017 2:55 pm
Ter Jun 27, 2017 2:53 pm
Ter Jun 27, 2017 2:11 pm
Ter Jun 27, 2017 2:06 pm
Ter Jun 27, 2017 2:05 pm
Ter Jun 27, 2017 2:03 pm
Ter Jun 27, 2017 2:01 pm
Ter Jun 27, 2017 1:52 pm
Ter Jun 27, 2017 1:51 pm
Ter Jun 27, 2017 1:39 pm
Ter Jun 27, 2017 12:16 pm
Ter Jun 27, 2017 11:01 am
Ter Jun 27, 2017 10:58 am
Seg Jun 26, 2017 10:02 pm
Seg Jun 26, 2017 9:39 pm
Seg Jun 26, 2017 8:28 pm
Seg Jun 26, 2017 6:20 pm
Seg Jun 26, 2017 5:45 pm
Seg Jun 26, 2017 5:32 pm
Seg Jun 26, 2017 2:51 pm
Dom Jun 25, 2017 11:02 pm
Dom Jun 25, 2017 10:18 pm
Dom Jun 25, 2017 3:51 pm
Dom Jun 25, 2017 1:59 pm
Dom Jun 25, 2017 11:50 am
Dom Jun 25, 2017 5:03 am
Dom Jun 25, 2017 2:56 am
Dom Jun 25, 2017 1:57 am
Sab Jun 24, 2017 10:36 pm
Sab Jun 24, 2017 10:12 pm
Sab Jun 24, 2017 9:50 pm
Sab Jun 24, 2017 9:31 pm
Sab Jun 24, 2017 8:27 pm
Sab Jun 24, 2017 7:12 pm
Sab Jun 24, 2017 6:26 pm
Sab Jun 24, 2017 4:44 pm
Sab Jun 24, 2017 3:42 pm
Sab Jun 24, 2017 1:39 pm
Sab Jun 24, 2017 12:41 pm
Sab Jun 24, 2017 12:32 am
Sex Jun 23, 2017 10:38 pm
Sex Jun 23, 2017 6:03 pm
Sex Jun 23, 2017 4:19 pm
Sex Jun 23, 2017 4:19 pm
Sex Jun 23, 2017 4:08 pm
Sex Jun 23, 2017 4:05 pm
Sex Jun 23, 2017 2:02 pm
Sex Jun 23, 2017 12:50 pm
Sex Jun 23, 2017 12:23 pm
Sex Jun 23, 2017 11:44 am
Sex Jun 23, 2017 7:34 am
Qui Jun 22, 2017 9:38 pm
Dom3000
marcos4503
MarcosSchultz
Duarte
Lnc
Diego Felix
Diego Felix
Mic4el
Mic4el
Mic4el
dstaroski
dstaroski
dstaroski
Callyde Jr
fecirineu
hen000
Dom3000
Duarte
Encracker
ffabim
DuViDoSo
tom ramber
Encracker
izacnet
ViniciusBr156
dstaroski
thzin
hamerom
Gabriel César O
Gabriel César O
lelouchsdky
marcos4503
DuViDoSo
ffabim
paulonotur
Zecandy
Duarte
marcos4503
MarcosSchultz
Duarte
Nyland
MarcosSchultz
MarcosSchultz
thzin
Diego Felix
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
fecirineu
fecirineu
ViniciusBr156
PauloFR
Édipo
Édipo
fecirineu
fecirineu
fecirineu
rafaelllsd
fecirineu
Willian Wii
marcos4503
Diego Felix
marcos4503
thzin
marcos4503
glauco
Gabriel César O
hen000
fecirineu
marcos4503
marcos4503
Ghosthy
michelly
LuizFixa3D
tom ramber
Callyde Jr
MarcosSchultz
Zecandy
SmithSchuldiner
Priste_Hell
Mauricio Maggot
LuizFixa3D
Callyde Jr
SmithSchuldiner
tiagoardison
SmithSchuldiner
SmithSchuldiner
Gabriel César O
Callyde Jr
marcos4503
Gregory2017
joabr
marcos4503

[RESOLVIDO] Ajudinha com código

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

Resolvido [RESOLVIDO] Ajudinha com código

Mensagem por artplayer em Ter Ago 09, 2016 6:23 am

Salve pessoal!

Atualmente eu estou utilizando SphereCastAll no FixedUpdate para interação com objetos. Dentro deste, eu tenho um Switch Case dentro de um for para tratar as tags dos objetos de colisão do SphereCast e realizar as ações. Segue o Código:

Código:
void DisparaRayCast(){
 //Cria um SphereCastAll a partir do objeto de referência (ObjRaycast) na diagonal e armazena todas as colisões no "Array" Alvo.
 Alvo = Physics.SphereCastAll (ObjRaycast.position,0.4f,new Vector3(ObjRaycast.forward.x,-1,ObjRaycast.forward.z),3);
 //Trata as tags dos objetos que colidiram com o RayCast e executa as ações...
 for (int i = 0; i < Alvo.Length; i++) {
 switch (Alvo [i].collider.tag) {
 case "Colecionavel":
 if (Input.GetKeyDown (KeyCode.E)) {
 NetworkIdentity idObj = Alvo [i].collider.GetComponent<NetworkIdentity> ();
 Debug.Log ("<color=red>" + Alvo [i].collider.name + "</color>");
 NetworkIdentity oldObjPai = TransformPai.GetComponent<NetworkIdentity>();
 CmdPegaObjeto (idObj, idPlayer, oldObjPai);

 }
 Debug.DrawLine (ObjRaycast.position, Alvo [i].point, Color.red);
 //Destaca o Objeto
 Renderer Objeto = Alvo[i].collider.GetComponent<Renderer>();
 DestacaObjeto (Objeto,0.365f);

 break;



 default:
 
 break;
 }
 }
 
 }

Sim, eu só tenho um case para testes, mas existem outras tags a serem tratadas. Estou usando SphereCast no lugar de RayCast porque o jogador vai poder interagir com mais de um objeto.

E no FixedUpdate...
Código:
void FixedUpdate(){
 if (!isLocalPlayer) {
 return;
 }
 DisparaRayCast ();
 }

O código funciona muito bem, a questão é que em computadores com uma placa de vídeo mais modesta, em áreas que existem muitos objetos o jogo sofre uma queda de quadros terrível. Todas as máquinas em que eu realizei os testes tem o mesmo processador e memória, (i7 / 8gb de ram) mudando somente a placa de vídeo.


  1. RayCasts e derivados consomem mais processamento da GPU e não da CPU?
  2. Alguém poderia sugerir uma maneira "menos porca" de fazer isso? 
  3. Quando utilizo um RayCastAll e ele colide com um ojeto, ele não armazena só o pai, mas sim todos os filhos de um objeto?


Abraços e sucesso a todos !


Última edição por artplayer em Ter Ago 09, 2016 8:13 am, editado 1 vez(es)
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 960
REPUTAÇÃO : 211
Idade : 33
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajudinha com código

Mensagem por artplayer em Ter Ago 09, 2016 8:12 am

Ok, consegui amenizar muito o problema aqui. 

Troquei SphereCastAll por Spherecast e retirei o DrawLine do debug (Ele estava ajudando na queda de FPS).
Código:
void DisparaRayCast(){
 if (Physics.SphereCast (ObjRaycast.position, 0.4f, new Vector3 (ObjRaycast.forward.x, -1, ObjRaycast.forward.z), out Alvo, 3)) {
 
 switch (Alvo.collider.tag) {
 case "Colecionavel":
 ExibeBtnInteracao (true);
 if (Input.GetKeyDown (KeyCode.E)) {
 NetworkIdentity idObj = Alvo.collider.GetComponent<NetworkIdentity> ();
 Debug.Log ("<color=red>" + Alvo.collider.name + "</color>");
 NetworkIdentity oldObjPai = TransformPai.GetComponent<NetworkIdentity> ();
 CmdPegaObjeto (idObj, idPlayer, oldObjPai);
 }
 

 break;



 default:
 ExibeBtnInteracao (false);
 break;
 }
 };
 
 }

Isso já reduziu bastante a queda de FPS em uma placa de vídeo inferior, mas não o bastante a ponto de deixar o jogo liso. Com esta mesma placa de vídeo, fiz alguns testes em jogos com mapas parecidos com o meu desenvolvidos com unity ( The Forest foi um deles ).
O problema é exatamente o mesmo quando se trata de mapas com muitas árvores/grama. Pra falar a verdade o desempenho é exatamente o mesmo, mesmo com configurações muito baixas.

Minha conclusão:
Meu código estava porco sim (E ainda pode estar), mas não dá pra ter um desempenho ótimo em todas as placas de vídeo, infelizmente. 
Pelo menos isso me ajudou a ter um parâmetro pra definir os requisitos mínimos do jogo. Wink
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 960
REPUTAÇÃO : 211
Idade : 33
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajudinha com código

Mensagem por MarcosSchultz em Qua Ago 10, 2016 11:32 pm

SphereCast infelizmente eh MUITO pesado.

Este é um dos motivos da wheelCollider da Unity (colisor para rodas) ser tão ruim. Eles priorizaram o desempenho e fizeram ser apenas 1 raycast para baixo em vez de um circulo com vários raios.

Depende da sua necessidade, mas as vezes usar um Raycast pode ser mais lucrativo
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9042
REPUTAÇÃO : 1459
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: [RESOLVIDO] Ajudinha com código

Mensagem por artplayer em Sab Ago 13, 2016 3:46 pm

É que no meu caso, o personagem está em terceira pessoa e a cabeça dele não se move. Um RayCast simples acabaria sendo muito "fino". Ainda estou usando SphereCast, mas a sua mensagem acabou me fazendo ter uma idéia:

"Rotacionar" o raycast em um ângulo de 45º pra cima e pra baixo a partir do centro, uma espécie de scanner. Só não sei se isso vai interferir no desempenho.
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 960
REPUTAÇÃO : 211
Idade : 33
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajudinha com código

Mensagem por RenanMSV em Sab Ago 13, 2016 3:54 pm

Colocar um raycast no centro da tela ignorando o player n da ?
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1772
REPUTAÇÃO : 324
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajudinha com código

Mensagem por artplayer em Sab Ago 13, 2016 5:33 pm

RenanMSV escreveu:Colocar um raycast no centro da tela ignorando o player n da ?

É que podem ter Objetos no chão ou no alto e a cabeça dele não se move. Então atuamento estou usando um Spherecast com uma grossura razoável saindo dos olhos dele em direção ao chão. Estou usando MeshCollider em algumas ferramentas. Um RayCast comum, acaba não pegando em objetos muito finos ou pequenos. Por isso acabei optando pelo Sphere. Mas tenho a impressão que isso está me dando um custo desnecessário.




... A não ser que eu ponha um BoxCollider com IsTrigger!, Daí dá pra usar um RayCast de boa acho. Vou correr e testar aqui.

 Não tinha pensado nisso ainda! Embarassed
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 960
REPUTAÇÃO : 211
Idade : 33
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajudinha com código

Mensagem por artplayer em Sab Ago 13, 2016 5:56 pm

Funcionou bem aqui, substitui o SphereCast por um Raycast, e nos objetos tenho um MeshCollider ( pra manter a realidade da física quando o objeto cai no chão por exemplo ), e um BoxCollider com IsTrigger pro Raycast.

Não vi mudança em questão de desempenho. No final, acabei ficando com a impressão de que troquei 6 por meia dúzia.
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 960
REPUTAÇÃO : 211
Idade : 33
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajudinha com código

Mensagem por Manawydan em Sab Ago 13, 2016 6:49 pm

voce usa o profiler pra verificar o desempenho?
avatar
Manawydan
Moderador

PONTOS : 892
REPUTAÇÃO : 162
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajudinha com código

Mensagem por artplayer em Sab Ago 13, 2016 7:01 pm

Sim sim, só diminuiu um pouco o consumo da CPU. E em resoluções mais baixas o FPS foi de 28 a 78 ~100. Então acho que tive um ganho considerável sim. Só vou ter que testar o client em uma máquina mais modesta.
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 960
REPUTAÇÃO : 211
Idade : 33
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