26.06.2012, 01:27
Na йpoca que eu criei o iPsStreamer eu tinha criado um algorнtimo. Eu chamava ele de Fluxo Stream e й bom para projetos do tipo. Funciona mais ou menos assim:
Isto й simples, correto? O fato й que o algorнtimo fazia um mapeamento. Os streamers comuns faziam criar objetos em menos de 300 metros de distancia e deu. MAS ISTO Й SIMPLES .. O que acontece se o nъmero de objetos em 300 metros for superior ao de MAX_OBJECTS? Й aн que entrra o Fluxo Stream, vocк percorre todos objetos, os primeiros MAX_OBJECTS -1 que estiverem mais prуximo sгo os que devem ficar
--
Fazendo assim:
Armazena a distancia do objeto ao jogador:
Caso pd for maior que MAX_DRAW_DISTANCE vocк comeзa deletando os objetos mais longes. Usa algum sistema de sort pra classifica. Sei lб.
Quote:
CRIAR TODOS OBJETOS CASO NUMERO TOTAL DE OBJETOS CRIADOS ACIMA FOR MAIOR QUE O PERMITIDO DELETAR OBJETOS LONGES, DEIXANDO APENAS OS PERTOS DO PONTO CENTRAL |
--
Fazendo assim:
Armazena a distancia do objeto ao jogador:
pawn Код:
GetPlayerPos(i, px, py, pz);
px -= OBJETO X;
py -= OBJETO Y;
pz -= OBJETO Z;
pd = floatsqroot((px * px) + (py * py) + (pz * pz));