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:
[2 interiores Modelo] + Download Grátis --Para uso comercial!
Problema com o MonoDevelop
Como melhorar desempenho de animações
Existe algum tipo de FPSController para android?
Cena Loading para carregar proximo Level
Sistema de build place
como criar um jogo igual a guitar hero?
(Dúvida) Erro criar sala com Photon.
Sistema de Skins estilo CsGo ou Critical Ops...
[TUTORIAL] Unity 5 - Porta automática
QUIOFOBIA DEMO-JOGO DE TERROR INDIE
Dicas para otimizar o meu jogo
Sistema de construção estilo habbo
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Duvida com script
[DUVIDA] Script Não Funciona
Como usar o Multi Touch para movimentar um personagem ?
[ERRO] Fatal Error Unity!!!
Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
PlayerPrefs
[DÚVIDA]Texto Não Aparece Unity 5
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
Dúvida sobre instantiate!
Footsteps no CharacterController (Unity 5)
Como fazer objetos não atravessar paredes usando transform.Translate?
Quando meu inimigo morre todos morrem, alguem ajuda ?
Asset Store
Mudar cor de um material por Script de forma suave
[Dúvida] Otimização
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
Mudança no NavMeshAgent?
Script para saber se ena está ativa ou carregada
Duvida
Inserir uma página da web dentro do meu jogo
[TUTORIAL] Acessar propriedades dos SHADERS através de SCRIPTS
// Sistema de Afogamento//
Inimigo seguir quando ver o player
Jogo da Memória para crianças. (Android)
(Dúvida) Mirar em terceira pessoa.
Eu produzi esse jogo na unity e gostaria que vocês testassem e avaliassem
I.A Que ataca qualquer coisa inclusive Players..
[DUVIDA]Pergunta Aleatória
Teclado igual o jogo do milhão
Modelos 3d para uso gratuito ou comercial
[TUTORIAL] Unity 5- Sistema de PLATAFORMAS COM ROTAS
///Duvida///
Unity 5 lag com muitas arvores e grass
Problema com "Non-convex MeshCollider"
[____REGRAS DO FÓRUM____]
modelo 3d rotaçao estranha
Direitos autorais de modelos 3D?
ZombieAI
Iluminação ou Shader Bugado ?!
como criar uma barra de vida?
[Asset]Terreno .dae
Problema com GetComponent
[RESOLVIDO] Como ativar e desativar um objeto.
COMO ATIVAR ANIMACAO EMPURRAR OBJETO?
[____TÓPICO LIVRE____] FALE O QUE QUISER
(DUVIDA) Empurrar caixas estilo Resident Evil
Erro de falsa memoria
preciso usar o Lerp fora do Update
[ AJUDA ]Probemas Com seleção de Carros.
Terminei meu game de terror...joguem...
[RESOLVIDO] COMO CRIAR UM ASSET ?
[RESOLVIDO] Como posto o link do game q fiz para o pessoal testar e avaliar?
Criação de tags para objetos
jogo estilo resident evil 4
[TUTORIAL] Pegar arma do chão ao Aperta E (Unity 5)
Direitos autorais
Terrain Bugado
AI Pedestres
Problema com texto ao fazer o build
Onde encontro aulas sobre shaders para a unity 5?
Audio Player C#
UNITY - MOVIE TEXTURE ON ANDROID
Recrutamento para jogo de sobrevivencia estilo DayZ/Rust/H1Z1
Destruir cubos em pedaços Com Um Progetil
(DUVIDA) troca textura em degradê
[RESOLVIDO] Movimento aleatório e suave de um objeto
Reproduzir vídeos do youtube
Return To Ruins Recrutando!
Script de mapa ramdomico?
DUVIDA - Compras de Assets
Versao Final Dark Dreams....agradeco a todos :)
meu jogo primeiro jogo de android
Testem meu Jogo de Aventura
Acertar apenas um componente Collider2D em objeto com mais de um Collider
Como fazer movimento 'serpenteado'
Fontes para Download
inimigo atacar
Mudar o volume do AudioSource conforme altera uma variavel
[DUVIDA] Controle do movimento do ricocheteio de object 2D
Como mirar para cima , baixo etc?
COMO SOBREPOR O PERSONAGEM(objeto1) DO FUNDO(objeto2)????
OTIMIZAÇÃO DE TERRENO...
[TUTORIAL] Mover, Girar e lançar objetos com o mouse ( estilo Amnesia )
[TUTORIAL] Barra de VIDA / HP contínua
Hoje à(s) 4:01 pm
Hoje à(s) 3:26 pm
Hoje à(s) 1:53 pm
Hoje à(s) 1:28 pm
Hoje à(s) 1:18 pm
Hoje à(s) 1:06 pm
Hoje à(s) 11:42 am
Hoje à(s) 11:25 am
Hoje à(s) 10:15 am
Hoje à(s) 9:17 am
Hoje à(s) 7:44 am
Ontem à(s) 10:43 pm
Ontem à(s) 10:00 pm
Ontem à(s) 9:11 pm
Ontem à(s) 9:10 pm
Ontem à(s) 9:07 pm
Ontem à(s) 9:06 pm
Ontem à(s) 9:04 pm
Ontem à(s) 9:02 pm
Ontem à(s) 9:00 pm
Ontem à(s) 8:59 pm
Ontem à(s) 8:58 pm
Ontem à(s) 8:56 pm
Ontem à(s) 8:49 pm
Ontem à(s) 8:46 pm
Ontem à(s) 8:44 pm
Ontem à(s) 8:42 pm
Ontem à(s) 8:40 pm
Ontem à(s) 8:36 pm
Ontem à(s) 8:28 pm
Ontem à(s) 8:25 pm
Ontem à(s) 8:23 pm
Ontem à(s) 8:19 pm
Ontem à(s) 8:14 pm
Ontem à(s) 8:12 pm
Ontem à(s) 7:37 pm
Ontem à(s) 3:35 pm
Ontem à(s) 3:19 pm
Ontem à(s) 8:54 am
Ontem à(s) 12:10 am
Dom Fev 19, 2017 10:55 pm
Dom Fev 19, 2017 9:18 pm
Dom Fev 19, 2017 9:02 pm
Dom Fev 19, 2017 8:31 pm
Dom Fev 19, 2017 6:37 pm
Dom Fev 19, 2017 6:32 pm
Dom Fev 19, 2017 3:46 pm
Dom Fev 19, 2017 3:33 pm
Dom Fev 19, 2017 10:43 am
Sab Fev 18, 2017 11:53 pm
Sab Fev 18, 2017 9:17 pm
Sab Fev 18, 2017 8:34 pm
Sab Fev 18, 2017 8:13 pm
Sab Fev 18, 2017 6:58 pm
Sab Fev 18, 2017 5:32 pm
Sab Fev 18, 2017 4:20 pm
Sex Fev 17, 2017 9:27 pm
Sex Fev 17, 2017 7:18 pm
Sex Fev 17, 2017 9:54 am
Qui Fev 16, 2017 8:23 pm
Qui Fev 16, 2017 6:40 pm
Qui Fev 16, 2017 4:59 pm
Qui Fev 16, 2017 1:14 pm
Qui Fev 16, 2017 11:32 am
Qua Fev 15, 2017 11:24 pm
Qua Fev 15, 2017 10:10 pm
Qua Fev 15, 2017 8:12 pm
Qua Fev 15, 2017 3:08 pm
Qua Fev 15, 2017 2:52 pm
Qua Fev 15, 2017 2:43 pm
Qua Fev 15, 2017 1:20 pm
Qua Fev 15, 2017 12:10 pm
Qua Fev 15, 2017 9:26 am
Qua Fev 15, 2017 8:26 am
Qua Fev 15, 2017 8:22 am
Qua Fev 15, 2017 8:19 am
Qua Fev 15, 2017 8:17 am
Ter Fev 14, 2017 11:37 pm
Ter Fev 14, 2017 10:51 pm
Ter Fev 14, 2017 10:06 pm
Ter Fev 14, 2017 3:57 pm
Ter Fev 14, 2017 2:20 pm
Ter Fev 14, 2017 12:24 pm
Ter Fev 14, 2017 11:02 am
Ter Fev 14, 2017 7:43 am
Seg Fev 13, 2017 8:25 pm
Seg Fev 13, 2017 5:01 pm
Seg Fev 13, 2017 4:38 pm
Seg Fev 13, 2017 11:09 am
Seg Fev 13, 2017 11:02 am
Seg Fev 13, 2017 7:12 am
Seg Fev 13, 2017 7:01 am
Seg Fev 13, 2017 2:01 am
Seg Fev 13, 2017 1:42 am
Seg Fev 13, 2017 1:33 am
Seg Fev 13, 2017 1:32 am
Seg Fev 13, 2017 1:31 am
Seg Fev 13, 2017 1:27 am
Seg Fev 13, 2017 1:18 am
MateusWTP
zZAndersonZz
sabbath
John Rambo
Marc7
dstaroski
thiagograssi
rafaelllsd
Sheyk
dstaroski
dstaroski
MarcosSchultz
Luiz Mauro TCC
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
CanabravaBR
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Zecandy
AndyShow
Pulitano
artplayer
niao
vegasbr
Manawydan
rafaelllsd
joabr
Blue Ark
Zecandy
AndyShow
regisbaldo
MarcosSchultz
joabr
joabr
tom ramber
lordstrik
Callyde Jr
PauloFR
cron
BananaSmith
LukiAli
Mic4el
Zecandy
LukiAli
erick.q.faria
dstaroski
hackernew404
LuizFixa3D
John Rambo
Marc7
dstaroski
Mic4el
joabr
lucasfera15
tom ramber
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
matheus1415
rafaelllsd
Édipo
Marc7
John Rambo
felipefell
André Damazio
dstaroski
hackernew404
niao
Marc7
Marc7
Marc7
Callyde Jr
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

[TUTORIAL] Otimização de colisores ( desativa conforme a distância )

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

TUTORIAL [TUTORIAL] Otimização de colisores ( desativa conforme a distância )

Mensagem por MarcosSchultz em Sex Maio 22, 2015 4:01 pm

Então galera... tive a idéia de fazer esse tutorial pelo FoxTenn do forumwmag

Elaborei um sistema ótimo e simples de otimização, para desativar os colisores quando estiverem distantes do jogador... fazendo o jogo ficar mais leve.


Basta criar um script em C# com o nome " Otimizacao " e jogar em algum objeto da sua cena

O seu jogador deve ter a tag " Player "

defina as distancias de ativação de cada tipo de colisor e pronto, o resto o script faz Very Happy

Código:

using UnityEngine;
using System.Collections;

public class Otimizacao : MonoBehaviour {

 private GameObject jogador;
 public float distanciaBox,distanciaCapsule,distanciaSphere,distanciaMesh; // definir a distancia de ativaçao
 //cria 4 listas de 4 tipos de colisores
 private BoxCollider[] BoxColl;
 private CapsuleCollider[] CapsuleColl;
 private SphereCollider[] SphereColl;
 private MeshCollider[] MeshColl;

 void Start(){
 //adiciona os tipos de colisores as suas respectivas listas
 BoxColl = GameObject.FindObjectsOfType(typeof(BoxCollider)) as BoxCollider[];
 CapsuleColl = GameObject.FindObjectsOfType(typeof(CapsuleCollider)) as CapsuleCollider[];
 SphereColl = GameObject.FindObjectsOfType(typeof(SphereCollider)) as SphereCollider[];
 MeshColl = GameObject.FindObjectsOfType(typeof(MeshCollider)) as MeshCollider[];
 //acha o jogador pela sua tag
 jogador = GameObject.FindWithTag ("Player");
 }
 void Update () {
 //controle da ativaçao dos BoxCollider
 for(int x = 0; x < BoxColl.Length; x++) {
 if(Vector3.Distance(jogador.transform.position,BoxColl[x].transform.position) <= distanciaBox){
 BoxColl[x].GetComponent<BoxCollider>().enabled = true;
 }
 else{
 BoxColl[x].GetComponent<BoxCollider>().enabled = false;
 }
 }
 //controle da ativaçao dos CapsuleCollider
 for(int x = 0; x < CapsuleColl.Length; x++) {
 if(Vector3.Distance(jogador.transform.position,CapsuleColl[x].transform.position) <= distanciaCapsule){
 CapsuleColl[x].GetComponent<CapsuleCollider>().enabled = true;
 }
 else{
 CapsuleColl[x].GetComponent<CapsuleCollider>().enabled = false;
 }
 }
 //controle da ativaçao dos SphereCollider
 for(int x = 0; x < SphereColl.Length; x++) {
 if(Vector3.Distance(jogador.transform.position,SphereColl[x].transform.position) <= distanciaSphere){
 SphereColl[x].GetComponent<SphereCollider>().enabled = true;
 }
 else{
 SphereColl[x].GetComponent<SphereCollider>().enabled = false;
 }
 }
 //controle da ativaçao dos MeshCollider
 for(int x = 0; x < MeshColl.Length; x++) {
 if(Vector3.Distance(jogador.transform.position,MeshColl[x].transform.position) <= distanciaMesh){
 MeshColl[x].GetComponent<MeshCollider>().enabled = true;
 }
 else{
 MeshColl[x].GetComponent<MeshCollider>().enabled = false;
 }
 }
 }
}


