Other Languages Moderators Lord Henry Posted August 13, 2018 Other Languages Moderators Share Posted August 13, 2018 (edited) Olá senhores. Bom, estou precisando fazer um objeto apontar para outro como se ele estivesse fazendo um Look At. Mas não sei como calcular o ângulo da rotação Z com base nas posições. Exemplo. Objeto A está na posição 0, 0, 0. Objeto B está na posição 1, 1, 0. Ilustrações: Spoiler Aplicando o Look At no Objeto A para o B, deve fazer o objeto A "mirar" no Objeto B, colocando a rotação Z do objeto A em 315. Mas como calculo isso? Obs: A rotação é com base nas posições, não importa a rotação do objB. Edited August 13, 2018 by Lord Henry Link to comment
DaeRoNz Posted August 16, 2018 Share Posted August 16, 2018 Não tenho acerteza, mas talvez ajude esta função https://wiki.multitheftauto.com/wiki/FindRotation 1 Link to comment
Other Languages Moderators Lord Henry Posted August 16, 2018 Author Other Languages Moderators Share Posted August 16, 2018 (edited) Não acredito que não vi essa função. Estava me quebrando todo para descobrir como fazer isso. Eu já tinha descoberto que precisava trabalhar com tangente mas estava com problemas para converter o valor obtido em graus. Eu só havia feito isso até então: function lookAt (theSource, target) if isElement (theSource) and isElement (target) then local px, py = getElementPosition (theSource) local tx, ty = getElementPosition (target) local relatedAngle = math.atan2 (px - tx, py - ty) if (relatedAngle < 0) then relatedAngle = relatedAngle + 360 elseif (relatedAngle > 360) then relatedAngle = relatedAngle - 360 end return math.floor(relatedAngle) end end Preciso voltar a estudar mais a Wiki. Muito obrigado. Edited August 16, 2018 by Lord Henry 1 Link to comment
DaeRoNz Posted August 16, 2018 Share Posted August 16, 2018 Bom saber que ajudou, boa sorte. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now