UNREAL - Existe Clipping Planes?

Por: Alexandre Longo  

Em: 14/01/2019 13:23

Boa Tarde Pessoal

Estou estudando Unreal Engine, e esbarrei em um problema de fácil resolução no MAX, porém dentro da Unreal, não estou conseguindo resolver....

Existe Clipping Plane na Unreal?.... entendo que seria um parâmetro da câmera, mas não achei ele.

Para quem nao sabe o que seria este comando, é tipo um recorte da lente da camera, onde vc define a partir de qual ponto, dentro da visão da camera, vc vai começar a visualizar os objetos.. muito útil para fazer vizualizações em ambientes pequenos, tais como Banheiros e circulações.... 

Grande Abraço!!!

Cordialmente

Alexandre Longo
Oi Alexandre, tudo bem?

Existe uma opção para controlar o Near Clip Plane nas preferências do editor, então, com ele é possível fazer o efeito que deseja.

Ele fica no menu Edit > Project Settings > Engine > General Settings, como mostra a primeira imagem em anexo.

O valor está em centímetros e nunca coloque zero nele porque dá problema na Engine.
Também só vai funcionar depois que reiniciar o Editor, então, não é prático e nem ideal, pois não poderá controlar facilmente.

Acho melhor esconder a parede que estiver atrapalhando a sua visão.
Você pode habilitar o Actor Hidden In Game, no painel Details, se quiser que o objeto fique invisível durante a execução da aplicação, como mostra a segunda imagem em anexo, ou desabilitar o Visible logo acima se quiser que ele fique invisível também no Editor.

Ainda é possível habilitar e desabilitar a visibilidade do objeto através de Blueprint se quiser que a visualização ou não respeite algum critério, como quando se aproximar com a câmera.

Abração e tudo de bom.

André Vieira
Olá André!!!

Como sempre o Mestre André sempre pronto nas respostas.

Agradeço a resposta e irei "fuçar" com base em seus comentários.. mas é uma pena a Unreal não pensar em uma ferramenta tão usada em Arch-viz... de forma simples... com um cokmando direto nas opções da câmera, como é no 3ds max.... mas enfim.. quem sabe futuramente isso vem a ser usado...

Mais uma vez muito obrigado pela resposta Mestre... vou testar e se eu tiver mais alguma dúvida sobre este tema.. posto aqui...

Abraço!!

Cordialmente

Alexandre Longo
Oi Alexandre, tudo bem?

Eu que agradeço a sua participação.

O Clip Plane parece ser uma bobeira mas são nestes pequenos detalhes que a gente nota a diferença entre renderização por Ray Tracing e por rasterização.

O Ray Tracing não precisa de Clip Plane para existir e é fácil implantá-lo, mas a rasterização é impossível sem o Near Clip Plane e alterando ele também modifica todos os efeitos de câmera, então, não é tão simples usá-lo para o fim que usamos no Max.

Entretanto, existem outras técnicas que permitem produzir o mesmo efeito e até efeitos que não são possíveis no Clip Plane do Max, por exemplo um Clip redondo. Com Ray Tracing dá para fazer, mas de outra forma, então, é o mesmo caso em relação ao Clip Plane na rasterização, dá para fazer de outra forma.

Assiste este vídeo tutorial e se tiver qualquer dúvida sobre ele é só postar: https://www.youtube.com/watch?v=CkEueafOvFg

Me avisa quando terminar e se correu tudo bem que eu te ensino o resto, pois dai é só aplicar esse material num Box lincado na câmera (Component) e adicionar um controle para modificar a posição e escala dele em X, assim, você terá um Clip Plane idêntico ao que consegue no Max e poderá controlar nas propriedades do Character no painel Details.

É comum ter que construir suas próprias coisas no Unreal, mas isso te dá uma libertade enorme!

Abração e tudo de bom.

André Vieira
Oi Alexandre, tudo bem?

A sua pergunta me fez pensar, pois nem tinha passado pela minha cabeça o lance do Clip Plane no Unreal, mas se não for criar um projeto interativo e apenas gerar imagens acaba sendo um recurso muito importante.

A sugestão do Location Based Opacity permite reproduzir o efeito do Clip Plane igual é no Max, podendo ver diretamente na Viewport a ação conforme ajusta a distância do Box com o material.

Porém, fui pesquisar outros recursos para ver se tinha uma opção mais fácil, que não envolva Blueprint, e encontrei o Min Draw Distance no Rendering > LOD.
Ele não foi feito para isso, mas serve para este fim, pois você pode definir a distância mínima em relação a câmera que cada objeto aparece na renderização.
Portanto, é só colocar um valor alto nele que o objeto some da renderização.

Você acessa pelo painel Details, dentro do menu Rendering, abrindo a setinha para aparecer as opções do LOD, como mostra a imagem em anexo.

Agradeço pela ótima pergunta, pois ajudou a melhorar a formulação do meu curso.

Abração e tudo de bom.

André Vieira
Grande Mestre!!!

Rapaz, agora me senti uma cebola dentro de uma salada de frutas!!! rsrsrs

Deu nó no meu cérebro sua resposta, mas depois de ler e reler, entendi, e consegui realizar seu exemplo.

Porém nao consegui ver onde isso me ajuda, pois o que queria era que as paredes sumissem na hora que inserir uma camera dentro de um banheiro, por exemplo, pois é muito comum essa situacao dentro do ArchViz, pois banheiros são pequenos e nao temos como mostrar a totalidade do ambiente, sem usar o recurso do clipping plane na camera. Mas nao queria ter q ficar selecionando paredes.. e escodar elas... mas enfim.. tenho certeza que vc me entendeu.. rsrs

Sei que a Unreal é ninja e vc mais ainda, logo encontraremos uma boa opção para resolvermos isso...

Não precisa agradecer sobre a pergunta, tem mais de onde veio esta!.. rsrsrs

Grande Abraço!!!

Paz e Luz!!

Alexandre Longo
Oi Alexandre, tudo bem?

Este negócio do Clip Plane é bravo mesmo, está se tornando um ponto de honra para mim, pois não achei uma solução fácil até agora, estou abismado como isso é uma coisa chata na rasterização.

A primeira sugestão de usar o Location Based Opacity não foi boa, pois vai dar um trabalho imenso para aplicar, encontrei outras formas de fazer que funcionam bem, mas dependem de bastante código.

O maior problema não é esse, porque mesmo que tenha que programar bastante, vai fazer uma vez só e usar para sempre, o problema é que estas coisas são feitas para funcionar In Game, ou seja, durante a execução da aplicação, mas você quer usar no Editor apenas para tirar uma imagem da Viewport.

Então, estou achando mais fácil fazer uma aplicaçãozinha para bater a foto da maquete In Game do que fazer um recurso com o Costruction Script para rodar na Viewport, pois o Construction Script é mais restrito do que o Event Graph e não permite acessar as mesmas coisas.

A única forma fácil de fazer isso no Editor pelo que consegui ver até agora é usando o recurso do LOD que falei na outra mensagem ou o Visibile, dai é só selecionar o objeto que deseja esconder e aumentar o valor do Min Draw Distance do LOD ou desabilitar o Visibile.

Aquele cone da visão da câmera que aparece num aramado azul no Max se chama Camera Frustum no Unreal e ele é acessível via Blueprint, porém, não consegui modificar, apenas saber a posição dos Planes dele no mundo 3D para criar objetos nestes locais.

Só dá para modificar o Frustum e dai alterar tanto o Near Clip Plane como o Far Clip Plane igual no Max se a câmera estiver no modo Ortho, como mostra a imagem em anexo, porque a imagem em perspectiva depende puramente do Frustum e dai ele é controlado pelas propriedades da câmera como FOV e distância focal, então, ele influi em tudo na visualização.

Mas obviamente você não vai querer fazer a foto em Ortho com tudo chapado, então, por enquanto é melhor usar o LOD ou o Visible.

Se eu descobrir mais alguma coisa sobre isso volto a postar aqui e se você descobrir, posta também porque achei o assunto super interessante.

Abração e tudo de bom.

André Vieira
Olá Andre!!!

Agradeço a força ate agora.... se vc diz que nao é tão simples, quem sou eu pra discordar.. rsrsrsrs

Eu estava analisando... pra fazer uns pequenos testes aqui... o negocio é esconder as paredes e pronto.. visto pq uma situação dessas será feita somente para imagens Still, e não pra animação.. entao dá pra fazer "no braço"..e esconder o que precisa para gerar a foto ideial...

Acredito que o pessoal da UNREAL logo resolve esse detalhe, visto que eles tem interesse em trazer o pessoal do ArchViz pra Unreal....

Abraço e tudo de bom!

Cordialmente

Alexandre Longo.
Oi Alexandre, tudo bem?

Eu fico feliz de ter ajudado de alguma forma, vou continuar pesquisando para ver se encontro alguma solução melhor que rode no Editor.

Qualquer coisa que precisar é só falar, pois sempre é um prazer te responder.

Abração e tudo de bom.

André Vieira
Consegui!!!!!.. consegui!!!

Eu abri o console do Unreal... e digitei uma variável que controla isso...

r.SetNearClipPlane 200

Onde o "200".. é a distancia em Centímetros do Clipping Planes....rsrs

É meio simples o método.. mas funciona.. 

Grande Abraço!!!!

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 707504.

Total de membros registrados: 135160

Últimos membros registrados: JessicaSNR, Rova, djsoul, LETICIACRISTINA77, dumps23, ksanzvra, gigathccarts, Deidara026.

Usuário(s) on-line na última hora: 749, sendo 26 membro(s) e 723 visitante(s).

Membro(s) on-line na última hora: Fabio Amorim, Reinaldo Silva, LASLF, Moura, Hot, luckweb, Ronaldo Junior, deathstars, Duda, Felipe Duarte, rmagaton, Nuno, Joao Barreto, Abilio, raflixh, cristian rocha da silva, Henrique Ribeiro, Ronaldo, Eduardo Ramos, Thiago Couto, Le_Andro, Gabriel.C, pauloreis2000, lucielen, Fernando Cunha, dallest91.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.