تعاملات با Raycaster برای انتخاب اشیاء
🔹 تعریف
Raycaster یک خط (Ray) از یک نقطه در فضا میسازد و بررسی میکند که چه اشیائی با آن خط برخورد دارند.
-
مناسب انتخاب، کلیک، هاور، لمس
-
پایه اکثر تعاملات سهبعدی در بازیها و اپلیکیشنها
۱️⃣ ایجاد Raycaster
۲️⃣ گرفتن موقعیت ماوس
-
موقعیت ماوس باید به Normal Device Coordinates (NDC) تبدیل شود:
-
X و Y بین -1 تا 1
-
۳️⃣ بررسی برخورد Ray با اشیاء
📌 intersectObjects
آرایهای از اشیاء که با Ray برخورد کردند برمیگرداند.
۴️⃣ مثال کامل
📌 در این مثال:
-
با حرکت ماوس، اشیاء که تحت Ray قرار میگیرند رنگشان تغییر میکند
-
Raycaster میتواند برای کلیک و انتخاب اشیاء هم استفاده شود
۵️⃣ نکات مهم
-
فقط اشیاءی که Mesh دارند را میتوان بررسی کرد
-
برای اشیاء گروهبندی شده، میتوان
intersectObjects(group.children, true)
استفاده کرد -
Raycaster میتواند تعاملات لمسی (Touch) را هم پوشش دهد
-
ترکیب با OrbitControls و DragControls باعث ایجاد تعامل حرفهای میشود