_Kurimatzu_ Postado Dezembro 12, 2015 Denunciar Compartilhar Postado Dezembro 12, 2015 Queria fazer uma particula, girando em volta do jogador .-. Alguém sabe que matemática é essa? '-' Link para o comentário Compartilhar em outros sites More sharing options...
Guest Mapr Postado Dezembro 12, 2015 Denunciar Compartilhar Postado Dezembro 12, 2015 (editado) Eu também já pensei fzr algo assim mas não descobri a lógica por trás da coisa então vou ficar aqui só esperando alguém com a resposta. Editado Dezembro 12, 2015 por Mapr Link para o comentário Compartilhar em outros sites More sharing options...
Guest md5 Postado Dezembro 13, 2015 Denunciar Compartilhar Postado Dezembro 13, 2015 Defina "girando" ... Quer dizer "girando" como XP que fica flutuando em volta do jogador (as vezes)? Ou um círculo de partículas em volta do jogador? Link para o comentário Compartilhar em outros sites More sharing options...
Viiict0r Postado Dezembro 13, 2015 Denunciar Compartilhar Postado Dezembro 13, 2015 Isso se faz com packets, como não sei... Link para o comentário Compartilhar em outros sites More sharing options...
vitorrdgs Postado Dezembro 13, 2015 Denunciar Compartilhar Postado Dezembro 13, 2015 É trigonométria, é difícilzin mas eu ja fiz uns testes... Nao precisa usar Packet obrigatoriamente. Tutorial Gringo: http://m.youtube.com/channel/UCIA3ywM1G19ZlIfD1HOKOjg Esse cara faz as partículas do PvPDojo... Caso queira uma API e pa mais simples, use o EffectLib 3 Link para o comentário Compartilhar em outros sites More sharing options...
_Kurimatzu_ Postado Dezembro 13, 2015 Autor Denunciar Compartilhar Postado Dezembro 13, 2015 É trigonométria, é difícilzin mas eu ja fiz uns testes... Nao precisa usar Packet obrigatoriamente. Tutorial Gringo: http://m.youtube.com/channel/UCIA3ywM1G19ZlIfD1HOKOjg Esse cara faz as partículas do PvPDojo... Caso queira uma API e pa mais simples, use o EffectLib Eu não achei oque eu queria.. e +- aquele sistema do battle que fica girando holograma, porém em vez de holograma é particulas. Link para o comentário Compartilhar em outros sites More sharing options...
Guest gkovalechyn Postado Dezembro 13, 2015 Denunciar Compartilhar Postado Dezembro 13, 2015 Supondo que você queira girar o negócio no plano XZ, a matriz de rotação é: [cosθ 0 senθ] [ 0 1 0 ] [-senθ 0 cosθ] Só lembre que você quando for aplicar isso a alguma localização vai girar em torno do ponto (0, 0, 0). Link para o comentário Compartilhar em outros sites More sharing options...
_Kurimatzu_ Postado Dezembro 13, 2015 Autor Denunciar Compartilhar Postado Dezembro 13, 2015 Supondo que você queira girar o negócio no plano XZ, a matriz de rotação é: [cosθ 0 senθ] [ 0 1 0 ] [-senθ 0 cosθ] Só lembre que você quando for aplicar isso a alguma localização vai girar em torno do ponto (0, 0, 0). buguei ;-; Link para o comentário Compartilhar em outros sites More sharing options...
Guest gkovalechyn Postado Dezembro 13, 2015 Denunciar Compartilhar Postado Dezembro 13, 2015 (editado) buguei ;-; Basicamente, você tem um vetor que é a localização, (x, y, z). Você quer girar isso no plano XZ para fazer a particula girar em volta do player. Para fazer um ponto girar no plano XZ você rotaciona ele em relação a Y, para girar ele você aplica essa matriz a esse vetor (A posição). Ou seja, se você aplicar: [x] [cosθ 0 senθ] [xRot] [y] * [ 0 1 0 ] = [yRot] [z] [-senθ 0 cosθ] [zRot] Onde: [x, y, z] é a posição atual da partícula. θ é o ângulo que você quer girar. [xRot, yRot, zRot] é a posição final da partícula rotacionada. (Isso sem contando a quarta dimensão porque você não vai precisar aqui) Só que isso, assume que o centro da rotação é (0, 0, 0). Se você quer girar em volta de algum outro pronto, primeiro você translada, muda de posição, o centro para o ponto que você quer. Para fazer isso é só subtrair a posição da partícula da posição do ponto que você quer que seja o centro. Ou seja: posicaoParticula = (x, y, z) centro = (playerX, playerY, playerZ) posicaoRelativa = posicaoParticula - centro; Daí ao invés de usar a posição real da partícula para calcular a rotação, só usar a posição relativa e transladar de volta para em volta do player. resultado = posicaoRelativa * matrizDeRotacao; resultado += centro; Editado Dezembro 13, 2015 por gkovalechyn Link para o comentário Compartilhar em outros sites More sharing options...
_Kurimatzu_ Postado Dezembro 13, 2015 Autor Denunciar Compartilhar Postado Dezembro 13, 2015 (editado) Basicamente, você tem um vetor que é a localização, (x, y, z). Você quer girar isso no plano XZ para fazer a particula girar em volta do player. Para fazer um ponto girar no plano XZ você rotaciona ele em relação a Y, para girar ele você aplica essa matriz a esse vetor (A posição). Ou seja, se você aplicar: [x] [cosθ 0 senθ] [xRot] [y] * [ 0 1 0 ] = [yRot] [z] [-senθ 0 cosθ] [zRot] Onde: [x, y, z] é a posição atual da partícula. θ é o ângulo que você quer girar. [xRot, yRot, zRot] é a posição final da partícula rotacionada. (Isso sem contando a quarta dimensão porque você não vai precisar aqui) Tem como enviar um codigo? Editado Dezembro 13, 2015 por _Kurimatzu_ Link para o comentário Compartilhar em outros sites More sharing options...
Guest gkovalechyn Postado Dezembro 13, 2015 Denunciar Compartilhar Postado Dezembro 13, 2015 (editado) Eu ainda não aprendi isso (na escola) ;-; Tem como enviar um codigo? Eu sou praticamente contra enviar còdigo, só quando a coisa é mais complicada mesmo. Fora o fato de que eu falei os passos que tem que fazer alí em cima. você só vai precisar saber multiplicação de matriz por vetor e adição de vetores. Como exemplo: https://streamable.com/fwsj A única coisa diferente que eu tive que fazer foi desenhar o eixo Z como o eixo Y, por isso que no fillRect eu uso pos[2] ao invés de pos[1]. Editado Dezembro 13, 2015 por gkovalechyn Link para o comentário Compartilhar em outros sites More sharing options...
_Kurimatzu_ Postado Dezembro 13, 2015 Autor Denunciar Compartilhar Postado Dezembro 13, 2015 Alguém? ;-; Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Dezembro 13, 2015 Denunciar Compartilhar Postado Dezembro 13, 2015 É trigonométria, é difícilzin mas eu ja fiz uns testes... Nao precisa usar Packet obrigatoriamente. Tutorial Gringo: http://m.youtube.com/channel/UCIA3ywM1G19ZlIfD1HOKOjg Esse cara faz as partículas do PvPDojo... Caso queira uma API e pa mais simples, use o EffectLib Eu quero aprender isso *-* Eu passo mal pra fazer um quadrado -q Link para o comentário Compartilhar em outros sites More sharing options...
vitorrdgs Postado Dezembro 14, 2015 Denunciar Compartilhar Postado Dezembro 14, 2015 Eu quero aprender isso *-* Eu passo mal pra fazer um quadrado -q Te entendo, fiquei feliz quando fiz uma particula de fogo ao lado do player atualizando uhehuae 1 Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Dezembro 14, 2015 Denunciar Compartilhar Postado Dezembro 14, 2015 (editado) Até agora só aprendi a criar círculos e quadrados Editado Dezembro 14, 2015 por Langsdorf Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Dezembro 14, 2015 Denunciar Compartilhar Postado Dezembro 14, 2015 Até agora só aprendi a criar círculos e quadrados Então tiw, mostra pra ele como faz ai. 1 Link para o comentário Compartilhar em outros sites More sharing options...
vitorrdgs Postado Dezembro 15, 2015 Denunciar Compartilhar Postado Dezembro 15, 2015 Resolvido?! Link para o comentário Compartilhar em outros sites More sharing options...
_Kurimatzu_ Postado Dezembro 17, 2015 Autor Denunciar Compartilhar Postado Dezembro 17, 2015 Resolvido?! Não. Alguém? Link para o comentário Compartilhar em outros sites More sharing options...
vitorrdgs Postado Dezembro 17, 2015 Denunciar Compartilhar Postado Dezembro 17, 2015 Não. Alguém? Paguei do video do Gringo e dei uns edits, não é meu - http://pastebin.com/vVMuZfRm ParticleEffect - https://bukkit.org/threads/1-8-particleeffect-v1-7.154406/ Link para o comentário Compartilhar em outros sites More sharing options...
OrFour Postado Dezembro 19, 2015 Denunciar Compartilhar Postado Dezembro 19, 2015 Basicamente, você tem um vetor que é a localização, (x, y, z). Você quer girar isso no plano XZ para fazer a particula girar em volta do player. Para fazer um ponto girar no plano XZ você rotaciona ele em relação a Y, para girar ele você aplica essa matriz a esse vetor (A posição). Ou seja, se você aplicar: [x] [cosθ 0 senθ] [xRot] [y] * [ 0 1 0 ] = [yRot] [z] [-senθ 0 cosθ] [zRot] Onde: [x, y, z] é a posição atual da partícula. θ é o ângulo que você quer girar. [xRot, yRot, zRot] é a posição final da partícula rotacionada. (Isso sem contando a quarta dimensão porque você não vai precisar aqui) Só que isso, assume que o centro da rotação é (0, 0, 0). Se você quer girar em volta de algum outro pronto, primeiro você translada, muda de posição, o centro para o ponto que você quer. Para fazer isso é só subtrair a posição da partícula da posição do ponto que você quer que seja o centro. Ou seja: posicaoParticula = (x, y, z) centro = (playerX, playerY, playerZ) posicaoRelativa = posicaoParticula - centro; Daí ao invés de usar a posição real da partícula para calcular a rotação, só usar a posição relativa e transladar de volta para em volta do player. resultado = posicaoRelativa * matrizDeRotacao; resultado += centro; Entendi mais ou menos, até porque trigonometria não é tão dificil ! Eu só peço a você que faça um exemplo em código do java tipo assim, pq não sei qual uso se é no caso Math ou alguma classe especifica Packet do Bukkit! Link para o comentário Compartilhar em outros sites More sharing options...
Lucca. Postado Dezembro 19, 2015 Denunciar Compartilhar Postado Dezembro 19, 2015 Entendi mais ou menos, até porque trigonometria não é tão dificil ! Eu só peço a você que faça um exemplo em código do java tipo assim, pq não sei qual uso se é no caso Math ou alguma classe especifica Packet do Bukkit! Classe math do próprio java. Math.cos, Math.sin, bla bla bla Link para o comentário Compartilhar em outros sites More sharing options...
Guest gkovalechyn Postado Dezembro 20, 2015 Denunciar Compartilhar Postado Dezembro 20, 2015 Entendi mais ou menos, até porque trigonometria não é tão dificil ! Eu só peço a você que faça um exemplo em código do java tipo assim, pq não sei qual uso se é no caso Math ou alguma classe especifica Packet do Bukkit! No post em que eu falei que eu sou contra dar código tem um exemplo. Só que eu acho que ninguém pensou em olhar o que estava escrito na IDE. O código em si é bem simples, se você copiar o código que está na IDE você deve ter algo básico funcionando. O que está dentro do método "update" é o que atualiza a posição da partícula para a próxima posição dela (Meio difícil de explicar, melhor ver o vídeo para entender). Daí é só fazer isso usar, ao invés da variável "center" só usar a posiçao do player. (Só que claro, tem que levar em conta o player mudando de posição também senão vai fuder com o giro da partícula). Link para o comentário Compartilhar em outros sites More sharing options...
OrFour Postado Dezembro 20, 2015 Denunciar Compartilhar Postado Dezembro 20, 2015 Classe math do próprio java. Math.cos, Math.sin, bla bla bla No post em que eu falei que eu sou contra dar código tem um exemplo. Só que eu acho que ninguém pensou em olhar o que estava escrito na IDE. O código em si é bem simples, se você copiar o código que está na IDE você deve ter algo básico funcionando. O que está dentro do método "update" é o que atualiza a posição da partícula para a próxima posição dela (Meio difícil de explicar, melhor ver o vídeo para entender). Daí é só fazer isso usar, ao invés da variável "center" só usar a posiçao do player. (Só que claro, tem que levar em conta o player mudando de posição também senão vai fuder com o giro da partícula). Entendi, valeu aos dois, você foi o único que eu achei que deu pra entender um pouco mais, pois não sou fluente no inglês e ai não entendo muito os vídeos dos gringo ! Valeu mano, vou dar umas praticadas ! Link para o comentário Compartilhar em outros sites More sharing options...
Lucca. Postado Dezembro 23, 2015 Denunciar Compartilhar Postado Dezembro 23, 2015 Resolvido brother? Link para o comentário Compartilhar em outros sites More sharing options...
_Kurimatzu_ Postado Dezembro 25, 2015 Autor Denunciar Compartilhar Postado Dezembro 25, 2015 Resolvido brother? Não Link para o comentário Compartilhar em outros sites More sharing options...
Lucca. Postado Dezembro 29, 2015 Denunciar Compartilhar Postado Dezembro 29, 2015 Seu tópico foi marcado como [inativo] e será fechado caso você não o responda em um prazo de 7 dias. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Lucca. Postado Janeiro 15, 2016 Denunciar Compartilhar Postado Janeiro 15, 2016 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
_Kurimatzu_
Queria fazer uma particula, girando em volta do jogador .-.
Alguém sabe que matemática é essa? '-'
Link para o comentário
Compartilhar em outros sites
26 respostass a esta questão
Posts Recomendados