IT-CAD
ỨNG DỤNG XÂY DỰNG VÀ CÁC HƯỚNG NGHIÊN CỨU
Trong phần trước chúng ta cùng tìm hiểu về công nghệ VR&AR là gì, sự khác biệt giữa chúng cũng như là ứng dụng của chúng trong thực tế hiện nay ra sao và những tiềm năng mà chúng sẽ đem lại. Phần này mình sẽ trình bày về những ứng dụng trong xây dựng cũng như các hướng nghiên cứu để tạo nên các ứng dụng thực tế ảo.
VR và AR bắt đầu có ảnh hưởng lớn đối với ngành kiến trúc và xây dựng, các bản vẽ cad và bản vẽ 3D từ lâu đã trở thành thân quen, là dụng cụ làm việc và tiếp xúc hàng ngày. Việc đưa công nghệ thực tế ảo VR vào ngành xây dựng là bước đi lớn sang giai đoạn mới của kỷ nguyên công nghệ.
Với khách hàng, chủ đầu tư hoặc những người cần nắm rõ chi tiết và đầy đủ toàn bộ sản phẩm thì họ cần một cảm nhận thực tế, trải nghiệm trực quan hơn. Thực tế ảo trong ngành xây dựng có thể biến các bản vẽ 3D chi tiết thành các không gian ảo 3D cho khách hàng trải nghiệm, đi lại, tương tác với dự án, căn phòng đó thậm chí trực tiếp thay đổi các đồ nội thất trong đó.
Trao đổi ý tưởng, điều chỉnh thiết kế trực quan với AR
Áp dụng thực tế ảo trong xây dựng nó còn giúp các lãnh đạo cao cấp định hướng và điều chỉnh được kịp thời các thay đổi phục vụ khách hàng. Thay đổi cách bố trí, màu sắc, kiểu dáng trong phòng.
Xây dựng là một công việc nguy hiểm, đối với những người công nhân làm việc tại các công trường thì an toàn lao động là tuyệt đối quan trọng. Công nhân có thể thực hành việc lắp ghép và tháo gỡ thang, đà giáo, ván khuôn hoặc xử lý và các bài tập khác mà có nguy hiểm tiềm tàng có thể xảy ra bất ngờ và nhanh chóng ở công trường thực tế ảo bằng công nghệ VR. Có nhiều thứ được thực hiện đào tạo và diễn tập để chuẩn bị trước cho những tình huống bất ngờ.
Đào tạo an toàn lao động trong xây dựng
Sử dụng VR để truyền phát từ camera 3D , giám đốc điều hành và các bên có trách nhiệm khác có thể nhận được một chuyến tham quan thuyết phục và chính xác đến bất kì một nơi làm việc nào, bất kể vị trí của họ ở đâu. Bằng cách này, VR có thể ngăn chặn thông tin sai lệch, theo dõi kế hoạch và ngăn chặn lãng phí thời gian và công việc.
Theo dõi, giám sát, nghiệm thu hạng mục công trình
Quy trình phát triển dự án VR
- 1. Đầu tiên là lên ý tưởng: Xác định làm game VR hay ứng dụng VR, làm cho lĩnh vực gì, nội dung sẽ chạy như thế nào, bối cảnh, đồ vật, các môi trường tương tác trong sản phẩm VR sẽ gồm những gì…
- 2. Xác định loại kính thực tế ảo VR nào sẽ dùng để triển khai cài đặt game hay ứng dụng đó lên: Việc này quan trọng để lập trình viên sẽ lập trình VR sao cho tương thích thiết bị kính đã chọn đó để triển khai khả thi nhất. Phân tích các trường hợp và viết các kịch bản trong môi trường giả lập.
- 3. Tiếp đến là thiết kế dựng bối cảnh, nhận vật, không gian, đồ đạc, đối tượng trong game theo kịch bản game VR đã lên.
- 4. Sau khi công đoạn thiết kế tương đối ổn thì chuyển sang lập trình VR, nó là lập trình hoàn thiện game VR hoặc ứng dụng VR đó thành một sản phẩm hoàn chỉnh với các kịch bản và bối cảnh đã tính trước.
- 5. Trong quá trình làm trên phải test các chức năng, bối cảnh, hành động của ứng dụng, sản phẩm đạt tiêu chuẩn theo kịch bản đã lên.
- 6. Sau khi test xong sản phẩm bản cuối cùng của ứng dụng đạt tiêu chuẩn thì chuyển qua cài đặt, tích hợp lên loại kính VR đã lựa chọn.
- 7. Sau đó là hướng dẫn sử dụng, vận hành, nâng cấp, phát hành và chuyển giao.
Những ngôn ngữ lập trình phổ biến để phát triển ứng dụng AR/VR:
- • C#
- • C/C++
- • Java
- • JavaScript
- • Python
- • Swift.
Tùy thuộc vào mức độ chuyên sâu, bạn có thể phải tìm hiểu thêm những kỹ năng sau:
- • 3D Modelling hoặc 3D Scanning
- • 3D game engine
- • Photo và video 360°
- • Bộ công cụ phát triển phần mềm (SDK)
- • Kỹ năng thiết kế trải nghiệm cho người dùng (UX/UI) trong môi trường 3D.
Tuỳ thuộc vào từng nhu cầu và từng dự án mà bạn có thể trang bị mới hoặc sử dụng những thiết bị hiện có với cấu hình tối thiểu, điều quan trọng là đầu tư phải phù hợp với ngân sách mà bạn có.
Dưới đây là các thông số kỹ thuật phần cứng được đề xuất cho công nghệ VR:
Ngôn ngữ C# và C/C ++ là ngôn ngữ lập trình được sử dụng nhiều nhất để phát triển AR/ VR. Đây không phải là một sự trùng hợp ngẫu nhiên vì các game engine phổ biến nhất mà bạn sẽ học để sử dụng là:
- • Unity: sử dụng C# làm ngôn ngữ lập trình chính.
- • Unreal Engine: sử dụng C ++ và một ngôn ngữ gọi là Blueprints Visual Scripting.
Rất may là tất cả các thiết bị VR đều có sẵn SDK cho cả hai công cụ, do đó bạn có thể chỉ cần sử dụng một trong số chúng để phát triển ứng dụng AR/ VR và có thể ứng dụng cho nhiều thiết bị.
Phần mềm phát triển ứng dụng trên OS
Với những lập trình viên web lâu năm thì Javascript không bao giờ để bạn thất vọng, WebVR là một tiêu chuẩn mở với JavaScript API cho phép trải nghiệm VR trong trình duyệt web.
Nó hoạt động với hầu hết các thiết bị VR, nhưng bạn sẽ không cần thêm plugin nào cả vì bất kỳ trình duyệt tương thích nào (ngay cả trong điện thoại Android/ iOS) cũng có thể chạy được các ứng dụng này. JavaScript sẽ là một lựa chọn tốt để bắt đầu với WebVR thay vì SDK VR, Unity hoặc Unreal.
- • A-Frame: là framework để xây dựng trải nghiệm thực tế ảo với HTML và cách tiếp cận Hệ thống thực thể -thành phần. Nó được phát triển bởi nhóm Mozilla VR và cung cấp một trong những phương thức mạnh nhất để phát triển nội dung WebVR.
- • React VR: một framework mới được Facebook phát triển dựa trên React và React Native. Nó cho phép bạn xây dựng các trang web VR và trải nghiệm 360 tương tác bằng cách sử dụng cùng phương pháp tiếp cận thành phần khai báo so với React.
Trong lĩnh vực này, có hai framework đáng để đề cập đến là:
Framework phát triển VR trên webservice
Unity cũng có tùy chọn viết tập lệnh bằng ngôn ngữ tương tự JavaScript có tên là UnityScript, nhưng nó không giống với JavaScript mà bạn sẽ chỉ sử dụng để phát triển cho web trên nền tảng của .Net cùng với C# (ngôn ngữ được đề xuất cho Unity).
Có khá nhiều lựa chọn trong đề mục này. Nhưng chúng ta hãy phân loại theo cách phổ biến nhất: phân loại theo mức độ tự do (Degree of Freedom – DOF), cách này đề cập đến độ phức tạp mà đối tượng có thể di chuyển. Chúng ta có hai lựa chọn: ba và sáu DOF.
- • Google carton
- • Google Daydream
- • Samsung Gear VR.
Các thiết bị dưới đây hỗ trợ ba DOF:
- • HTC Vive
- • Oculus Rift.
Và các thiết bị dưới đây hỗ trợ sáu DOF:
Thiết bị 3 DOF (tương tác 3 chiều) và 6 DOF (tương tác 6 chiều)
Tất nhiên, mỗi thiết bị sẽ sử dụng các bộ công cụ phát triển phần mềm SDK, ngôn ngữ lập trình khác nhau và có các ràng buộc khác nhau, nhưng bạn sẽ thấy rằng chúng có một số điểm chung:
- • Các nguyên tắc để thiết kế trải nghiệm Thực tế ảo là như nhau.
- • Hầu hết chúng đều tương thích với các bộ điều khiển chuyển động để tương tác với thế giới ảo.
- • Thiết bị Ba DOF sử dụng điện thoại thông minh làm màn hình gắn trên đầu.
- • Thiết bị Sáu DOF sử dụng Headset gắn với máy tính.
Điều đầu tiên bạn cần để phát triển AR/ VR là assets, đặc biệt là mô hình 3D. Bạn có hai lựa chọn ở đây: tự làm chúng hoặc sử dụng các mô hình do người khác tạo ra.
Tự làm mô hình 3D là lựa chọn khó khăn nhất, nhưng về lâu dài nó có thể là tốt nhất (và hiệu quả nhất về chi phí). Nếu chọn cách này, bạn sẽ phải học cách sử dụng các chương trình như:
- • Blender
- • Autodesk Maya
- • Autodesk 3ds Max
- • Hoặc các phần mềm dựng hình khác như Sketchup, Solidwork…
Phần mềm 3D mô hình đối tượng, bối cảnh
Chúng ta đã tập trung nói về thực tế ảo VR, vậy AR thì sao. Tuy nhiên, từ quan điểm của người phát triển ứng dụng, mình thấy VR và AR khá giống nhau. Trên thực tế, bạn có thể sử dụng Unity và Unreal (với sự trợ giúp của một số plugin) để phát triển nội dung AR, do đó các kỹ năng cần thiết cho VR cũng được áp dụng cho AR.
Một trong những công cụ phổ biến nhất để phát triển AR là Vuforia, có sẵn cho Unity, Android và iOS, cung cấp rất nhiều tính năng và hỗ trợ cho nhiều thiết bị, bao gồm cả điện thoại.
Nói về các thiết bị, AR có thể được sử dụng với màn hình gắn trên đầu, nhưng cũng có thể sử dụng với các thiết bị khác như điện thoại thông minh, hoặc kính đặc biệt như Microsoft HoloLens.
Thiết bị VR box (trái) và kính HoloLens (phải) cho AR
Tính đến thời điểm hiện tại, công nghệ AR đang phổ biến hơn so với VR, nhất là sau khi các trò chơi game điện tử tăng cường thực tế ảo như Pokemon phát triển ngày càng nhiều. AR và VR thực chất không phải đối thủ của nhau. Mỗi cái có những ứng dụng rất riêng mà cái còn lại không thể làm được, vậy nên chúng vẫn sẽ tồn tại song song nhau. Nhưng ở thời điểm hiện tại, AR sẽ phát triển nhanh hơn về mặt thương mại và mức độ phổ biến, còn VR có lẽ phải đợi một thời gian nữa khi mà giá thành giảm và các thiết bị có cách tiếp cận dễ hơn với người dùng thì mới có thể xuất hiện đại trà.
Nhưng chúng ta vẫn phải thấy rõ rằng 2 công nghệ này cùng song hành và phát triển với nhau trong tương lai, hứa hẹn rất nhiều tiềm năng trong mọi lĩnh vực của đời sống.
Dưới đây mình sử dụng công nghệ WebVR kết hợp với phần mềm dựng hình Revit để triển khai 1 sản phẩm demo VR, bạn có thể dùng các thiết bị VR box như Google carton, Samsung Gear VR... để trải nghiệm.
3D Viewer demo with WebVR technology (designed by author)
Click to Enjoy VRBài viết trước: