Creating-text.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <!DOCTYPE html>
  2. <html lang="ar">
  3. <head>
  4. <meta charset="utf-8">
  5. <base href="../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body class="rtl">
  10. <h1>إنشاء نص ([name])</h1>
  11. <div>
  12. <p>
  13. غالبًا ما تحتاج إلى استخدام نص في تطبيق three.js الخاص بك - إليك طريقتان يمكنك القيام بذلك.
  14. </p>
  15. </div>
  16. <h2>1. DOM + CSS</h2>
  17. <div>
  18. <p>
  19. يعد استخدام HTML بشكل عام أسهل وأسرع طريقة لإضافة نص. هذه هي الطريقة المستخدمة للتراكبات الوصفية في معظم الأمثلة الثلاثة.
  20. </p>
  21. <p>يمكنك إضافة محتوى إلى ملف</p>
  22. <code>&lt;div id="info"&gt;Description&lt;/div&gt;</code>
  23. <p>
  24. وإستخدم ترميز CSS لوضع موضع مطلق (position absolutely) في موضع فوق كل المواقع الأخرى باستخدام z-index بالأخاص إذا كنت تقوم بتشغيل على كامل الشاشة three.js.
  25. </p>
  26. <code>
  27. #info {
  28. position: absolute;
  29. top: 10px;
  30. width: 100%;
  31. text-align: center;
  32. z-index: 100;
  33. display:block;
  34. }
  35. </code>
  36. </div>
  37. <h2>2. ارسم نصًا على (canvas) واستخدمه كـ [page:Texture]</h2>
  38. <div>
  39. <p>استخدم هذه الطريقة إذا كنت ترغب في رسم نص بسهولة على سطح في مشهد three.js.</p>
  40. </div>
  41. <h2>3. قم بإنشاء نموذج في التطبيق ثلاثي الأبعاد المفضل لديك وقم بتصديره إلى three.js</h2>
  42. <div>
  43. <p>إستخدم هذه الطريقة إذا كنت تفضل العمل مع تطبيقاتك ثلاثية الأبعاد وإستيراد النماذج إلى three.js</p>
  44. </div>
  45. <h2>4. هندسة النص الإجرائي (Procedural Text Geometry)</h2>
  46. <div>
  47. <p>
  48. إذا كنت تفضل العمل فقط في THREE.js أو إنشاء أشكال هندسية إجرائية وديناميكية للنص ثلاثي الأبعاد ، فيمكنك إنشاء شبكة تعتبر هندستها مثيلًا لـ THREE.TextGeometry:
  49. </p>
  50. <p>
  51. <code>new THREE.TextGeometry( text, parameters );</code>
  52. </p>
  53. <p>
  54. لكي يعمل هذا، ستحتاج Text Geometry إلى نموذج من THREE.Font لتعيينه لجعله إعداد "الخط" الخاصة به.
  55. راجع صفحة [page:TextGeometry] للحصول على مزيد من المعلومات حول كيفية القيام بذلك ، و وصف كل الخيارات المتاحة ، وقائمة بخطوط JSON التي تأتي مع توزيع THREE.js نفسه.
  56. </p>
  57. <h3>أمثلة</h3>
  58. <p>
  59. [example:webgl_geometry_text WebGL / geometry / text]<br />
  60. [example:webgl_shadowmap WebGL / shadowmap]
  61. </p>
  62. <p>
  63. إذا كان Typeface معطلاً ، أو كنت تريد استخدام خط غير موجود ، فهناك برنامج تعليمي مع برنامج نصي بايثون لـ bender يسمح لك بتصدير النص إلى Three.js بتنسيق JSON:
  64. <br/>
  65. [link:http://www.jaanga.com/2012/03/blender-to-threejs-create-3d-text-with.html]
  66. </p>
  67. </div>
  68. <h2>5. خطوط نقطية (Bitmap Fonts)</h2>
  69. <div>
  70. <p>
  71. تسمح BMFonts (الخطوط النقطية) بدمج الصور الرمزية في BufferGeometry واحد. يدعم عرض BMFont التفاف الكلمات ، وتباعد الأحرف ، وتقنين الأحرف ، وحقول المسافة الموقعة مع المشتقات القياسية ، وحقول المسافة الموقعة متعددة القنوات ، والخطوط متعددة الأنسجة ، والمزيد.
  72. انظر [link:https://github.com/felixmariotto/three-mesh-ui three-mesh-ui] أو [link:https://github.com/Jam3/three-bmfont-text three-bmfont-text].
  73. </p>
  74. <p>
  75. تتوفر الخطوط في مشاريع مثل [link:https://github.com/etiennepinchon/aframe-fonts A-Frame Fonts] ، أو يمكنك إنشاء خطوطك الخاصة من أي خط .TTF ، مع التحسين لتضمين الأحرف المطلوبة للمشروع.
  76. </p>
  77. <p>
  78. بعض الأدوات المفيدة
  79. </p>
  80. <ul>
  81. <li>[link:http://msdf-bmfont.donmccurdy.com/ msdf-bmfont-web] <i>(على شبكة الإنترنت)</i></li>
  82. <li>[link:https://github.com/soimy/msdf-bmfont-xml msdf-bmfont-xml] <i>(سطر الأوامر)</i></li>
  83. <li>[link:https://github.com/libgdx/libgdx/wiki/Hiero hiero] <i>(تطبيق سطح مكتب)</i></li>
  84. </ul>
  85. </div>
  86. </body>
  87. </html>