لقد تمكنت من تغيير ارتفاع شبكة هندسة المكعب باستخدام مقياس mesh.y لكن هذا غير مرض لأنني أريد فقط زيادته لأعلى أو لأسفل ولكن عندما أقوم بتوسيعه يتغير بشكل موحد في كلا الاتجاهين لأعلى ولأسفل. هل هناك طريقة بسيطة للقيام بذلك بدون مقياس تتطلب تحديث ضبط الموضع للأسفل أو الأعلى لجعله يبدو وكأنه ينمو في اتجاه واحد فقط.
ملاحظة - تعذر العثور على منتدى لنشر هذا السؤال فيه لذا تخلى عن البحث على Google ونشره هنا. أود أيضًا أن أشكر فريق Three.js على إطار العمل المذهل هذا ، حيث كانت الكتابة المباشرة WebGL التي كنت أقوم بها تستغرق وقتًا طويلاً.
mesh.scale.y += delta;
mesh.translateY( delta / 2 );
شكرا جزيلا
لأي شخص يتعثر في هذا الآن ، القليل من التوضيح.
يغير mesh.scale.y += delta
مقياس الشبكة ، لذا إذا كان المقياس 1 وقمت بإضافة 1 ، فإن الشبكة تتضاعف.
mesh.translateY()
يحرك الشبكة بمسافة فعلية. لذلك إذا كانت قيمة y للشبكة 5 بكسل ، فإن إضافة 1 ينقلها إلى 6.
بدلاً من translateY(delta/2)
، يجب أن تعرف مقدار زيادة / تقليل قيمة mesh.scale.y += delta
في الشبكة المتداخلة ، ثم يجب أن تترجم بمقدار نصف هذا المبلغ.
التعليق الأكثر فائدة