อ่าน 6 นาที
Blend4Web
Blend4Webเป็นเฟรมเวิร์กโอเพนซอร์สฟรีสำหรับการสร้างและแสดงผลกราฟิกคอมพิวเตอร์ 3 มิติแบบโต้ตอบในเว็บเบราว์เซอร์
Blend4Web
| Blend4Web | |
|---|---|
| นักพัฒนา | บริษัทไทรอัมพ์ แอลแอลซี |
| ปล่อย | 28 มีนาคม 2557 [ 1 ] |
| เวอร์ชันสุดท้าย | 18.05 / 6 มิถุนายน 2561 |
| เขียนเป็น | JavaScript , Python , C , C++ |
| พิมพ์ | เครื่องยนต์ 3 มิติ |
| ใบอนุญาต | GPLv3หรือเชิงพาณิชย์ |
| เว็บไซต์ | www.blend4web.com |
Blend4Webเป็นเฟรมเวิร์กโอเพนซอร์สฟรีสำหรับการสร้างและแสดงผลกราฟิกคอมพิวเตอร์ 3 มิติแบบโต้ตอบในเว็บเบราว์เซอร์
ภาพรวม
เฟรมเวิร์ก Blend4Web ใช้Blenderเพื่อแก้ไขฉาก 3 มิติ การเรนเดอร์เนื้อหาอาศัยWebGL , Web Audio , WebVRและมาตรฐานเว็บอื่นๆโดยไม่ต้องใช้ปลั๊กอิน [ 2 ]
เฟรมเวิร์ก นี้ได้รับการอนุญาตแบบคู่โดยเฟรมเวิร์กนี้เผยแพร่ภายใต้GPLv3 ซึ่งเป็นโอเพนซอร์สและฟรีและภายใต้ ใบอนุญาต ที่ไม่ฟรีโดยมีซอร์สโค้ดอยู่บนGitHub [ 3 ]
สามารถเตรียมฉาก 3 มิติใน Blender แล้วส่งออกเป็น ไฟล์ JSONและไบนารี คู่หนึ่ง เพื่อโหลดในเว็บแอปพลิเคชันได้ นอกจากนี้ยังสามารถส่งออกเป็น ไฟล์ HTML ไฟล์เดียวที่มีข้อมูลทั้งหมด รวมถึง GUIของเว็บเพลเยอร์และเอนจิ้นเอง[ 4 ]ตัวเลือก HTML ถือเป็นวิธีที่ง่ายที่สุด[ 5 ]ไฟล์ที่ได้ซึ่งมีขนาดขั้นต่ำ 1 MBสามารถฝังลงในเว็บเพจโดยใช้ ส่วนประกอบ iframe HTML มาตรฐาน ได้[ 6 ]เว็บแอปพลิเคชันที่ขับเคลื่อนด้วย Blend4Web สามารถใช้งานบน เว็บไซต์ เครือข่ายสังคมออนไลน์เช่นFacebookได้[ 7 ]
ชุดเครื่องมือ Blend4Web ประกอบด้วยไลบรารี JavaScript , ส่วนเสริม Blender และชุดเครื่องมือสำหรับปรับแต่งพารามิเตอร์ฉาก 3 มิติ, การดีบักและการเพิ่มประสิทธิภาพ
Blend4Web พัฒนาโดย บริษัท Triumph ที่ตั้งอยู่ใน มอสโกในปี 2010 และเปิดตัวสู่สาธารณะเมื่อวันที่ 28 มีนาคม 2014 [ 8 ]
ในช่วงปลายปี 2017 ผู้ก่อตั้งโครงการ Yuri และ Alex Kovelenov ได้ลาออกจาก Triumph เพื่อเริ่มต้นการพัฒนาเฟรมเวิร์กWebGL ใหม่ ชื่อVerge3D [ 9 ]
ในเดือนตุลาคม พ.ศ. 2562 ได้มีการประกาศ "Blend4Web ใหม่เอี่ยม" [ 10 ]ซึ่งวางแผนไว้ว่าจะทำให้การพัฒนาแอป 3 มิติง่ายขึ้น และจะเพิ่มตลาดใหม่ที่ผู้คนสามารถนำเสนอโมเดล 3 มิติ ของตน ได้
คุณสมบัติ
เฟรมเวิร์กนี้มีส่วนประกอบหลายอย่างที่พบได้ทั่วไปในเอนจิ้นเกมรวมถึงระบบเสียงตามตำแหน่งเอนจิ้นฟิสิกส์ (ซึ่งเป็นเวอร์ชัน ดัดแปลง ของBullet ที่พอร์ตไปยังJavaScript ) ระบบแอนิเมชันและ เลเยอร์ นามธรรมสำหรับการเขียนโปรแกรมตรรกะเกม[ 11 ]
สามารถกำหนดแอนิเมชันได้มากถึง 8 ประเภทที่แตกต่างกันให้กับวัตถุเดียว รวมถึง แอนิเมชัน โครงกระดูกและ แอนิเมชัน ต่อจุดยอดความเร็วและทิศทางของแอนิเมชัน (เล่นไปข้างหน้า/ถอยหลัง) รวมถึง พารามิเตอร์ ของระบบอนุภาค (ขนาด ความเร็ว เริ่มต้น และจำนวน) สามารถเปลี่ยนแปลงได้ผ่านAPI [ 12 ]
คุณสมบัติอื่นๆ ที่รองรับได้แก่ การโหลด และยกเลิก การโหลดข้อมูลฉาก แบบไดนามิก การจำลอง การกระเจิงใต้พื้นผิวและแสงตามภาพ[ 13 ]
มีตัวเลือกนอกเหนือจากกล่องบางอย่างสำหรับการเรนเดอร์สภาพแวดล้อมกลางแจ้งที่ขยายออกไป รวมถึงการโต้ตอบระหว่างใบไม้กับลม น้ำ บรรยากาศ และการจำลองแสงแดด ตัวอย่างหนึ่งที่แสดงให้เห็นถึงเอฟเฟกต์เหล่านี้คือเดโมเทคโนโลยี "The Farm" ซึ่งมีNPC ที่เคลื่อนไหวได้หลายตัว และความสามารถในการเดิน โต้ตอบกับวัตถุ และขับยานพาหนะในโหมดมุมมองบุคคลที่หนึ่ง[ 14 ]
Blend4Web สร้างขึ้นจากAPI WebGL ที่ใช้งานได้กับ หลายเบราว์เซอร์ จึงสามารถทำงานได้ใน เบราว์เซอร์ส่วนใหญ่[ 15 ]รวมถึงเบราว์เซอร์บนมือถือด้วย[ 16 ]อย่างไรก็ตาม มีข้อควรระวังบางประการสำหรับเบราว์เซอร์ที่รองรับ WebGL ในระดับทดลอง เช่นInternet Explorer [ 17 ] นอกจากนี้ยังมีแอปพลิเคชันที่พัฒนาขึ้นเพื่อใช้งานบน อุปกรณ์ที่ใช้ระบบปฏิบัติการ Tizenเช่นสมาร์ทวอทช์Samsung Gear S2 [ 18 ]
คุณสมบัติอื่นๆ ได้แก่ การจัดกลุ่มการเรียกวาดการกำหนดพื้นผิวที่ซ่อนอยู่การจำลองฟิสิกส์แบบมัลติเธรด และการจำลองมหาสมุทร[ 19 ]
ในเวอร์ชัน 14.09 Blend4Web ได้นำเสนอความเป็นไปได้ในการเพิ่มปฏิสัมพันธ์ให้กับฉาก 3 มิติโดยใช้เครื่องมือการเขียนโปรแกรมแบบภาพ[ 20 ] [ 21 ]เครื่องมือนี้คล้ายคลึงกับ ตัวแก้ไขตรรกะของ BGEเนื่องจากใช้บล็อกตรรกะที่วางไว้ภายใน Blender โดยจะเล่นแทร็กแอนิเมชันที่สร้างโดยศิลปินเมื่อผู้ใช้โต้ตอบกับวัตถุ 3 มิติที่กำหนดไว้ล่วงหน้า[ 22 ]
ตั้งแต่เวอร์ชัน 15.03 Blend4Web รองรับการแนบองค์ประกอบ HTML (เช่น หน้าต่างข้อมูล) กับวัตถุ 3 มิติ ("คำอธิบายประกอบ") และการคัดลอกวัตถุในระหว่างการทำงาน ("การสร้างอินสแตนซ์") [ 23 ]
เอฟเฟกต์ การประมวลผลหลังภาพต่อไปนี้ได้รับการสนับสนุน: แสงเรืองรอง, บลูม , ความลึกของภาพ , รังสีพลบค่ำ , ภาพเบลอจากการเคลื่อนไหวและ การ บดบังแสงโดยรอบในพื้นที่หน้าจอ[ 24 ]
ความเป็นจริงเสมือนและความเป็นจริงเสริม
อุปกรณ์ เสมือนจริงได้รับการสนับสนุนตั้งแต่ปลายปี 2558 โดยเฉพาะอย่างยิ่งจอแสดงผลแบบสวมศีรษะOculus Rift ทำงานผ่านAPI WebVR ทดลอง [ 25 ]
ขณะนี้ซอฟต์แวร์ยังรวมถึงการสนับสนุนเบื้องต้นสำหรับเกมแพดโดยอิงตาม Gamepad API [ 26 ]
ในปี 2017 ได้มีการเพิ่มตัวเลือกในการสร้างเนื้อหาความเป็นจริงเสริม[ 27 ]ระบบนี้ใช้ไลบรารีการติดตามแบบโอเพนซอร์สARToolKitและใช้โปรโตคอลWebRTC [ 28 ]
ตั้งแต่เวอร์ชัน 17.08 เป็นต้นไปรองรับการติดตามนิ้ว ผ่าน อุปกรณ์Leap Motion [ 29 ]
การผสานรวม Blender
ส่วนเสริม Blender นี้เขียนด้วยภาษา PythonและCและสามารถคอมไพล์สำหรับแพลตฟอร์มLinux x86/x64, OS X x64 และMS Windows x86/x64 ได้
สามารถเปิดใช้งานโปรไฟล์เฉพาะ Blend4Web ได้ในการตั้งค่าส่วนเสริม เมื่อเปลี่ยนไปใช้โปรไฟล์นี้ อินเทอร์เฟซ Blender จะเปลี่ยนไปเพื่อให้แสดงเฉพาะการตั้งค่าที่เกี่ยวข้องกับ Blend4Web เท่านั้น[ 30 ]
Blend4Web รองรับชุดคุณสมบัติเฉพาะของ Blender เช่น ตัวแก้ไขวัสดุโหนด (เครื่องมือสำหรับ การเขียนโปรแกรม เชเดอ ร์แบบภาพ ) [ 31 ]และระบบอนุภาค[ 32 ]มีการสนับสนุนพื้นฐานสำหรับตัวแก้ไขแอนิเมชั่นแบบไม่เชิงเส้น (NLA) ของ Blender สำหรับการสร้างสถานการณ์ง่ายๆ
Blend4Web ใช้ เอนจินการเรนเดอร์ GLSL แบบเรียลไทม์ของ Blender ซึ่งแนะนำให้ผู้ใช้ใช้เพื่อให้สามารถแก้ไขแบบ WYSIWYG ได้ [ 33 ]
การใช้งานที่น่าสนใจ
NASAได้พัฒนาแอปพลิเคชันเว็บแบบโต้ตอบชื่อExperience Curiosityเพื่อเฉลิมฉลองครบรอบ 3 ปีของการลงจอดบนดาวอังคาร ของ ยานสำรวจ Curiosity [ 34 ]แอปพลิเคชันที่ใช้ Blend4Web นี้[ 35 ]ทำให้สามารถใช้งานยานสำรวจ ควบคุมกล้องและแขนหุ่นยนต์และจำลองเหตุการณ์สำคัญบางส่วนของภารกิจMars Science Laboratory ได้ [ 36 ] [ 37 ]แอปพลิเคชันนี้ได้รับการนำเสนอในช่วงเริ่มต้นของส่วน WebGL ที่SIGGRAPH 2015 [ 38 ]
Experience Curiosityได้รับการพอร์ตไปยังVerge3Dสำหรับ Blender ในปี 2018 พร้อมกับการปรับปรุงประสิทธิภาพและแก้ไขข้อบกพร่องหลายประการ[ 39 ]
ตัวแทน จำหน่ายที่ได้รับอนุญาตจาก General Motorsในสหรัฐอาหรับเอมิเรตส์ได้นำ โปรแกรมกำหนดค่า Chevrolet Camaro 3D ที่ใช้งานได้จริงมาไว้บนเว็บไซต์ของตน[ 40 ] [ 41 ]
กรีนพีซสร้างอินโฟกราฟิก 3 มิติแบบอินเทอร์แอคทีฟเพื่อสนับสนุนแคมเปญ Detox ของกรีนพีซในรัสเซีย[ 42 ]ทัลลิงค์นำเสนอการนำเสนอ 3 มิติแบบอินเทอร์แอคทีฟของ เรือ MS Megastarเพื่อให้ผู้เข้าชมสามารถเรียกดูรายละเอียดของเรือได้[ 43 ]