Generates and provides platform-independent scene files in an intermediate format

By converting the three-dimensional scene files of different design platforms into intermediate formats and writing an importer for the consumer platform, the problem of using three-dimensional scene templates across multiple different consumer platforms is solved, and efficient and seamless cross-platform use is achieved.

CN112074872BActive Publication Date: 2025-02-11MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201980029937.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-05-04
Filing Date
2019-04-26
Publication Date
2025-02-11
Estimated Expiration
2039-04-26

AI Technical Summary

Technical Problem

It is difficult for the prior art to use three-dimensional scene templates across multiple different consumer platforms, and due to the inconsistent formats between different design platforms and consumer platforms, it is difficult to achieve seamless cross-platform use.

Method used

By converting platform-specific scenario files generated by multiple different design platforms into platform-independent scenario files in intermediate formats, and writing importers for consumer platforms to interpret data in intermediate formats, to achieve cross-platform reconstruction of three-dimensional scenario templates and use.

Benefits of technology

The use of three-dimensional scene templates across multiple different consumption platforms has been realized, reducing resource consumption, improving efficiency, and avoiding the need to redesign three-dimensional scene templates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112074872B_ABST
    Figure CN112074872B_ABST
Patent Text Reader

Abstract

The technology described in this article converts platform-specific scene files generated by multiple different design platforms into platform-independent scene files configured in an intermediate format. The intermediate format includes a human-readable format that provides a written description of the content in the three-dimensional scene template. The platform-independent scene file can be provided to any of a plurality of different consumer platforms so that the data in the intermediate format can be interpreted and the three-dimensional scene template can be reconstructed. Once reconstructed, the three-dimensional scene template provides a user with a starting point for creating a three-dimensional scene experience (for example, the user can continue to add content to create and customize the scene for a specific purpose).
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] As the use of head mounted display devices becomes more common, more and more users can participate in experiences that display content via augmented reality, mixed reality, and / or virtual reality. In addition, more and more people are creating these three-dimensional experiences for specific purposes (e.g., employee training experiences for training new employees, marketing experiences for potential purchasers of a service (such as a vacation) or a product (such as a pair of skis), etc.).

[0002] Designers can use a variety of different design platforms to create three-dimensional scene templates. The three-dimensional scene template can include backgrounds and / or three-dimensional objects. Each of these design platforms generates files in a platform-specific format as output (which may be referred to as platform-specific scene files herein). In addition, there are a variety of different consumer platforms that enable consumers to use previously designed three-dimensional scene templates as a starting point for creating their own three-dimensional scenes. Therefore, a single consumer platform must be configured to accept platform-specific scene files from multiple different design platforms as input in order to rebuild the three-dimensional scene template. In addition, a single platform-specific scene file must be converted multiple times in order to rebuild the three-dimensional scene template in multiple different consumer platforms. In order to configure the consumer platform to accept platform-specific scene files of various formats, and in order to allow the platform-specific scene files to be converted multiple times in order to rebuild the three-dimensional scene template in multiple different consumer platforms, excessive resources (e.g., time, computing resources, etc.) are required or consumed.

[0003] Furthermore, designers often use design platforms to design 3D scene templates for specific consumer platforms. This makes it difficult for 3D scenes to be used across multiple different consumer platforms. Conversely, in order to make a 3D scene usable in a consumer platform different from the one for which the 3D scene template was designed, designers will need to redesign the 3D scene template using the same design platform or a different design platform. Summary of the invention

[0004] The disclosed technology provides a mechanism for improving the way that various consumer platforms use platform-specific scene files for modeling three-dimensional scene templates. As described herein, platform-specific scene files generated by multiple different design platforms are converted into platform-independent scene files configured in an intermediate format. The platform-independent scene files can then be provided to any of a plurality of different consumer platforms so that the data in the intermediate format can be interpreted and the three-dimensional scene template can be reconstructed. Once reconstructed, the three-dimensional scene template provides a user with a starting point for creating a three-dimensional scene experience (e.g., the user can continue to add content to create and customize a scene for a specific purpose).

[0005] An exporter can be written to convert a platform-specific scene file (whose data is in a platform-specific format) into a platform-independent scene file including data in an intermediate format. The intermediate format includes a human-readable format that provides a written description of the content in the three-dimensional scene template. For example, the content can include various objects (e.g., three-dimensional objects). Individual objects can be associated with properties that can be used to reconstruct the three-dimensional scene template. In addition, an importer can be written for a consuming platform to take a platform-independent scene file as input and reconstruct the three-dimensional scene template. The importer is configured to interpret human-readable instructions so that various content (e.g., three-dimensional objects) can be reconstructed or rendered for display in a manner that is the same or similar to the content originally designed using the design platform.

[0006] After converting data of different formats of platform-specific scene files from various design platforms into platform-independent scene files, the platform-independent scene files can be stored in a library so that they can be accessed by any of a plurality of different consumer platforms. Therefore, the technology described herein provides an effective and efficient way to enable a three-dimensional scene template designed using a specific design platform to be used across a plurality of different consumer platforms.

[0007] As described above, the designer can provide settings for the properties of an object when designing a 3D scene template. Exemplary properties of an object include, but are not limited to: the position of the object in the 3D scene template, the orientation of the object in the 3D scene template, the scale (e.g., size) of the object in the 3D scene template, the color of the object in the 3D scene template, the shadow of the object in the 3D scene template, whether the object is configured for user interaction in the 3D scene template, and the like.

[0008] In various examples, the platform-independent scene file includes a first part that lists or summarizes (e.g., declares) different contents in the three-dimensional scene template. For example, the first part can list and / or name various objects contained in the three-dimensional scene template. In some implementations, the objects listed in the first part can be associated with a uniform resource locator that provides access to data for rendering the object (e.g., the object may have been designed and available by a third-party designer). The platform-independent scene file also includes a second part that defines settings for properties that can be used to reconstruct individual objects in the three-dimensional scene template. Therefore, the settings can be configured based on user input to define the position (e.g., coordinates) of the object in the three-dimensional scene template, the orientation of the object in the three-dimensional scene template, the scale (e.g., size) of the object in the three-dimensional scene template, the color of the object in the three-dimensional scene template, the shadow of the object in the three-dimensional scene template, whether the object is configured for user interaction in the three-dimensional scene template, and the like.

[0009] Users can use consumption platforms to create experiences. Experiences can include two-dimensional scenes and / or three-dimensional scenes. By importing three-dimensional scene templates into consumption platforms, the technology described herein can be used to provide a starting point for three-dimensional scene creation. Typically, experiences include related and / or linked content that can be accessed and / or displayed for a specific purpose. As a specific example, experiences can include company content that employers want new employees to know, be informed of, or learn, so that new employees can access experiences from a network location when they start a new job. In various examples, experiences can include one or more spaces. Spaces include fragments or types of content in a wider experience. Continuing with the above example and further illustrating, one space can include company content related to job training for new employees, while another space in the same experience can include company content related to different interest and activity groups (e.g., hiking groups, skiing groups, chess groups, religious study groups, etc.) for which the employer provides a budget. This example shows two types of content related to the situation where a new employee starts working in a company, but the types of content are different, so different spaces can be part of a wider experience.

[0010] In various implementations, the experience may be accessed by a web browser or application executing on a computing device via one or more network locations (e.g., a web page, an intranet page, etc.). A head mounted display device may be bound to a computing device. Aspects of the experience may include, for example, one or more virtual reality (VR) three-dimensional scenes, one or more augmented reality (AR) three-dimensional scenes, and / or one or more mixed reality (MR) three-dimensional scenes. In one example, each three-dimensional scene may be associated with a uniform resource locator (URL) of a web page. In an alternative implementation, the experience of an application executing on a head mounted display device may be accessed through a web browser via one or more network locations.

[0011] This Summary is provided to introduce some concepts in a simplified form, which are further described in the Detailed Description below. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used to help determine the scope of the claimed subject matter. For example, the term "techniques" may refer to the above and throughout this document. Allowed systems, methods, computer-readable instructions, modules, algorithms, hardware logic and / or operations. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The detailed description is described with reference to the accompanying drawings. In the drawings, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears. The same reference numbers in different drawings indicate similar or identical elements.

[0013] Figure 1is a diagram showing how to convert platform-specific scene files from multiple different 3D design platforms into platform-independent scene files, and then provide the platform-independent scene files to multiple different 3D consumption platforms.

[0014] Figure 2 is a diagram that illustrates an example of how network systems (eg, network devices such as servers) and network communications may be used to implement the techniques described herein.

[0015] Figure 3 is a diagram showing how to use a consumption platform to recreate in a three-dimensional scene an object that is configured as part of a designed three-dimensional scene template using a design platform.

[0016] Figure 4 is a diagram illustrating an exemplary experience of which a three-dimensional scene being consumed by a user may be a part.

[0017] Figure 5 is a diagram illustrating an exemplary flow chart of operations for converting platform-specific scene files into an intermediate format and storing the data in the intermediate format as platform-independent scene files so that they can be provided to various consumer platforms to reconstruct three-dimensional scene templates. DETAILED DESCRIPTION

[0018] The technology described herein converts platform-specific scene files generated by multiple different design platforms into platform-independent scene files configured in an intermediate format. The intermediate format includes a human-readable format that provides a written description of the content in a three-dimensional scene template. The platform-independent scene file can be provided to any of a plurality of different consumer platforms so that the data in the intermediate format can be interpreted and the three-dimensional scene template can be reconstructed. Once reconstructed, the three-dimensional scene template provides a user with a starting point for creating a three-dimensional scene experience (e.g., the user can continue to add content to create and customize a scene for a specific purpose).

[0019] An exporter can be written to convert a platform-specific scene file (whose data is in a platform-specific format) into a platform-independent scene file that includes data in an intermediate format. In addition, an importer can be written for a consuming platform to take a platform-independent scene file as input and reconstruct a three-dimensional scene template. The importer is configured to interpret human-readable instructions so that various content (e.g., three-dimensional objects) can be reconstructed or rendered for display in the same or similar manner as the content originally designed using the design platform.

[0020] Therefore, the technology described in this article provides an effective and efficient way to enable three-dimensional scene templates designed using a specific design platform to be used across multiple different consumption platforms.

[0021] Reference below Figure 1-5 Describes various examples, scenarios, and aspects.

[0022] Figure 1 1 is a diagram 100 showing how platform-specific scene files from multiple different 3D design platforms 102(1) to 102(N) (where N is a positive integer such as 2, 3, 4, 5, etc.) are converted into platform-independent scene files 104, and then the platform-independent scene files 104 are provided to multiple different 3D consumption platforms 106(1) to 106(M) (where M is a positive integer such as 2, 3, 4, 5, etc.). As described above, there are existing design platforms 102(1) to 102(N) that enable 3D scene designers to design 3D scene templates. The 3D scene template can be designed so that the 3D scene author can use it via a 3D consumption platform (e.g., one of the 3D consumption platforms 106(1) to 106(M)).

