आप एक योजनाबद्ध दुनिया से, एक बेलनाकार से जाना चाहते हैं।
एक्स अक्ष के चारों ओर एक रोटेशन (सजातीय निर्देशांक में) इस तरह दिखता है:
| 1 0 0 0 |
Rx = | 0 ca -sa 0 |
| 0 sa ca 0 |
| 0 0 0 1 |
कहाँ पे:
ca = cos(angle) and sa = sin(angle)
कोण की गणना करने के लिए, छवि को देखें। पीआई / 2 को रद्द कर दिया जाता है और आपको छोड़ दिया जाता है:
angle = offset_from_character.z - radius
इसके अलावा, छवि को देखें। अनुमानित बिंदु का कोण चरित्र से क्षैतिज दूरी पर निर्भर है, गोले से दूरी ऊर्ध्वाधर पर निर्भर है।
new_position = character_position - vec3(0,radius,0) + Rx * vec3(0,radius+_old_position.y,0)
क्षितिज के ऊपर आने वाली चीजों को अवश्य लें, अन्यथा पूरी दुनिया घूम जाएगी।
अस्वीकरण: मैंने इसका परीक्षण नहीं किया है और मैं कोई गणित विशेषज्ञ नहीं हूं, लेकिन इसका उत्तर कुछ इस तरह है। यदि मेरी बात गलत है, तो कोई इसे ठीक कर दे।