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:
Parede ocas
SITE MODELOS 3D PARA USO COMERCIAL
[ME AJUDA] O player não se movimenta...
Movimentaçao player
Unity Microfone
Home Simulator 2017 (Estilo The Sims em 1ª Pessoa) (Download Grátis)
OBJETO GIRAR QUANDO ARRASTAR O MOUSE
MUDAR FLOAT NO FIM DE UMA ANIMAÇÃO
RagDoll + Download Free -- feito por um gringo
Instanciar objetos aonde mira
[DUVIDA] "encostar" em um GameObject e Tomar Dano
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
[AJUDA] Cronometro
disolver/ desintegrar um objeto
COMO POSSO FAZER O INIMIGO MORRER COM TIRO?
Fazer objeto preview andar de gridsize em gridsize
[PEDIDO] Designers ou Entendedores (Capa,Menu e ToolTip) 3 Imagens
[RESOLVIDO] Publicando Apk Parte 2
[TUTORIAL] IA Simples
Ajustar o Brilho do LensFlare de Acordo com a Distância
CONTROLE ARCADE PARA JOGO DE CORRIDA
[TUTORIAL] IA Simples Parte 2 (Atirar)
[DEMO] Survival Block
Aprimoramento IA Inimiga
Batalha de Canhão
[RESOLVIDO] Camera Collider
Todos os inimigos morrem
[____TÓPICO LIVRE____] FALE O QUE QUISER
Canal de tutoriais android
Area Para modeladores
Inimigo ao seguir flutua [ajuda]
Chamar Metodo
Gerador de códigos
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Duvida sobre patrulha aleatória
Demo de jogo para testarem...
Criação de uma mensagem notificação em objeto 3d no unity
[TUTORIAL] Fazer um VOLANTE com UI, para Android
[DUVIDA] Como destruir um GameObject (cubo etc...) sem destruir seus "afilhados"
[Duvida] Como fazer uma luz se desativar ao ficar longe dela
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
GRAFICO BUGADO [MOBILE]
Duvida sobre array de gameobject
ERRO NO APK
ANIMAÇÃO
sincronizar um Variável String multiplayer
DUVIDAS VARIADAS
Publicando Apk na PlayStore
Curar vida ao coletar itens
(Dúvida) Rotacionar roda
Sistema de tráfego
ObjetoCair
Existe alguma forma de fazer multiplayer por lan ou por bluethooth?
Duvida Script
converter para C#
Animação de movimento
Modelos 3D para uso gratuito ou comercial
Ajuda com jogos em flash
[RESOLVIDO] Dano No Player Ajuda erro
Como fazer parar de seguir em uma distancia determinada
Meus modelos 3D em fase de experimento
Game Resistência
Lampião Vs Zombies - FORMAÇÃO DE EQUIPE - Jogo 2D
Criando Inteligencia Artificial Para BOSS.
Problema Com Menu Inicial !!
Tutorial rpg?
Criar um objeto preso em apenas um lado
Inventario equipando roupas - Leia mas para saber
Animação não esta ativando na hora do pulo
COMO POSSO FAZER UM MULTIPLAYER?
Menu principal não funciona no mobile
tenho que alterar os scripts para transfomar um game para Android????
Movimentação, sem Rigidbody
dash estilo megaman x, suavizar
[TUTORIAL] Mensagem aparecer na tela conforme a distância do jogador (Unity 5)
Como criar um sistema d interação cm objetos atraves do raycasthit?
RESOLVIDO Script de ligar/desligar lanterna Unity 5 Ultima Versao
Script para recarregar cena
como chamar void do objeto em que o RayCast bateu?
modificar a agua (Tsunami e outros)
bolleana [mobile]
Nav Mesh em mapa Aleatorio
Animar meu personagem (pedido)
drop Down Converter Texto Para imagem
Criar uma animação antes de começar a fase
CONTROLE DE UM CARRO PARA MOBILE
Criar chat para Android
[TUTORIAL] Ligar e Desligar Lanterna
QUERO CRIAR UM SCRIPT PARA UM SIMULADOR DE CARRO
MUDANÇA DE SCENA
Ia inimiga pequeno erro
[Meu Jogo [Aircraft- Space Guardian]] Testem porfavor !
Duvida sobre movimentação
Dúvida: Movimentação de Personagem 2D
Como permanecer mirando?
chamar animação [mobile]
Tutorial de RTS
JOGO DE PETECA(JOGAR UMA BOLINHA NA OUTRA)
[Pedido] Link de uma versão do sdk que funcione ;-;
Hoje à(s) 10:24 am
Hoje à(s) 10:05 am
Hoje à(s) 10:00 am
Hoje à(s) 9:45 am
Ontem à(s) 10:57 pm
Ontem à(s) 10:13 pm
Ontem à(s) 8:30 pm
Ontem à(s) 6:55 pm
Ontem à(s) 4:50 pm
Ontem à(s) 4:46 pm
Ontem à(s) 4:42 pm
Ontem à(s) 4:38 pm
Ontem à(s) 4:33 pm
Ontem à(s) 2:39 pm
Ontem à(s) 1:33 pm
Ontem à(s) 1:19 pm
Ontem à(s) 12:46 pm
Ontem à(s) 8:56 am
Qua Mar 22, 2017 7:47 pm
Qua Mar 22, 2017 7:38 pm
Qua Mar 22, 2017 7:30 pm
Qua Mar 22, 2017 3:28 pm
Ter Mar 21, 2017 11:50 pm
Ter Mar 21, 2017 10:14 pm
Ter Mar 21, 2017 7:22 pm
Ter Mar 21, 2017 6:08 pm
Ter Mar 21, 2017 5:00 pm
Ter Mar 21, 2017 4:43 pm
Ter Mar 21, 2017 3:22 pm
Ter Mar 21, 2017 3:08 pm
Ter Mar 21, 2017 2:13 pm
Ter Mar 21, 2017 12:58 pm
Ter Mar 21, 2017 11:47 am
Ter Mar 21, 2017 10:53 am
Ter Mar 21, 2017 10:41 am
Ter Mar 21, 2017 10:13 am
Ter Mar 21, 2017 7:26 am
Ter Mar 21, 2017 12:26 am
Ter Mar 21, 2017 12:10 am
Ter Mar 21, 2017 12:09 am
Ter Mar 21, 2017 12:05 am
Ter Mar 21, 2017 12:02 am
Seg Mar 20, 2017 11:58 pm
Seg Mar 20, 2017 11:55 pm
Seg Mar 20, 2017 9:10 pm
Seg Mar 20, 2017 7:57 pm
Seg Mar 20, 2017 6:41 pm
Seg Mar 20, 2017 4:31 pm
Seg Mar 20, 2017 8:10 am
Dom Mar 19, 2017 11:32 pm
Dom Mar 19, 2017 8:50 pm
Dom Mar 19, 2017 8:20 pm
Dom Mar 19, 2017 12:06 pm
Sab Mar 18, 2017 10:31 pm
Sab Mar 18, 2017 10:01 pm
Sab Mar 18, 2017 8:26 pm
Sab Mar 18, 2017 8:06 pm
Sab Mar 18, 2017 6:53 pm
Sab Mar 18, 2017 5:31 pm
Sab Mar 18, 2017 9:41 am
Sab Mar 18, 2017 7:23 am
Sex Mar 17, 2017 11:51 pm
Sex Mar 17, 2017 10:02 pm
Sex Mar 17, 2017 3:21 pm
Sex Mar 17, 2017 12:42 pm
Sex Mar 17, 2017 10:47 am
Qui Mar 16, 2017 11:16 pm
Qui Mar 16, 2017 9:33 pm
Qui Mar 16, 2017 9:32 pm
Qui Mar 16, 2017 9:28 pm
Qui Mar 16, 2017 9:18 pm
Qui Mar 16, 2017 9:16 pm
Qui Mar 16, 2017 9:09 pm
Qui Mar 16, 2017 9:08 pm
Qui Mar 16, 2017 9:07 pm
Qui Mar 16, 2017 9:06 pm
Qui Mar 16, 2017 8:59 pm
Qui Mar 16, 2017 8:56 pm
Qui Mar 16, 2017 8:52 pm
Qui Mar 16, 2017 8:48 pm
Qui Mar 16, 2017 8:44 pm
Qui Mar 16, 2017 8:44 pm
Qui Mar 16, 2017 8:40 pm
Qui Mar 16, 2017 8:20 pm
Qui Mar 16, 2017 7:33 pm
Qui Mar 16, 2017 5:32 pm
Qui Mar 16, 2017 5:32 pm
Qui Mar 16, 2017 5:14 pm
Qui Mar 16, 2017 5:12 pm
Qui Mar 16, 2017 10:49 am
Qua Mar 15, 2017 7:56 pm
Qua Mar 15, 2017 7:08 pm
Qua Mar 15, 2017 5:24 pm
Qua Mar 15, 2017 5:03 pm
Qua Mar 15, 2017 3:26 pm
Qua Mar 15, 2017 3:17 pm
Qua Mar 15, 2017 2:58 pm
Qua Mar 15, 2017 2:31 pm
Qua Mar 15, 2017 11:50 am
maikonluis
Callyde Jr
Callyde Jr
Callyde Jr
hen000
hen000
Weverton Borges da Silva
rafaelllsd
MateusWTP
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
dstaroski
Callyde Jr
hackernew404
Madness
Paizudo
Gabriel César O
AnderGames
Gabriel César O
Matrirxp
rafaelllsd
Matrirxp
AndyShow
ffabim
rafaelllsd
PauloFR
MikaelSteam
PauloFR
bravoent
Matrirxp
Ghosthy
DuViDoSo34
arnaldojunior
Édipo
Phillip
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
lucasfera15
Khilua
PauloFR
Paizudo
willtuck
rafaelllsd
rafaelllsd
IanLuan
John Rambo
kalielson
willtuck
MikaelSteam
joabr
Luiz Mauro TCC
bravoent
AndyShow
joabr
kalielson
BatataName
Callyde Jr
John Rambo
Callyde Jr
IanLuan
MarcosSchultz
Junim
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Phillip
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
kalielson
MarcosSchultz
MarcosSchultz
Junim
Junim
Gabriel César O
Gabriel César O
Gabriel César O
Lukynhasfera70
Junim
Junim
Junim
Junim
victorgx22
dstaroski
IgorFporto
BatataName
IgorFporto

[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)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8092
REPUTAÇÃO : 1137
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 : 734
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 : 91
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