[0023] The platform-independent scene file 104 includes data in an intermediate format, which is a human-readable format that provides a written description of the content in the three-dimensional scene template. Since each three-dimensional design platform 102 (1) to 102 (N) generates a scene file in a platform-specific format ("platform-specific scene file"), an exporter 108 (1) to 108 (N) is written for each three-dimensional design platform 102 (1) to 102 (N). The exporter 108 (1) to 108 (N) includes a program that converts data in a platform-specific format into an intermediate format. In addition, since each three-dimensional consumer platform 106 (1) to 106 (M) executes different code to reconstruct the three-dimensional scene template, an importer 110 (1) to 110 (M) is written for each three-dimensional consumer platform 106 (1) to 106 (M). The importer is configured to interpret the human-readable instructions in the platform-independent scene file so that the content of the three-dimensional scene template can be reconstructed (for example, the three-dimensional object can be rendered and displayed in the same or similar manner as the designed three-dimensional object).

[0024] In order to reconstruct the object in the three-dimensional scene template, the importer is configured to interpret the written description of the object's properties and map the written description to a platform-specific syntax that can be used to render and display the object. Exemplary properties of the object include, but are not limited to: the position of the object in the three-dimensional scene template, the orientation of the object in the three-dimensional scene template, the scale (e.g., size) of the object in the three-dimensional scene template, the color of the object in the three-dimensional scene template, the shadow of the object in the three-dimensional scene template, whether the object is configured for user interaction in the three-dimensional scene template, and the like.

[0025] Therefore, the technology described herein provides an effective and efficient way to enable a 3D scene template designed using a specific design platform to be used across multiple different consumer platforms. By implementing the technology described herein, designers do not have to redesign the 3D scene template (i) so that it can be used in different 3D consumer platforms, or (ii) when the 3D design platform that originally designed the 3D scene template is no longer available in the market or has faded out of various consumer platforms.

[0026] Figure 2 is a diagram 200 showing an example of how network systems (eg, network devices such as servers) and network communications may be used to implement the techniques described herein. Figure 2 The first user 202 (eg, a designer) is shown designing a three-dimensional scene template using a computing device 204. The computing device 204 includes a processor 206 and a computer readable medium 208. The computing device 108 can execute a design module 210. The design module 210 can be associated with Figure 1 In various examples, design module 210 may include an application installed on a computing device and / or a component configured to access a Web-enabled application (e.g., a Web browser).

[0027] According to the design of the 3D scene template, the design module 210 generates a scene file 212 in a platform-specific format. Figure 2 As shown, these scene files are sent to the equipment of network provider 216 (e.g., service and / or content provider) via network 214. The equipment of network provider 216 also includes processor 218 and computer readable medium 220. Computer readable medium 220 includes exporter 222. Exporter 222 is a program written to convert scene files generated in a platform-specific format corresponding to design module 210 into platform-independent scene files including data in an intermediate format. Again, the intermediate format includes human-readable instructions such as written descriptions of object properties, which can be used to export scene files on different platforms (e.g., Figure 1 The three-dimensional scene template is reconstructed in one of the consumer platforms 106(1) to 106(M)).

[0028] In various examples, network provider 216 can store platform-independent scene files in library 224, which has different scene files for various different consumption platforms (e.g., Figure 1The network provider 216 then receives a request to reconstruct the 3D scene template from a computing device 226 of another user 228. The user 228 may be an author of a 3D scene that wants to use the 3D scene template as a starting point. The computing device 226 also includes a processor 230 and a computer readable medium 232. The computing device 226 may execute a consumption module 234. The consumption module 234 may be associated with Figure 1 In various examples, consumption module 234 may include an application installed on computing device 226 and / or a component (e.g., a Web browser) configured to access a Web-enabled application.

[0029] When the network provider 216 receives a request to reconstruct a three-dimensional scene template using the consumption module 234, the network provider 216 can identify the corresponding platform-independent scene file in the library 224 and provide it to the importer 236. As described above, the importer 236 is a program written for the consumption module 234 so that the written description of the object properties can be interpreted and mapped to a platform-specific syntax that can be used to render and display the object in the reconstructed three-dimensional scene template 238. In various implementations, the importer 240 can be used on the client-side computing device 226.

[0030] The network provider 216 can execute different exporters and different importers that have been written for different design platforms and different consumption platforms. Therefore, the technology described herein provides an effective and efficient way to enable a three-dimensional scene template designed using any one of a plurality of different design platforms to be used across a plurality of different consumption platforms.

[0031] Computing devices (e.g., computing devices 204 and 226) may include, but are not limited to, game consoles, desktop computers, laptop computers, gaming devices, tablet computers, head mounted display devices, personal data assistants (PDAs), mobile phone / tablet hybrid devices, telecommunication devices, network-enabled televisions, terminals, Internet of Things (IoT) devices, workstations, media players, or any other type of computing device. In some implementations, a computing device includes an input / output (I / O) interface that supports communication with input / output devices, such as user input devices including peripheral input devices (e.g., game controllers, keyboards, mice, pens, voice input devices, touch input devices, gesture input devices, etc.) and / or output devices including peripheral output devices (e.g., display screens, printers, audio speakers, tactile output devices, etc.).

[0032] The network (e.g., network 214) may include, for example, a public network (e.g., the Internet), a private network (e.g., an institutional and / or personal intranet), or some combination of a private network and a public network. The network may also include any type of wired and / or wireless network, including but not limited to a local area network (LAN), a wide area network (WAN), a satellite network, a cable network, a Wi-Fi network, a WiMax network, a mobile communication network (e.g., 3G, 4G, etc.), or any combination thereof. The network may utilize communication protocols, including packet-based and / or datagram-based protocols, such as Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), or other types of protocols. In addition, the network may also include many devices that contribute to network communication and / or form the hardware foundation of the network, such as switches, routers, gateways, access points, firewalls, base stations, repeaters, backbone devices, etc.

[0033] Examples of head mounted display devices that can be used to consume three-dimensional templates include, but are not limited to: OCCULUS RIFT, GOOGLE DAYDREAM VIEW, MICROSOFT HOLOLENS, HTC VIVE, SONY PLAYSTATION VR, SAMSUNG GEAR VR, GOOGLE CARDBOARD, SAMSUNG HMD ODYSSEY, DELL VISOR, HP HEADSET, LENOVOEXPLORER, ACER HEADSET, or any augmented reality, mixed reality, and / or virtual reality device.

[0034] In some instances, the head mounted display device may not include a processor or a computer readable medium. Instead, the head mounted display device may include an output device configured to render data stored on another computing device for display. For example, the head mounted display device may be bound to a computing device. Thus, the interface of the computing device and the head mounted display device may be configured to communicate via a wired and / or wireless universal serial bus ("USB") connection, a high definition multimedia interface ("HDMI") connection, a Bluetooth connection, etc.

[0035] As used herein, a "processor" may represent, for example, a CPU-type processing unit, a GPU-type processing unit including a virtual GPU (VGPU), a field programmable gate array (FPGA), a digital signal processor (DSP), or other hardware logic components that may be driven by a CPU in some instances. For example, but not limited to, illustrative types of hardware logic components that may be used include application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0036] As used herein, a "computer-readable medium" may store instructions and / or data (e.g., model data of a scene, template, or object) that can be executed by a processor. A computer-readable medium may also store instructions that can be executed by an external processing unit (e.g., by an external CPU, an external GPU) and / or by an external accelerator (e.g., an FPGA-type accelerator, a DSP-type accelerator, or any other internal or external accelerator). In various examples, at least one CPU, GPU, and / or accelerator is incorporated into the computing device, while in some examples, one or more of the CPU, GPU, and / or accelerator is external to the computing device.

[0037] Computer readable media may include computer storage media and / or communication media. Computer storage media may include one or more of the following: volatile memory, non-volatile memory and / or other persistent and / or secondary computer storage media, removable and non-removable computer storage media, implemented in any method or technology for storage of information (e.g., computer readable instructions, data structures, program modules or other data). Thus, computer storage media includes memory in tangible and / or physical form included in a device and / or in a hardware component that is part of a device or external to a device, including but not limited to random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), phase change memory (PCM), read only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, compact disk read-only memory (CD-ROM), digital versatile disk (DVD), optical cards or other optical storage media, cassettes, magnetic tape, magnetic disk storage, magnetic cards or other magnetic storage devices or media, solid-state memory devices, storage arrays, network attached storage, storage area networks, hosted computer storage, or any other memory, storage devices, and / or storage media that can be used to store and maintain information for access by a computing device.

[0038] In contrast to computer storage media, communication media may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism. As defined herein, computer storage media does not include communication media. That is, computer storage media itself does not include communication media consisting only of a modulated data signal, carrier wave, or propagation signal.

[0039] Figure 1 The modules provided in the examples are examples, and the number of modules used to implement the techniques described herein may be higher or lower. That is, the functions associated with the modules shown described herein may be performed by a smaller number of modules or a larger number of modules on one device, or may be distributed across multiple devices.

[0040] The network provider 216 may include a system that includes a server computer, a desktop computer, a web server computer, a personal computer, a mobile computer, a laptop computer, a tablet computer, or any other kind of computing device.

[0041] Figure 3 300 is a diagram showing how to use a consumption platform (e.g., consumption module 308) to reconstruct objects in a three-dimensional scene 306 that are configured to be part of a designed three-dimensional scene template 302 using a design platform (e.g., design module 304). As shown, the three-dimensional scene template 302 designed by the designer includes a living room with a sofa, a chair, a coffee table, a bookcase, a plant, a dog, and a balloon. These are examples of various contents (e.g., objects) included in the three-dimensional scene template 302. On the consumption side, the author of the three-dimensional scene 306 may want to use the already designed three-dimensional scene template 302 as a starting point for scene creation, and therefore, the three-dimensional scene template 302 needs to be reconstructed via the consumption module 308 so that the author can add new objects to create his own three-dimensional scene.

[0042] As described above, the design of the three-dimensional scene template 302 generates one or more platform-specific scene files 310 having data in a platform-specific format. For example, the platform-specific format can define the design properties of the balloon. The platform-specific scene files 310 are received (e.g., by a network provider) and passed to an exporter 312, so that the data in the platform-specific format can be converted into one or more platform-independent scene files 314 including data in an intermediate format. As shown, the intermediate format includes a human-readable format with a written description / instructions.

[0043] In various examples, the platform-independent scene file 314 includes a first portion that lists or summarizes the different contents in the three-dimensional scene template 302. For example, the first portion can list and / or name the various objects included in the three-dimensional scene template. In some implementations, the objects listed in the first portion can be associated with a uniform resource locator (URL) that provides access to data for rendering the object (e.g., the object may have been designed and available by a third-party designer). Figure 3 As shown, the first portion of the platform-independent scenario file 314 lists the URLs from which the balloon's data can be retrieved and the URLs from which the data can be retrieved.

[0044] The platform-independent scene file 314 also includes a second portion that defines settings that can be used to reconstruct properties of individual objects in the three-dimensional scene template 302. Thus, the settings can be configured based on design input to define various properties. The second portion of the platform-independent scene file 314 provides a written description of the position and scale of the balloon. Other properties that can define settings include the orientation of the object in the three-dimensional scene template, the color of the object in the three-dimensional scene template, the shadow of the object in the three-dimensional scene template, whether the object is configured for user interaction in the three-dimensional scene template, and the like.

[0045] Based on a request to consume a three-dimensional scene template 302, a platform-independent scene file 314 may be provided to an importer 316 so that the written description may be interpreted to generate scene data 318. Figure 3 As shown, the scene data 318 is used to reconstruct the balloon with corresponding attributes 320 so that it is graphically represented in the same or similar manner as it was graphically represented in the design of the three-dimensional scene template 302.

[0046] The intermediate format is an extensible format. For example, the intermediate format is configured to accommodate new content that is designed or added to the three-dimensional scene template.

[0047] Figure 4 is a diagram illustrating an exemplary experience 402 of which a three-dimensional scene being consumed by a user may be a part (e.g., the user may be the author of a three-dimensional scene created for the experience). As shown, experience 402 may include a two-dimensional scene and / or a three-dimensional scene. Typically, experience 402 includes related and / or linked content that may be accessed and / or displayed for a particular purpose. As a specific example, experience 402 may include company content that an employer wants a new employee to know, be informed of, or learn, so that the new employee may access experience 402 when he or she starts a new job. In another specific example, experience 402 may include course content that a school teacher wants a student to know, be informed of, or learn, so that the student may access the experience when he or she enters a particular course.

[0048] Experience 402 may include one or more spaces 404(1) through 404(N) (where N is a positive integer such as 1, 2, 3, 4, etc.). A space includes a segment or type of content within the broader experience 402. There is no limitation on how one segment or type of content is distinguished from another segment or type of content within the same experience 402. In addition, an experience may include only a single space. Continuing with the above example and further illustrating, space 404(1) may include company content related to job training for a new employee, while space 404(N) may include company content related to different interest and activity groups for which the employer provides budget (e.g., a hiking group, a skiing group, a chess group, a religious study group, etc.). The employer may have a policy of notifying new employees of these interest and activity groups when they start a new job so that they can join if common interests are shared. This example shows two types of content related to a situation in which a new employee begins working at a company, but the types of content are different, so different spaces may be created and / or consumed within the broader experience 402.

[0049] As described above, the space may include a three-dimensional scene. In various implementations, the entry point for a user to consume the space may include a web page or intranet page (e.g., a URL) that is initially accessed via a computing device. For example, a new employee may access “www.companyABC.com / employeetraining” on his or her computing device to enter space 404(1) as part of a broader experience 402. The new employee may also access “www.companyABC.com / employeegroups” on his or her computing device to enter space 404(N) as part of a broader experience 402. In a specific example, space 404(1) may include a home page that displays two-dimensional content (e.g., text and some pictures). The home page may include a first link to three-dimensional scene 406, which may include links to three-dimensional scene 408 and three-dimensional scene 410. Three-dimensional scenes 406, 408, and 410 may also include links or anchors that allow navigation to each other in the three-dimensional immersive environment. The new employee may consume three-dimensional scenes 406, 408, and 410 in the three-dimensional immersive environment using a head mounted display device connected to the computing device. These three-dimensional scenes 406, 408, and 410 may also include URLs that are part of a web page (e.g., "www.companyABC.com / employeetraining / 3Dscene408" and "www.companyABC.com / employeetraining / 3Dscene410"). In addition, the scene 410 in the first space 404(1) may provide a link 412 to the three-dimensional scene 414 in the second space 404(N) (e.g., via selection of a three-dimensional object).

[0050] Thus, as described herein, consumption of a three-dimensional scene can be implemented as part of an experience 402 created for a particular type of user (e.g., a new employee, a class of students, etc.). In various examples, experience 402 can be associated with one or more web pages, but aspects of experience 402 can include, for example, one or more virtual reality (VR) three-dimensional scenes, one or more augmented reality (AR) three-dimensional scenes, and / or one or more mixed reality (MR) three-dimensional scenes. Figure 4 The experience 402 shown in example diagram 400 shows a limited number of spaces and scenes, but it will be understood in the context of the present disclosure that an experience may include any number of spaces (e.g., one, two, three, four, five, ten, twenty, one hundred, etc.) for related content and any number of scenes (e.g., one, two, three, four, five, ten, twenty, one hundred, etc.).

[0051] Figure 5 5 is a diagram showing an exemplary flow chart 500 for the following operations: converting a platform-specific scene file into an intermediate format, and storing the data in the intermediate format as a platform-independent scene file so that they can be provided to various consumer platforms to reconstruct a flow chart of a three-dimensional scene template inclusion method. It should be understood that the operations of the method disclosed herein are not presented in any particular order, and it is possible and expected that some or all operations may be performed in an alternative order. For ease of description and illustration, the operations have been presented in the order of demonstration. Without departing from the scope of the appended claims, operations may be added, omitted, and / or performed simultaneously.

[0052] It should also be understood that the method shown can be terminated at any time and does not need to be performed in its entirety. Some or all of the operations of the method and / or substantially equivalent operations may be performed by executing computer-readable instructions contained on a computer storage medium, as defined below. The term "computer-readable instructions" and variants thereof as used in the specification and claims are used broadly herein to include routines, applications, application modules, program modules, programs, components, data structures, algorithms, and the like. Computer-readable instructions may be implemented on a variety of system configurations, including single-processor or multi-processor systems, minicomputers, mainframe computers, personal computers, handheld computing devices, wearable computing devices, microprocessor-based programmable consumer electronics, combinations thereof, and the like.

[0053] It should therefore be understood that the logical operations described herein are implemented as: (1) a sequence of computer-implemented actions or program modules running on a computing system, and / or (2) interconnected machine logic circuits or circuit modules within a computing system. The implementation is a matter of choice depending on the performance and other requirements of the computing system. Thus, the logical operations described herein are variously referred to as states, operations, structural devices, actions, or modules. These operations, structural devices, actions, and modules may be implemented in software, firmware, dedicated digital logic, and any combination thereof.

[0054] Additionally, the operations described herein may be implemented as a series of computer-implemented actions or program modules running on a computing system (eg, a computing device and / or a network provider's equipment).

[0055] Figure 5 is a diagram of an example flow chart 500 illustrating operations for converting platform-specific scene files to an intermediate format and storing the data in the intermediate format as platform-independent scene files so that they can be provided to various consuming platforms to reconstruct a three-dimensional scene template.

[0056] At operation 502, one or more scene files are received, the scene files containing data in a platform-specific format for modeling a three-dimensional scene template.

[0057] At operation 504, the data of the scene file is converted from the platform-specific format to an intermediate format using an exporter. As described above, the intermediate format includes human-readable instructions (eg, written descriptions of objects and object properties).

[0058] At operation 506 , the data in the intermediate format is stored as one or more platform-independent scene files that can be used to reconstruct the three-dimensional scene template across a plurality of different consumer platforms.

[0059] At operation 508 , a request to reconstruct a three-dimensional scene template in a consuming platform is received.

[0060] At operation 510, the platform-independent file is provided to an importer associated with a consuming platform.

[0061] At operation 512 , an importer is used to interpret the data of the platform-independent file in the intermediate format to reconstruct the three-dimensional scene template in the consuming platform.

[0062] The disclosure presented herein may be considered in light of the following exemplary terms.

[0063] Exemplary clause A, a method, comprising: receiving one or more scene files, the scene files containing data for modeling a three-dimensional scene template in a platform-specific format, wherein the platform-specific format is associated with a design platform for designing the three-dimensional scene template; converting the data from the platform-specific format to an intermediate format by one or more processors and using an exporter, the intermediate format including human-readable instructions; storing the data in the intermediate format in one or more platform-independent scene files, the platform-independent scene files being capable of being used to reconstruct the three-dimensional scene template across multiple consumer platforms; receiving a request for reconstructing the three-dimensional scene template in a consumer platform among the multiple consumer platforms; providing the one or more platform-independent scene files to an importer associated with the consumer platform; and using the importer to interpret the human-readable instructions of the one or more platform-independent scene files to reconstruct the three-dimensional scene template in the consumer platform.

[0064] Exemplary clause B, the method described in Exemplary clause A, wherein: the three-dimensional scene template includes multiple objects; each of the multiple objects is associated with a property that can be used to reconstruct the object; and the human-readable instructions provide a written description of the properties that can be used to reconstruct the object.

[0065] Exemplary clause C, the method described in Exemplary clause B, wherein the individual attributes include the position of the object in the three-dimensional scene template.

[0066] Exemplary clause D, the method of Exemplary clause B, wherein the individual attributes include the orientation of the object in the three-dimensional scene template.

[0067] Example clause E, the method of example clause B, wherein the individual attributes include the scale of the object in the three-dimensional scene template.

[0068] Exemplary clause F, the method of Exemplary clause B, wherein the individual attributes include the color of the object in the three-dimensional scene template.

[0069] Example clause G, the method of example clause B, wherein the individual attributes include shadows of objects in the three-dimensional scene template.

[0070] Exemplary clause H, the method of exemplary clause B, wherein the individual attributes include implementation of user interaction with the object in the three-dimensional scene template.

[0071] Exemplary clause I, a method as described in any of exemplary clauses B to H, wherein a first portion of a platform-independent scene file lists multiple objects contained in a three-dimensional scene template and a uniform resource locator that provides access to data for rendering individual objects of the multiple objects, and a second portion of the platform-independent file defines settings for properties that can be used to reconstruct the individual objects in the three-dimensional scene template.

[0072] Exemplary clause J, a method as described in any of Exemplary clauses B to I, wherein the intermediate format is extensible.

[0073] Exemplary clause K, a system comprising: at least one processor; and a memory storing instructions, which when executed by the at least one processor causes the system to perform operations including: receiving one or more scene files, the scene files containing data for modeling a three-dimensional scene template in a platform-specific format, wherein the platform-specific format is associated with a design platform for designing the three-dimensional scene template; converting the data from the platform-specific format into an intermediate format, the intermediate format including human-readable instructions; storing the data in the intermediate format in one or more platform-independent scene files, the platform-independent scene files being able to be used to reconstruct the three-dimensional scene template across multiple consumer platforms; receiving a request for reconstructing the three-dimensional scene template in a consumer platform among the multiple consumer platforms; interpreting the human-readable instructions of the one or more platform-independent scene files to reconstruct the three-dimensional scene template in the consumer platform.

[0074] Exemplary Clause L, a system as described in Exemplary Clause K, wherein: the three-dimensional scene template includes multiple objects; each of the multiple objects is associated with a property that can be used to reconstruct the object; and the human-readable instructions provide a written description of the property that can be used to reconstruct the object.

[0075] Exemplary Clause M, a system as described in Exemplary Clause L, wherein the individual attributes include the position of an object in a three-dimensional scene template, the orientation of an object in a three-dimensional scene template, the scale of an object in a three-dimensional scene template, the color of an object in a three-dimensional scene template, the shadow of an object in a three-dimensional scene template, or an implementation of user interaction with an object in a three-dimensional scene template.

[0076] The system described in Exemplary Clause N, Exemplary Clause L, or Exemplary Clause M, wherein a first portion of a platform-independent scene file lists a plurality of objects included in a three-dimensional scene template and a uniform resource locator that provides access to data for rendering individual objects of the plurality of objects, and a second portion of the platform-independent file defines settings for properties that can be used to reconstruct the individual objects in the three-dimensional scene template.

[0077] Exemplary clause O, the system of any one of Exemplary clauses L to N, wherein the intermediate file is extensible.

[0078] Exemplary clause P, one or more computer-readable storage media storing instructions that, when executed by at least one processor, cause the system to perform operations including: receiving one or more scene files containing data for modeling a three-dimensional scene template in a platform-specific format, wherein the platform-specific format is associated with a design platform for designing the three-dimensional scene template; converting the data from the platform-specific format into an intermediate format, wherein the intermediate format includes human-readable instructions; storing the data in the intermediate format in one or more platform-independent scene files, which can be used to reconstruct the three-dimensional scene template across multiple consumer platforms; receiving a request for reconstructing the three-dimensional scene template in a consumer platform among the multiple consumer platforms; and interpreting human-readable instructions of the one or more platform-independent scene files to reconstruct the three-dimensional scene template in the consumer platform.

[0079] Exemplary clause Q, one or more computer-readable storage media as described in Exemplary clause P, wherein: the three-dimensional scene template includes multiple objects; each of the multiple objects is associated with a property that can be used to reconstruct the object; and the human-readable instructions provide a written description of the property that can be used to reconstruct the object.

[0080] One or more computer-readable storage media as described in Exemplary Clause R and Exemplary Clause Q, wherein the individual attributes include the position of the object in the three-dimensional scene template, the orientation of the object in the three-dimensional scene template, the scale of the object in the three-dimensional scene template, the color of the object in the three-dimensional scene template, the shadow of the object in the three-dimensional scene template, or the implementation of user interaction with the object in the three-dimensional scene template.

[0081] One or more computer-readable storage media as described in Exemplary Clause S, Exemplary Clause Q, or Exemplary Clause R, wherein a first portion of a platform-independent scene file lists a plurality of objects included in a three-dimensional scene template and a uniform resource locator that provides access to data for rendering individual objects of the plurality of objects, and a second portion of the platform-independent file defines settings for properties that can be used to reconstruct the individual objects in the three-dimensional scene template.

[0082] Exemplary clause T, the one or more computer-readable storage media of any of Exemplary clauses P to S, wherein the intermediate format is extensible.

[0083] Although the technology has been described in language specific to structural features and / or methodological acts, it should be understood that the appended claims are not necessarily limited to the described features or acts. Rather, the features and acts are described as exemplary implementations of such technology.

[0084] The operation of the exemplary process is shown in individual boxes and summarized with reference to those boxes. The process is shown as a logical flow of boxes, each of which can represent one or more operations that can be implemented in hardware, software, or a combination thereof. In the context of software, an operation represents a computer executable instruction stored on one or more computer-readable media, which enables one or more processors to perform the operation when executed by one or more processors. Typically, computer executable instructions include routines, programs, objects, modules, components, data structures, etc. that perform specific functions or implement specific abstract data types. The order of the described operations is not intended to be understood as a limitation, and any number of the operations can be performed in any order, combined in any order, subdivided into multiple sub-operations and / or performed in parallel to implement the described process. The described process can be performed by resources associated with one or more devices (e.g., one or more internal or external CPUs or GPUs) and / or one or more hardware logics (e.g., FPGAs, DSPs, or other types of accelerators).

[0085] All methods and processes described above can be embodied and fully automated via software code modules executed by one or more general-purpose computers or processors. The code modules can be stored in any type of computer-readable storage medium or other computer storage device. Some or all of these methods can alternatively be embodied in dedicated computer hardware.

[0086] Unless otherwise specifically stated, conditional language such as "can," "can," "may," or "may" should be understood in context to indicate that certain examples include, while other examples do not, certain features, elements, and / or steps. Therefore, such conditional language is generally not intended to imply that one or more examples require certain features, elements, and / or steps in any way, or that one or more examples must include logic for determining whether certain features, elements, and / or steps are included or to be performed in any particular example with or without user input or prompting. Unless otherwise explicitly stated, conjunctions such as phrases "at least one of X, Y, or Z" will be understood to indicate that an item, term, etc. can be X, Y, or Z, or a combination thereof.

[0087] Any conventional description, element or frame in the flow chart described herein and / or depicted in the accompanying drawings should be understood as potentially representing a part of a module, segment or code, which includes one or more executable instructions for realizing a specific logical function or element in a routine. Alternative implementations are included in the scope of the examples described herein, wherein, as understood by those skilled in the art, depending on the functions involved, elements or functions can be deleted or performed in different orders shown or described, including substantially synchronously or in reverse order. It should be emphasized that many variations and modifications can be made to the above examples, and elements therein should be understood as being within other acceptable examples. All these modifications and variations are intended to be included within the scope of this disclosure and are protected by the appended claims.

Claims

1. A method for modeling a three-dimensional scene template, comprising: One or more scene files are received, the scene files containing data modeling a three-dimensional scene template in a platform-specific format, wherein: The platform-specific format is associated with a design platform used to design the three-dimensional scene template; and The three-dimensional scene template includes a plurality of objects and attributes that can be used to reconstruct the plurality of objects; converting, by one or more processors and using an exporter, the data from the platform-specific format to an intermediate format including human-readable instructions providing a written description of the properties that can be used to reconstruct the plurality of objects; The data in the intermediate format is stored in a platform-independent scene file, and the platform-independent scene file can be used to reconstruct the three-dimensional scene template across multiple consumer platforms, wherein: The first portion of the platform-independent scene file declares the contents of the three-dimensional scene template by listing the plurality of objects and uniform resource locators that provide access to data for rendering individual objects of the plurality of objects; and A second portion of the platform-independent scene file defines settings for the properties that can be used to reconstruct the plurality of objects; receiving a request for reconstructing the three-dimensional scene template in a consumer platform among the plurality of consumer platforms; providing the platform-independent scene file to an importer associated with the consuming platform; and The importer is used to interpret human-readable instructions of the platform-independent scene file to recreate the three-dimensional scene template in the consuming platform.

2. The method according to claim 1, wherein: The individual attributes include the position of the object in the three-dimensional scene template.

3. The method according to claim 1, wherein: Individual attributes include the orientation of the object in the three-dimensional scene template.

4. The method according to claim 1, wherein: Individual attributes include the scale of the object in the three-dimensional scene template.

5. The method according to claim 1, wherein: The individual attributes include the color of the object in the three-dimensional scene template.

6. The method according to claim 1, wherein: The individual attributes include a shadow of the object in the three-dimensional scene template.

7. The method according to claim 1, wherein: Individual attributes include implementations of user interactions with the object in the three-dimensional scene template.

8. The method according to any one of claims 1 to 7, wherein: The intermediate format is extensible.

9. A system for modeling a three-dimensional scene template, comprising: at least one processor; as well as a memory storing instructions that, when executed by the at least one processor, cause the system to perform operations comprising: One or more scene files are received, the scene files containing data modeling a three-dimensional scene template in a platform-specific format, wherein: The platform-specific format is associated with a design platform used to design the three-dimensional scene template; and The three-dimensional scene template includes a plurality of objects and attributes that can be used to reconstruct the plurality of objects; converting the data from the platform-specific format to an intermediate format, the intermediate format comprising human-readable instructions providing a written description of the properties that can be used to reconstruct the plurality of objects; The data in the intermediate format is stored in a platform-independent scene file, and the platform-independent scene file can be used to reconstruct the three-dimensional scene template across multiple consumer platforms, wherein: The first portion of the platform-independent scene file declares the contents of the three-dimensional scene template by listing the plurality of objects and uniform resource locators that provide access to data for rendering individual objects of the plurality of objects; and A second portion of the platform-independent scene file defines settings for the properties that can be used to reconstruct the plurality of objects; receiving a request for reconstructing the three-dimensional scene template in a consumer platform among the plurality of consumer platforms; Human-readable instructions for interpreting the platform-independent scene file to recreate the three-dimensional scene template in the consuming platform.

10. The system according to claim 9, wherein: Individual attributes include the position of the object in the three-dimensional scene template, the orientation of the object in the three-dimensional scene template, the scale of the object in the three-dimensional scene template, the color of the object in the three-dimensional scene template, the shadow of the object in the three-dimensional scene template, or the implementation of user interaction with the object in the three-dimensional scene template.

11. One or more computer-readable storage media storing instructions that, when executed by at least one processor, cause a system to perform operations comprising: One or more scene files are received, the scene files containing data modeling a three-dimensional scene template in a platform-specific format, wherein: The platform-specific format is associated with a design platform used to design the three-dimensional scene template; and The three-dimensional scene template includes a plurality of objects and attributes that can be used to reconstruct the plurality of objects; converting the data from the platform-specific format to an intermediate format, the intermediate format comprising human-readable instructions providing a written description of the properties that can be used to reconstruct the plurality of objects; The data in the intermediate format is stored in a platform-independent scene file, and the platform-independent scene file can be used to reconstruct the three-dimensional scene template across multiple consumer platforms, wherein: The first portion of the platform-independent scene file declares the contents of the three-dimensional scene template by listing the plurality of objects and uniform resource locators that provide access to data for rendering individual objects of the plurality of objects; and A second portion of the platform-independent scene file defines settings for the properties that can be used to reconstruct the plurality of objects; receiving a request for reconstructing the three-dimensional scene template in a consumer platform among the plurality of consumer platforms; and Human-readable instructions for interpreting the platform-independent scene file to recreate the three-dimensional scene template in the consuming platform.