لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش پیشرفته Three.js: ابر نقاط، شیدرها و بهینهسازی
- آخرین آپدیت
دانلود Intermediate Three.js: Point Clouds, Shaders, Optimization
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
فراتر از مبانی! تسلط بر کاربردهای عملی Three.js در محیط StackBlitz: ابر نقاط (Point Clouds)، شیدرها، بهینهسازی و داشبوردهای سه بعدی بلادرنگ.
ساخت ساختارهای پروژه در سطح تولید (Production-level) که مستحکم، قابل نگهداری و مقاوم در برابر خطا باشند، با استفاده از Vite و TypeScript.
بهینهسازی عملکرد برای رندر کردن دهها هزار شیء با استفاده از InstancedMesh، BufferGeometry و کاهش Draw Callها.
پیادهسازی نمایشگرهای دادههای سه بعدی که دادههای ابر نقاط یا سنسورها (مانند CSV) را بارگذاری کرده و آنها را به صورت نقشههای حرارتی (Heatmaps) با استفاده از شیدرهای سفارشی بصریسازی میکنند.
پیادهسازی رندرهای پیشرفته و جلوههای بصری پیچیده فراتر از قابلیتهای استاندارد با نوشتن GLSL (Vertex/Fragment) در ShaderMaterial.
ارتقای کیفیت بصری صحنههای سه بعدی به سطح حرفهای با اعمال افکتهای پسپردازش (Post-processing) مانند Bloom.
ساخت داشبوردهای سه بعدی بلادرنگ که با ادغام ارتباطات WebSocket با Three.js، تغییرات دادههای خارجی را فوراً منعکس میکنند.
پیشنیازها: دانش پایه از سینتکس JavaScript و TypeScript.
دانش مقدماتی Three.js (درک مفاهیم Scene، Camera، Renderer، Geometry و Material و توانایی رندر گرافیکهای ساده).
این دوره شامل استفاده از هوش مصنوعی است.
"من مبانی Three.js را تمام کردهام، اما نمیدانم چگونه داشبوردهای سه بعدی در سطح تجاری یا بصریسازی دادههای پیچیده بسازم."
این دوره یک راهنمای عملی و متوسط برای مهندسان و پژوهشگرانی است که دقیقاً با این چالش روبرو هستند. در حالی که بسیاری از دورههای Three.js بر روی ساخت "بازی یا آثار هنری"تمرکز دارند، این دوره بر مهارتهایی متخصص شده است که در محیطهای کاری واقعی و تحقیق و توسعه (R&D) بسیار مورد نیاز هستند، مانند "بصریسازی دادههای حجیم"و "تنظیمات بهینهسازی عملکرد."
ویژگیهای کلیدی این دوره
محیط توسعه فوقالعاده روان با StackBlitz با تنظیمات سنگین محیطهای محلی خداحافظی کنید. ما از فناوری WebContainers مستقیماً در مرورگر شما استفاده میکنیم که اجازه میدهد در یک محیط مدرن Vite + TypeScript یاد بگیرید، جایی که دستور `npm install` در یک لحظه کامل میشود.
بصریسازی ابر نقاط و دادههای سنسور یاد بگیرید چگونه صدها هزار نقطه داده سنسور (از CSV و غیره) را بارگذاری کرده و آنها را به صورت نقشههای حرارتی نمایش دهید. این محتوا مستقیماً برای مهندسان در زمینههای رباتیک، IoT و بینایی ماشین کاربرد دارد.
بهینهسازی عملکرد و شیدرها بر تکنیکهایی مانند `InstancedMesh`، دستکاری مستقیم `BufferGeometry` و کاهش Draw Call مسلط شوید تا حتی با افزایش تعداد اشیاء، نرخ 60fps را حفظ کنید. علاوه بر این، ما همه موارد را از مبانی تا کاربردهای پیشرفته شیدرهای سفارشی (GLSL) پوشش میدهیم تا هم به بیان بصری و هم به سرعت رندر بالا دست یابید.
ادغام دادههای بلادرنگ (Real-time) با اتصال به یک سرور مجازی با استفاده از WebSockets، یک داشبورد پویا و بلادرنگ خواهید ساخت که لحظه به لحظه تغییر میکند، به جای اینکه فقط یک فضای سه بعدی استاتیک باشد.
روش یادگیری شما به صورت عملی و با استفاده از کدهای استارتر ارائه شده برای هر بخش یاد میگیرید (کافی است URL را باز کنید تا بلافاصله کدنویسی را شروع کنید). برای پروژه نهایی، تمام آنچه آموختهاید - طراحی معماری، بهینهسازی، شیدرها، پسپردازش و ارتباطات WebSocket - را ادغام میکنید تا به طور مستقل یک "داشبورد سه بعدی دادههای سنسور"بسازید که میتوانید آن را در پورتفولیوی خود نمایش دهید.
از "کدی که فقط اتفاقی کار میکند"به "پروژهای که در دنیای واقعی قابل نگهداری و بهرهبرداری است."بیایید مهارتهای Three.js شما را از طریق این دوره مستقیماً به سطح حرفهای برسانیم!
سرفصل ها و درس ها
مقدمه
Introduction
معرفی دوره
Course Introduction
نحوه برگزاری دوره
How the Course Works
بخش 1: ساختار پروژه آماده برای تولید
Part 1: Production-Ready Project Structure
درس: راهاندازی پروژه، جلوگیری از خطاهای تایپی و الگوهای وضعیت Pub/Sub
[Lecture] Project setup, avoiding pitfalls with types, & Pub/Sub state patterns
تمرین: بازنویسی کد «جعبه چرخان» به ساختار آماده تولید
[Exercise] Refactoring "spinning box" code to a production-ready structure
بررسی: راهکار مدل، خطاهای رایج و چالشهای تکمیلی
[Review] Model solution, common errors, and challenge tasks
بخش 2: بهینهسازی عملکرد
Part 2: Performance Optimization
درس: هزینههای رندر، InstancedMesh و تحلیل با Chrome DevTools/stats.js
[Lecture] Render costs, InstancedMesh, & Chrome DevTools/stats.js profiling
تمرین: بهبود FPS برای 10,000 ذره با استفاده از InstancedMesh
[Exercise] Improve FPS of 10,000 particles using InstancedMesh
بررسی: راهکار مدل، خطاهای رایج و چالشهای تکمیلی
[Review] Model solution, common errors, and challenge tasks
بخش 3: بصریسازی ابر نقاط و دادههای سنسور
Part 3: Point Cloud & Sensor Data Visualization
درس: مبانی Points/PointsMaterial، بارگذاری CSV و نگاشت رنگ عمق
[Lecture] Points/PointsMaterial basics, CSV loading, & depth color mapping
تمرین: ساخت یک «نمایشگر دوربین عمق» با استفاده از دادههای مجازی سنسور عمق
[Exercise] Build a "depth camera viewer" using mock depth sensor data
بررسی: راهکار مدل، خطاهای رایج و چالشهای تکمیلی
[Review] Model solution, common errors, and challenge tasks
بخش 4: آشنایی با شیدرهای سفارشی
Part 4: Introduction to Custom Shaders
درس: ShaderMaterial، یونیفرمها، نقش Vertex/Fragment و انیمیشن uTime
[Lecture] ShaderMaterial, uniforms, vertex/fragment roles, & uTime animation
تمرین: پیادهسازی شیدر موجی (Ripple) که به موقعیت ماوس واکنش میدهد
[Exercise] Implement a ripple shader that reacts to the mouse position
بررسی: راهکار مدل، خطاهای رایج و چالشهای تکمیلی
[Review] Model solution, common errors, and challenge tasks
بخش 5: پسپردازش (Post Processing)
Part 5: Post-Processing
درس: EffectComposer، افکت Bloom و هزینههای عملکردی افکتهای متعدد
[Lecture] EffectComposer, Bloom, & performance costs of multiple effects
تمرین: افزودن افکت Bloom (درخشش) به نمایشگر ابر نقاط
[Exercise] Add a Bloom (glow) effect to the point cloud viewer
بررسی: راهکار مدل، خطاهای رایج و چالشهای تکمیلی
[Review] Model solution, common errors, and challenge tasks
بخش 6: ادغام دادههای بلادرنگ
Part 6: Real-Time Data Integration
درس: WebSockets، رندر دادههای زنده و پنلهای کنترلی با lil gui
[Lecture] WebSockets, rendering live data, & control panels with lil-gui
تمرین: ساخت دموی زنده: تغییر رنگهای ابر نقاط از طریق دادههای سنسور
[Exercise] Build a live demo: changing point cloud colors via sensor data
بررسی: راهکار مدل، خطاهای رایج و چالشهای تکمیلی
[Review] Model solution, common errors, and challenge tasks
بخش 7: خط لوله مدل و داراییها (Asset Pipeline)
Part 7: Model and Asset Pipeline
درس: GLTF/GLB، Draco، بهینهسازی تکسچر با KTX2 و بارگذاری تنبل (Lazy Loading)
[Lecture] GLTF/GLB, Draco, texture optimization with KTX2, & lazy loading
تمرین: تحلیل تفاوتهای انواع ذخیرهسازی مدل و اندازههای تکسچر
[Exercise] Profile differences in model storage types & texture sizes
بررسی: راهکار مدل، خطاهای رایج و چالشهای تکمیلی
[Review] Model solution, common errors, and challenge tasks
بخش 8: پروژه نهایی
Part 8: Capstone Project
درس: گردش کار، ادغام لایه وضعیت، تنظیمات نهایی و استقرار (Deployment)
[Lecture] Workflow, state layer integration, tuning, & deployment
تمرین: ادغام بخشهای 1 تا 7 برای تکمیل «داشبورد سه بعدی سنسور»
[Exercise] Integrate Parts 1–7 to complete a "3D Sensor Dashboard"
بررسی: راهکار مدل، خطاهای رایج و چالشهای تکمیلی
[Review] Model solution, common errors, and challenge tasks
نمایش نظرات