سؤال

أنا أعمل حاليًا على مولد كوكب إجرائي OpenGL. آمل أن أستخدمه في RPG Space ، لن يسمح للاعبين بالنزول إلى سطح الكوكب ، لذا فقد تجاهلت أي شيء يتعلق بالتجول. في الحركة ، أرسم مكعبًا مع VBOs ورسم الخرائط على كرة كما هو موضح هنا.

أنا على دراية بمعظم تقنيات توليد خريطة الارتفاع الكسرية وقمت بالفعل بتطبيق الإصدار الخاص بي من إزاحة نقطة الوسط (ليس مفيدًا في هذه الحالة التي أعرفها).

سؤالي هو ، ما هي أفضل طريقة لإنشاء خريطة الارتفاع. لقد نظرت إلى libnoise الذي يسمح لي بصنع خلفات/قوام قابلة للاتصال ، ولكن بقدر ما أستطيع أن أرى أنني سأحتاج إلى إنشاء شبكة مثل:

this

ترك بلاغ واضح.

هل يمكن لأي شخص أن ينصحني بأفضل طريق لأخذه؟

فإن أي مدخلات يحظى بتقدير كبير.

شكرًا،

هنري.

هل كانت مفيدة؟

المحلول

يبدو أنك تفهم المشكلة في توليد سطح مسطح وسلس ثم تحاول تعيينه على كرة.

ماذا عن استخدام وظيفة الضوضاء ثلاثية الأبعاد بدلاً من ذلك؟ تأخذ وظيفة الضوضاء ثلاثية الأبعاد 3 إحداثيات بدلاً من 2 كمدخلات لها ، لذلك تخيل صفيف ثلاثي الأبعاد مليء بالأرقام التي تم إنشاؤها (بدلاً من صفيف ثنائي الأبعاد). وبالتالي ، بمجرد حصولك على وظيفة ضوضاء ثلاثية الأبعاد ، يمكنك إنشاء نسيج ثنائي الأبعاد ، ولكن بدلاً من استخدام إحداثيات ثنائية الأبعاد لكل بكسل ، استخدم الإحداثيات ثلاثية الأبعاد للمكان الذي سيكون فيه هذا البيكسل في المجال. (آمل أن تكون الجملة المعقدة منطقية!)

ألقِ نظرة على منتصف الطريق هذه الصفحة حول ضجيج Perlin: https://web.archive.org/web/20120829114554/http://local.wasp.uwa.edu.au/~pbourke/texture_colour/perlin/

أعتقد أنه يصف بالضبط ما تريده فيما يتعلق بالكرات.

نصائح أخرى

قد ترغب أيضًا في الاطلاع على هذه المقالة من عام 2004 حول كيفية "تقسيم" الكرة إلى أجزاء يمكن التحكم فيها.

http://www.gamedev.net/reference/articles/article2074.asp

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top