Aqui está uma técnica que eu experimentei recentemente. Meu protótipo RenderMonkey mostra uma seção do desfiladeiro no estilo ermo, mas o mesmo princípio deve funcionar em cavernas.
A idéia é começar com peças genéricas, totalmente chatas, com arestas previsíveis simples, para facilitar a alinhamento sem costuras ou lacunas:
Esses blocos iniciais podem ser formas que você modelou ou tubos de macarrão gerados procedimentalmente de geometria cilíndrica (esse formato é uma variante das sugestões de bcrist e de Steven Stadnicki). O uso de modelos que você criou facilita o manuseio de topologias arbitrárias, como caminhos de ramificação, ou pontos de interesse, como cavernas abertas. Isso ainda é possível com procedimentos puros (veja a sugestão de Gyroninja sobre técnicas metabólicas), mas desafiadores.
Depois que um bloco é colocado no mundo, desloque seus vértices usando as funções de ruído aplicadas no espaço do mundo. Isso preserva a conectividade e a uniformidade entre os blocos (já que os vértices coincidentes têm a mesma entrada no espaço mundial e obtêm a mesma saída de deslocamento), mas fazem com que cada bloco pareça exclusivo e orgânico:
A textura e os normais também são aplicados no espaço mundial - aqui, usando o mapeamento triplanar - para que os blocos adjacentes fiquem completamente sem costura, sem restrições complicadas de desembrulhar os raios UV.
A esperança é que uma técnica como essa lhe proporcione a facilidade de planejamento e controle de nível de um mapa lado a lado, sem repetição visível ou estrutura com aparência mecânica no resultado reproduzível.
Você pode usar uma malha de menor resolução com apenas os componentes de ruído de baixa frequência aplicados para criar a representação de colisão. Como observa o bcrist, você precisará controlar a amplitude máxima do ruído em relação ao raio e à nitidez das curvas do túnel, para garantir que ele nunca se solte completamente.
Uma observação adicional: se sua caverna for realmente infinita, talvez seja necessário "atualizá-la" periodicamente, à medida que o jogador se afasta cada vez mais da origem. Como os números de ponto flutuante perdem precisão em grandes magnitudes, a física e os artefatos de renderização podem surgir a distâncias extremas. Se você fizer isso, desejará que o ruído do espaço no mundo seja periódico em larga escala, com o período exatamente igual ao seu deslocamento de recentes, para não encontrar costuras após os recentes.