أصبح تحرير الوجوه ثلاثي الأبعاد ركيزة في التطبيقات الحديثة مثل الألعاب وAR/VR والشخصيات الافتراضية. لكن تغيير ملامح الوجه مثل الأنف أو الشفاه أو الذقن في الوقت الحقيقي يتطلب فهمًا جيدًا لكيفية عمل التقنيات ثلاثية الأبعاد المختلفة. في هذا المقال أشرح ثلاثة مفاهيم أساسية — Skinning وRigging وMorph Targets — وكيف يمكن استخدامها لتعديل الوجوه في بيئات ثلاثية الأبعاد مثل Three.js.
1️⃣ Skinning (Skinned Mesh)
الـ Skinning هو عملية ربط شبكة ثلاثية الأبعاد بهيكل عظمي. يمكن أن يتأثر كل رأس في الشبكة بعظمة واحدة أو أكثر، وعندما تتحرك العظام تتشوه الشبكة تبعًا لذلك.
- الاستخدام: الحركات الديناميكية مثل رمش العين أو فتح الفك أو تدوير الرأس.
- المزايا: حركة واقعية وطبيعية.
- العيوب: صعب للتغييرات الدقيقة في الشكل مثل الأنف أو الشفاه.
const mesh = new THREE.SkinnedMesh(geometry, material);
mesh.add(skeleton.bones[0]);SkinnedMesh شبكة لها Skeleton يمكن لعظامه تحريك رؤوس الهندسة.
2️⃣ Rigging
الـ Rigging هو إعداد هيكل عظمي وإسناد عظامه إلى شبكة. ويعتمد الـ Skinning على هذا الـ Rig.
- الاستخدام: تعابير الوجه، وحركة الجسم، والتحكم بالحركات المعقدة.
- المزايا: تحكم كامل في الحركة؛ ودعم للتحريك.
- العيوب: يستهلك الوقت ويتطلب معرفة تقنية.
3️⃣ Morph Targets (Shape Keys)
تتيح Morph Targets تعريف عدة نسخ من الشبكة بمواضع رؤوس مختلفة. وبالاستيفاء بين هذه النسخ تحصل على تغييرات سلسة في الشكل.
- الاستخدام: تغييرات دقيقة في الملامح مثل حجم الأنف أو طول الذقن أو امتلاء الشفاه.
- المزايا: تحكم بسيط ودقيق في الشكل؛ ويمكن دمج عدة تحويلات.
- العيوب: لا حركة ديناميكية — مجرد تشويه للرؤوس.
mesh.morphTargetInfluences[noseIndex] = 0.5; // 50% nose morph
mesh.morphTargetInfluences[lipsIndex] = 0.7; // 70% lips morph💡 نصيحة احترافية: في تحرير الوجوه ثلاثي الأبعاد، يعطي الجمع بين Morph Targets للتغييرات الدقيقة في الشكل وSkinning وRigging للحركات الديناميكية أفضل النتائج عادةً.



