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:
✖ Projeto HOSPICE Horror Game !! ✖
Precisamos de modeladores
Machado PBR | 3D Axe with PBR textures.
Rigidbody2D AddForce - Como adicionar uma força oneshot.
duvida
Em breve Ilhas Multiplayer, sobrevivencia PVP E PVM
Text multiplayer
[TUTORIAL] Avião Script
Duvida sobre o Unet
Colocar Gifs em uma UI Unity 5?
Como faço para a musica continuar tocando quando muda de cena?
MANTER TELA DO CELULAR LIGADA
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Luz Principal,Luz de Freio,Piscas para Carro,Moto,Caminhão,Ônibus,Etc...
como posso colocar tempo em qualquer script?
SCRIPT ISOMETRICO PARA ROTACIONAR O PLAYER COM MOUSE
Mesmo material mas objeto mais claro
MEU JOGO DE TERROR EM DESENVOLVIMENTO E BLOGGUER
Alguém pode fazer um rig pra mão do meu personagem?
Verificar quantos objetos tem a seguinte tag na scena
visualizador de ritmo
the ŞỮŘVƗVΔŁ ƗŞŁΔŇĐ [Lançamento]
Time
Unity Banco de Dados
Grave no Som da Unity!
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO ALPHA)
Assesar Script De Outra Script
Camera FPS atravessa paredes
R7 - GOOH (resident evil 7)
Formação de equipa para o Jogo Until the last
Suspensão carro com raycast
como criar um botao dentro do if() (em C# pq quero padronizar tudo na mesma linguagem)
Arquivos de Expanssão OBB
Formação de equipe para jogo estilo Rust/DayZ
[DUVIDA]como girar sprite somente no eixo X em direção do mouse
GRAVIDADE não é compatível com Camera.main.ScreenToViewportPoint ?
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
[SUPER ATUALIZAÇÃO] - Android - Night Hunter RPG, Faça um teste e avalie! Alpha #5
Recrutamento para jogo de sobrevivencia estilo DayZ/Rust/H1Z1
-[SCRIPT DE POSIÇÕES ]-
[Duvida] Unity5 - Physics2D.Raycast não obedece distância máxima.
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
como posso fazer sons dos passos do inimigo
Unity - Car engine sound - Primeiro teste
Dúvida sobre particulas
[RESOLVIDO] Executar animação após um X segundos
Como indentificar que estou escrevendo [Unity.UI inputField]
[RESOLVIDO] Blender - Mesh com ossos bugados
[RESOLVIDO] OntriggerEnter Bugado
[RESOLVIDO] Problema com o Reimport e atualização do modelo
Como fazer o raycast ignorar a primeira colisao?
[RESOLVIDO] Animações no script
Transição de Cores Entre Cenas!
Sistema de corrida
Como Detectar toques e destruir objetos no jogo
Terreno procedural com blocos para baixo
alguem poderia me ajudar??
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
alguem sabe um sistema/ideia/tutorial de nicknames/indentificaçao para NETWORK local???
Jogo na Play Store e atualmente tem 40 downloads.
Translate.rotate ( 0, 0, Erro )
[Duvida] Time.TimeScale em jogo multiplayer
Aplicativo Reseta o Banco de Dados - Sqlite
7 erros no script conectar
Audio Player C#
Divulgaçao de Battle of Worlds
Duvida sobre Screenshot e share
Sistema de Buscar o Inimigo Mais Perto
[TUTORIAL] Criar um Array ( lista de objetos )
Casa do CJ Remake unity 2017 + Blender
Fazer um objeto brilhar
criação de terreno realista
Navmesh em mapa gerado aleatoriamente existe?
Linkar Objetos FIlhos!
Seguir um raio no raycast a partir do ponto da tela clicado
Destruir Objetos Filhos
Como fazer um jogo Isometrico com Unity ?
[Duvida] Prefab instanciado não esta indo na direção correta
Sistema De dois Players
Formação de uma equipe pequena
Terreno Procedural
quero instanciar um obj vazio como faço?
[Dúvida] Bugs nos tiros de um jogo 2d
[Dúvida] Cena ficando escura
[RESOLVIDO] Destacar objetos com uma outline
[RESOLVIDO] Algum modo de usar a câmera do android
[RESOLVIDO] Limitar visão em um cenário 2d
Link Torrent Unity 5
Erro CS0118 e CS0131 em script de save.
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[RESOLVIDO]Flip network
Erro em script do Photon Voice
erro de build do jogo
unity ele nao carrega os assets
[____ADMINISTRAÇÃO____] Problemas ao se cadastrar no fórum
[TUTORIAL]fazer os vidros quebrarem!
[RESOLVIDO]Animação importada do 3d Max muda de lugar na Unity
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Hoje à(s) 9:17 pm
Hoje à(s) 9:04 pm
Hoje à(s) 8:06 pm
Hoje à(s) 8:05 pm
Hoje à(s) 5:48 pm
Hoje à(s) 5:27 pm
Hoje à(s) 4:26 pm
Hoje à(s) 3:08 pm
Hoje à(s) 1:44 pm
Hoje à(s) 12:52 pm
Hoje à(s) 10:38 am
Hoje à(s) 10:36 am
Hoje à(s) 10:07 am
Hoje à(s) 9:44 am
Hoje à(s) 6:53 am
Hoje à(s) 12:53 am
Ontem à(s) 9:14 pm
Ontem à(s) 9:00 pm
Ontem à(s) 8:42 pm
Ontem à(s) 8:35 pm
Ontem à(s) 8:17 pm
Ontem à(s) 7:23 pm
Ontem à(s) 7:05 pm
Ontem à(s) 6:36 pm
Ontem à(s) 6:06 pm
Ontem à(s) 5:59 pm
Ontem à(s) 5:41 pm
Ontem à(s) 5:08 pm
Ontem à(s) 4:57 pm
Ontem à(s) 4:11 pm
Ontem à(s) 4:04 pm
Ontem à(s) 3:29 pm
Ontem à(s) 2:44 pm
Ontem à(s) 1:59 pm
Ontem à(s) 1:42 pm
Ontem à(s) 1:37 pm
Ontem à(s) 1:21 pm
Ontem à(s) 1:18 pm
Ontem à(s) 12:44 pm
Ontem à(s) 11:25 am
Ontem à(s) 10:03 am
Ontem à(s) 9:19 am
Ontem à(s) 9:19 am
Ontem à(s) 9:09 am
Ontem à(s) 8:23 am
Ontem à(s) 1:39 am
Ontem à(s) 11:57 pm
Ontem à(s) 11:30 pm
Sab Out 14, 2017 7:07 pm
Sab Out 14, 2017 6:01 pm
Sab Out 14, 2017 5:55 pm
Sab Out 14, 2017 4:25 pm
Sab Out 14, 2017 12:50 pm
Sab Out 14, 2017 12:46 pm
Sex Out 13, 2017 11:58 pm
Sex Out 13, 2017 11:05 pm
Sex Out 13, 2017 9:21 pm
Sex Out 13, 2017 9:20 pm
Sex Out 13, 2017 8:27 pm
Sex Out 13, 2017 5:45 pm
Sex Out 13, 2017 5:37 pm
Sex Out 13, 2017 3:31 pm
Sex Out 13, 2017 2:59 pm
Sex Out 13, 2017 2:02 pm
Sex Out 13, 2017 11:17 am
Sex Out 13, 2017 9:27 am
Sex Out 13, 2017 2:17 am
Qui Out 12, 2017 11:57 pm
Qui Out 12, 2017 11:26 pm
Qui Out 12, 2017 11:23 pm
Qui Out 12, 2017 8:32 pm
Qui Out 12, 2017 7:23 pm
Qui Out 12, 2017 2:58 pm
Qui Out 12, 2017 12:51 pm
Qui Out 12, 2017 11:58 am
Qui Out 12, 2017 6:49 am
Qua Out 11, 2017 11:37 pm
Qua Out 11, 2017 10:01 pm
Qua Out 11, 2017 3:52 pm
Qua Out 11, 2017 12:45 pm
Qua Out 11, 2017 12:42 pm
Qua Out 11, 2017 8:38 am
Qua Out 11, 2017 12:31 am
Ter Out 10, 2017 11:43 pm
Ter Out 10, 2017 11:42 pm
Ter Out 10, 2017 11:39 pm
Ter Out 10, 2017 11:31 pm
Ter Out 10, 2017 11:29 pm
Ter Out 10, 2017 11:24 pm
Ter Out 10, 2017 11:12 pm
Ter Out 10, 2017 11:10 pm
Ter Out 10, 2017 11:06 pm
Ter Out 10, 2017 10:37 pm
Ter Out 10, 2017 9:06 pm
Ter Out 10, 2017 7:56 pm
Ter Out 10, 2017 7:42 pm
Ter Out 10, 2017 6:11 pm
Ter Out 10, 2017 11:03 am
Ter Out 10, 2017 10:24 am
MRX
ScorpionG4mer
ScorpionG4mer
ScorpionG4mer
Fagner
Unidade3d5
richerd
Matrirxp
Phph09
Callyde Jr
colosso16
colosso16
Encracker
Joao07
Callyde Jr
EvertonSantos
Fagner
EvertonSantos
Ghosthy
felipehobs1
Weslley
MRX
Callyde Jr
Callyde Jr
Duarte
glauco
luis gustavo
Encracker
thales.ulisses
heliab125
marcelinodns
luis gustavo
Duarte
CodeZone
contaska
contaska
MRX
dstaroski
thales.ulisses
Weslley
dimmuo
dstaroski
glauco
dstaroski
Phph09
eusouoglaydson
Weslley
Fagner
alxgames
Fagner
Fagner
MRX
Callyde Jr
Callyde Jr
TrevorCrazy
luizmauro123
Madness
natanael.olimpio
glauco
luiz12345
Fagner
Felipe Costa
Phph09
ubroly
PatifeCraft
dstaroski
Dom3000
raulframos
fecirineu
fecirineu
MateusWTP
Phph09
PatifeCraft
luizmauro123
Duarte
Phph09
dimmuo
EvertonSantos
BRGC
Callyde Jr
fecirineu
PatifeCraft
Dom3000
PauloFR
PauloFR
PauloFR
PauloFR
PauloFR
TylerDurden
PauloFR
PauloFR
PauloFR
PatifeCraft
felipehobs1
ryan55br
MarcosSchultz
fabriciorsz34
Claudio Ferreira
PatifeCraft

[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 : 9738
REPUTAÇÃO : 1678
Idade : 21
Á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 : 942
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 : 298
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