Última edição por MarcosSchultz em Ter Jun 07, 2016 9:30 pm, editado 1 vez(es)

MarcosSchultz
Administrador

Masculino PONTOS : 7842
REPUTAÇÃO : 1066
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

TUTORIAL Re: [TUTORIAL] Otimização de colisores ( desativa conforme a distância )

Mensagem por marcelo123 em Sex Maio 22, 2015 4:07 pm

isso vai ajudar muito!

marcelo123
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Otimização de colisores ( desativa conforme a distância )

Mensagem por Lucass em Sab Dez 24, 2016 7:34 pm

Marcos, Muito obrigado por esse script! =D Isso era exatamente o que eu estava tentando criar.
Fiz vários testes aqui e esta perfeito para o meu projeto, eu percebi que o script usa o mesmo valor de (X) em Y e Z.
Tentei modificar esse calculo para que ele calcula-se o X e Z normalmente como já faz com o valor de 10 metros de distancia e que calcula-se o valor de Y separado, com um valor maior de 25 metros de altura, pois o meu projeto possui prédios. Mas minhas tentativas não deram muito certo, o fps acabou dropando muito.

Enfim, acabei deixando o código original mesmo e mantive a distancia de 25 metros para que o X,Y e Z funcionasse sem risco de alguém acabar entrando no objeto.

Obs: Eu tentei mudar o valor de Y pois alem de prédios no projeto, eu pretendo add um sistema de vou ou planar no projeto futuramente e se eu deixasse a distancia de X em 10 metros, ao voar iria continuar com o valor de 10 metros em Y e eu acabava caindo dentro dos prédios.

Msm assim, obrigado por esse conteúdo.

Lucass
Iniciante
Iniciante

PONTOS : 60
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