-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hero carry box with up and down arrows #264
Hero carry box with up and down arrows #264
Conversation
esse PR ta relacionado a algum issue especificamente? |
@otaconwow sim, a #253 |
@guilhermercaetano estou testando o PR aqui, mas quando eu aperto o botão de carregar, ele já levanta a caixa, ao invés de apenas se agarrar para que eu possa aperta para cima para carregar a caixa. O comportamento é esse mesmo? Pois pelo q eu entendi na descrição do tito, ele se agarra e depois a gente aperta o botão para cima ou para baixo para carregar ou soltar. Aguardando seu retorno 👍 |
@otaconwow A princípio sim, é esse o comportamento. Eu deixei assim pra evitar um pouco combinações de botões, já que pra agarrar a caixa ele não precisa de botões, desde que esteja se movimentando contra o elemento carregável, o detector de colisões que cuida de acionar a animação de empurrar. A gente levantou essa questão mais pq poderia gerar conflito com outros mecanismos que também usam o botão de Ação para interagirem com o personagem. Mas como já se definiram prioridades para o tratamento do botão entre elementos de natureza acionáveis e carregáveis (em #255), acredito que agora não sobraram muitos casos em que isso seria um problema. Por enquanto nada é definitivo, dependendo do qual for a demanda a gente pode se estender essa conversa. Aguardo o feedback, principalmente de vocês do GD nessa issue. |
Entendi. É que a redefinição da prioridade entre acionavel e carregável mudou para resolver o problema para quando existisse um carregavel na mesma posição de um acionavel, pq dai ficava impossível carregar o objeto. Em relação ao comportamento de se agarrar primeiro e depois levantar com o botão para cima, era para resolver seguinte ponto: 1- Se o Heroi estiver em um local onde seja impossivel empurrar ou levantar a caixa, deve-se poder puxa-la para que seja possível levanta-la posteriormente. Por isso foi levantando o comportamento de se agarrar com o botão de ação, pq dai ele pode tirar a caixa desse local "apertado", e depois apertar para cima quando houver espaço para levantar a caixa. O que acha? :) |
Ok, agora sim entendi o ponto. Dá até pra imaginar onde isso poderia ser usado, inclusive no primeiro nível, depois de descer do elevador, tem uma parte em que essa habilidade é útil, em que você tira a caixa debaixo da garagem que tem um teto baixo e não dá pra ele erguer ela ali. :D |
Exatamente :) |
Mudei o design dos controles pra favorecer o tratamento deles, e acertei a questão de segurar a caixa pra poder erguer. Tem uns detalhes pendentes ainda, como elaborar animação tal que quando o herói puxa a caixa, ele passa a caminhar para trás. O detalhe da força precisa de um pouco de atenção. O herói usa torque pra se movimentar (WalkMotor), enquanto a mecânica envolvendo a puxada da caixa implementada nesse PR envolve momento linear. Isso altera e muito a sensação sentida no gameplay entre empurrar e puxar uma caixa, e as velocidades entre um movimento e outro diferem tbm. Uma possível solução sem ter que alterar a física de uma maneira muito significativa seria limitar a força horizontal (atualmente ela é proporcional a massa). Na implementação desse PR, essa força tá em 80f (pullBoxForce). Acredito que os melhores valores pra essa constante ideais são entre 60~80f. |
@guilhermercaetano O herói tem um Joint para carregar a caixa, por que vc não usou ele para segurar ? |
@guilhermercaetano será que não dá pra animar o herói andando pra trás desta maneira ? |
@ednaldomoreira opa, acredito que sim. Vou realizar essas mudanças. E sobre o joint, eu meio que passei despercebido, mas vou adaptar a solução. |
@ednaldomoreira Realizei a mudança no joint. Já o flip no Sprite Renderer acabou sendo uma solução mais complicada do que a que eu tinha adotado(q levou uma só linha), então eu acabei abandonando pq no fim das contas ia ser bem mais trabalhoso e o resultado seria o mesmo. |
Continuando o #258, que teve problemas de conflito e de merge, resolvi abandoná-lo e criar um outro pra ficar mais claro o objetivo do PR