یک صحنه ساده با Three.js بسازید که یک مکعب رنگی را با نور پایه نمایش دهد، مکعب بهطور پیوسته بچرخد و هنگام تغییر اندازه پنجره پاسخگو باشد.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:01برای حل این مسئله از Three.js (با CDN یا نصب از npm) استفاده کنید: یک Scene، یک PerspectiveCamera و یک WebGLRenderer ایجاد کنید و renderer را به DOM اضافه کنید؛ سپس یک BoxGeometry و یک MeshStandardMaterial یا MeshPhongMaterial بسازید و آنها را به صورت یک Mesh به صحنه اضافه کنید. نور محیطی (AmbientLight) و یک نور جهتدار (DirectionalLight) اضافه کنید تا سایهروشنها مشخص شوند؛ با استفاده از requestAnimationFrame حلقه انیمیشن بسازید و در هر فریم مختصات چرخش (rotation) مکعب را تغییر دهید. برای پاسخگویی به تغییر اندازه پنجره، event listener برای window.resize تنظیم کرده و camera.aspect و renderer.setSize را بروزرسانی کنید؛ استفاده از renderer.setPixelRatio(window.devicePixelRatio) و فعال کردن antialias در Renderer و در صورت تمایل اضافه کردن OrbitControls برای تعامل کاربر از نکات مفید است.
برای پاسخگو بودن صحنه، هنگام تغییر اندازه پنجره camera.aspect را با نسبت جدید تنظیم کنید و renderer.setSize را با اندازه جدید بروزرسانی کنید. همچنین از renderer.setPixelRatio(window.devicePixelRatio) استفاده کنید تا کیفیت تصویر روی دستگاههای با تراکم پیکسل بهتر باشد و antialias فعال باشد. اگر میخواهید با کاربر تعامل کند، OrbitControls را اضافه کنید تا بتوانید با ماوس صحنه را بچرخانید یا زوم کنید. در حلقه انیمیشن، rotation مکعب را با هر فریم افزایش دهید تا مکعب آرام بچرخد و از requestAnimationFrame به درستی استفاده شود.
گزارش