Synchronizing 3D Data Between Software – Driving 3D Collaboration Forward Using Direct Links
Total Page:16
File Type:pdf, Size:1020Kb
Linköping University | Department of Computer and Information Science Master’s thesis, 30 ECTS | Datateknik 2021 | LIU-IDA/LITH-EX-A–21/010—SE Synchronizing 3D data between software – Driving 3D collaboration forward using direct links Synkronisering av 3D-data mellan mjukvaror Carl Brage Supervisor : Jonas Wallgren Examiner : Cyrille Berger Linköpings universitet SE–581 83 Linköping +46 13 28 10 00 , www.liu.se Upphovsrätt Detta dokument hålls tillgängligt på Internet - eller dess framtida ersättare - under 25 år frånpublicer- ingsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstakako- pior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervis- ning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. Allannan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säker- heten och tillgängligheten finns lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsman- nens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/. Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a period of 25 years starting from the date of publication barring exceptional circumstances. The online availability of the document implies permanent permission for anyone to read, to down- load, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional upon the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www homepage: http://www.ep.liu.se/. © Carl Brage Abstract In the area of 3D visualization there are often several stages in the design process. These stages can involve creating a model, applying a texture to the model and creating a rendered image from the model. Some software can handle all stages of the process while some are focused on a single stage to try to perfect and narrow down the service provided. In this case there needs to be a way to transfer 3D data between software in an efficient way where the user experience isn’t lacking. This thesis explores the area of 3D data synchronization by first getting foundation from the prestudy and literature study. The findings from these studies are used in a shared file based implementation andadesign of a network based system. The work presented in this thesis forms a comprehensive overview which can be used for future work. Acknowledgments My gratitude goes to Jonas and Cyrille for helping me fix all the errors in this report, andto Configura for giving me a chance at my first programming job. I would also like tothankmy family for being there for me and supporting me through these years at Linköping University. A special thank you goes to Erika who was my greatest support during these last times. iv Contents Abstract iii Acknowledgments iv Contents v List of Figures vii List of Tables viii 1 Introduction 1 1.1 Motivation .......................................... 1 1.2 Aim .............................................. 2 1.3 Research questions ..................................... 2 1.4 Delimitations ........................................ 2 2 Theory 3 2.1 Building Information Modeling ............................. 3 2.2 3D design workflow .................................... 3 2.3 3D data representation .................................. 4 2.4 Network terminology .................................... 5 2.5 3D rendering software ................................... 6 3 Method 9 3.1 Prestudy ........................................... 9 3.2 Literature study ...................................... 10 3.3 File-based implementation ................................ 11 3.4 Network-based system ................................... 12 4 Results 13 4.1 Prestudy ........................................... 13 4.2 Literature study ...................................... 14 4.3 File-based implementation ................................ 21 4.4 Network-based system ................................... 27 5 Discussion 32 5.1 Results ............................................ 32 5.2 Method ............................................ 34 5.3 The work in a wider context ............................... 36 6 Conclusion 37 6.1 What research exists on 3D data sharing between software? . 37 6.2 What limitations does an automated file-based import-export workflow have? . 38 6.3 How can a network-based 3D data system be described using existing research? 38 v 6.4 Future work ......................................... 38 Bibliography 40 vi List of Figures 2.1 Internet protocol layers. .................................... 5 2.2 CET Designer. ......................................... 7 4.1 Stages of 3D modeling. .................................... 15 4.2 AtomDag node type hierarchy. ................................ 18 4.3 Structure of the two-way cooperation system. ....................... 20 4.4 Architecture of the collaborative system. .......................... 21 4.5 CET Designer extension for the Unreal Engine export. 23 4.6 Unreal Engine Auto Reimport settings. .......................... 24 4.7 Blueprints for importing a FBX file. ............................ 24 4.8 Basic room created in CET Designer. ............................ 27 4.9 Architecture of the network-based system for CET Designer. 28 4.10 Communication chart for the system. ............................ 29 4.11 Format for the network design data. ............................ 30 vii List of Tables 4.1 3D render engine features. .................................. 13 4.2 Revit export file types. .................................... 16 4.3 Specifications for computer used during development and testing. 25 4.4 Specifications for files used during testing. ......................... 26 4.5 Import/export times in seconds for the files and software used. 26 4.6 Testing the implementation with FBX and glTF file. 27 viii 1 Introduction This chapter consists of the introduction of the thesis which gives a background of what we want to achieve and why. It is divided into motivation, aim and research questions with a description of delimitations at the end. 1.1 Motivation Producing 3D content has been made easier with the introduction of different visualization software. These aim to provide many useful features and a clear UI. Over the years some of these software have made breakthroughs when it comes to producing realistic renderings of objects and scenery. Showing correct shadows, lightings and textures is important to give the viewer an accurate representation of 3D models and scenes. The introduction of features such as virtual reality (VR), augmented reality (AR) and haptic feedback has been a part of bringing another level of realism to the digital world. Given these higher standards for 3D content companies need to meet the changing demands of customers which are accustomed to seeing the content represented more and more visually correct. Implementing a proper graphics engine which meets these demands requires a large workforce with a deep understanding of 3D rendering. This is not only costly, but it is also unnecessary to have several companies which develop the same features. For this reason it is very common to instead rely on a third-party software to handle the graphics. Exporting the 3D content from a drawing and modelling software to a rendering software can be done in various ways which have different benefits. Allowing for continuous changes to the content while having a quick and easy workflow is crucial for designers using this kind of software. The question is how this can be achieved for companies which produce their own design software and are looking to easily create high quality renders. This thesis was proposed by Configura which is a company with offices around the world. Configura is one of the leading companies in space planning software. The software (CET Designer) is used in areas such as commercial furniture, material handling, kitchen, bath and industrial machinery. It is built with scalability and modularity in mind with many partners delivering custom extensions and plugins. The aim of the thesis is to find out how some well- known 3D rendering engine can be more loosely integrated into the software while retaining important features. Having photorealistic renderings and real time updates are features which are important in this context. CET Designer already has advanced 3D rendering capabilities. 1 1.2. Aim Using a separate 3D rendering engine to complement the existing