Pular para o conteúdo principal

Destaque

Dia 234 a 238 - EDGE clone #1 [Abandonado]

Dia 234 - 27/12

   

Hoje decidi fazer um sistema de movimento no estilo de um jogo chamado edge, eu tentei fazer sozinho, mas não parecia que ia dar certo, então busquei um tutorial.

link do script do tutorial

Tá meio funcional, mas também meio bugado... o rigidbody está tirando a precisão da posição, o que fez com que as vezes o cubo trave em arestas e as vezes caia, e eu ainda não adicionei uma verificação de chão, mas sinto que estou no caminho certo.

Dei uma jogada no DEMO de EDGE, alguns pontos que notei, o cubo não se move enquanto cai, o cubo pode tentar se manter equilibrado em uma arestas, mesmo se o dono da aresta em questão se mover, o cubo pode cair do mapa, o cubo pode ser empurrado por objetos que se movem, mas ainda sim, ele sempre acaba na grid, não importa o que tu faça, enquanto esta sendo empurrado e esta fora da grid tu só consegue se mover no sentido em q esta sendo empurrado, para subir no objeto q esta te empurrando.

O jogo tem uns botões que podem acionar algumas ações de outros objetos, como fazer com que uma parede te repila, ou mover objetos por um caminho determinado. até mesmo umas ações que parecem ter uma complexidade interessante, ou acionar um objeto móvel.

Também tem botões que possuem um tipo de AND e é preciso apertar mais de um para iniciar uma ação.

Quando tu é repelido por um bloco em uma direção, você pode apertar na direção oposta para freiar mais rápido e antes.


Dia 235 - 28/12

Bem, começando resolvendo a questão do cubo travar nas arestas minha ideia para isso é usar um lerp, para que o cubo esteja sempre sendo empurrado para o meio da tile que ele está na grid, para isso eu arredondei a posição dos eixos para um valor com apenas uma casa depois da virgula para usar como posição target, isso resolveu o problema em parte, na maioria das vezes funciona, mas usar o lerp da forma como eu uso é falho por que nem sempre ele consegue chegar na posição alvo, então é hora de pesquisar no google, como se resolve isso.

Quanto a isso a forma mais simples, é setar manualmente, quando tiver bem próxima :/ bem, mas infelizmente, msm com o cubo na posição perfeita vira e mexe ele trava em uma aresta, uma coisa que funciona é diminuir o colider para 0.95f em todos eixos... mas isso tem uns lados ruins.... e como hoje o clima foi ruim e eu dei uma enrolada... eu só fiz isso por hoje... e é isso pessoal, alias achei uma possível solução, mas falta testar criar um material de física e botar a fricção em 0.

Dia 236 - 29/12

Hoje, estava ocupado com umas coisas, e acho que novamente vou fazer menos do que de costume.

É o negocio do material de física não funciona, vou perguntar sobre isso em um fórum.
E eu fiz uma verificação de chão para que o cubo não se mova caso esteja no ar. e por hoje é só isso, infelizmente.

Dia 237 - 30/12

Consegui resolver o problema da gravidade, basicamente usei a detecção de chão para decidir quando aplicar a gravidade e decidi aplicar direto no transform, o problema é que agora a correção de posição não funciona direito. 😂 e ainda tenho que dar mais uma polida na gravidade 😂😂😂


Bem o estado atual é o seguinte, agora ele verifica se tem espaço para subir, a gravidade está funcional, mas ainda tem que ser melhorada, um cara no fórum me apresentou uma alternativa ao Lerp, que é bem melhor por que vai para a posição exata, mas ainda não implementei, por que achei um erro na forma como eu calculava a posição exata. e por hoje é isso

Dia 238 - 31/12

Por motivos como o clima, desanimo, desanimo hoje não deu para fazer nada no PC...
Mas para contar como dia feito. Vou me limitar a um pouco de planejamento.

Amanhã farei o negócio do botão e do chão que se move, usarei o método MoveTowards(acho que se escreve assim) para mover, antes eu tinha pensado em lerp, que é péssimo já que ele tem problemas para chegar na posição alvo exata... O botão só será apertado de fato quando o cubo estiver digamos no modo parado.

Ei terei que mexer no cubo 🥲 já que ele vai ter que se mover junto ao chão... Na realidade ele também vai ter que se mover junto ao ponto de apoio e na ausência dele se mover com o chão... E acho que terei que alterar o funcionamento da minha gravidade fake 🌝 enfim... Terei que alterar muita coisa...

Acho que vai ser uma lógica do tipo se tiver rotacionando se mova em relação ao ponto de apoio, se parado e no chão se mova em relação ao chão. Se parado e no ar se move com a gravidade fake (assim posso evitar alterar a gravidade fake).

Comentários