Na unidade, vamos supor que eu tenha alguns Objetos de Jogo em minha cena que não são visíveis para a câmera e, portanto, não são renderizados enquanto o jogo está em execução.
Esses objetos de jogo consumirão recursos de computador / dispositivos móveis quando o jogo estiver em execução?
Onde posso encontrar detalhes sobre o uso como esses?
fonte
A resposta curta é sim"; tudo o que estiver pronto para ser usado no seu jogo está ocupando memória.
A outra coisa a considerar é o custo da sua taxa de quadros:
5 objetos, com 5 texturas separadas, desenhados separadamente requerem alterações de estado intermediárias. Você pode economizar memória descarregando texturas que não são usadas.
Ao carregar todas as texturas separadas em uma única textura de atlas, o espaço ocupado na memória fica fixo e você não pode mais descarregar uma textura individual. Uma vez criado, você só precisa vincular o atlas uma vez para desenhar todos os seus objetos.
Outro exemplo é um buffer simples de vértice e índice. Se muitos dos pontos alternam frequentemente entre visíveis e não, é mais rápido deixar os pontos "obsoletos" no buffer de vértice e carregar apenas um novo buffer de índice.
Há muitos outros momentos em que um custo inicial de memória aumentado é preferível a muitas alterações de estado.
Usando um controle lateral como exemplo, se você puder apenas mover para a direita (o mapa apenas rola para a esquerda), qualquer objeto que role para fora do lado esquerdo da tela poderá ser descarregado permanentemente, pois você nunca o usará novamente. Além disso, o conteúdo dos objetos pode ser carregado por demanda logo antes de o objeto rolar para exibição à direita.
fonte
Muitas respostas estão considerando principalmente o aspecto gráfico da sua pergunta.
O fato é que eles ocuparão vários recursos, e o quão caro eles são comparados ao desenho do objeto não é fixo. Não é tão incomum quanto algumas respostas implicam para que seus componentes façam operações mais caras do que o desenho, mas você pode minimizar quantos recursos eles usam. Lembre-se também de que um GameObject ocupa uma pequena quantidade de memória, assim como seus componentes. Os componentes também podem estar fazendo coisas que ocupam um pouco de memória.
A maneira mais simples para minimizar o efeito de componentes fora da tela é um sistema baseado na OnBecameVisible e OnBecameInvisible retornos de chamada.
Claro, isso é de utilidade muito limitada, pois há muitas vezes que você deseja que um objeto fora da tela afete o jogo. Mas você pode expandir um padrão desse tipo para um sistema refinado capaz de minimizar o efeito de seus cálculos mais caros. Mesmo algo tão simples como reduzir algo como a qualidade de um caminho após o script quando o objeto está fora da tela pode resultar em grandes economias a longo prazo.
fonte
É preciso memória para mantê-lo vivo e atualizar sua posição e outras propriedades.
Mas ele não consome recursos gráficos para computadores / dispositivos móveis, pois não é visível.
Portanto, sim, ele consome recursos de memória, mas não recursos gráficos como um Objeto de Jogo visível.
fonte
Qualquer coisa que esteja em um programa consome recursos; Você não acha que os programas funcionam apenas com esperanças e sonhos, acha?
A questão deve ser a quantidade de recursos que um objeto de jogo consome e, para esse fim, acho que essa é uma resposta bastante sólida: http://answers.unity3d.com/questions/280455/how-much-memory-a-gameobject- consume.html
Em suma, eles consomem recursos insignificantes por conta própria. Mas por que você quer um monte de objetos de jogo apenas no seu jogo sem fazer nada? No final das contas, o que você realmente faz com que esses objetos de jogo 'façam' é o que causará qualquer tipo de sobrecarga - e a quantidade de recursos necessários requer muito caso a caso.
fonte