Create content in 3D

By providing pre-processed 3D components and predefined work areas in 3D creation applications, the complexity and labor-intensive problems of content creation in the 3D environment are solved, and an efficient content creation process is achieved, simplifying the creator's operation process.

CN112074876BActive Publication Date: 2025-01-03MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201980030271.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-01-03
Estimated Expiration
2039-04-26

AI Technical Summary

Technical Problem

Creating content such as background, structure and sound in 3D environments has technical challenges and labor-intensive problems. Creators need to switch between multiple applications and make complex settings and parameter adjustments, resulting in inefficient creation.

Method used

Provides a 3D creation application that allows various 3D components to be applied interchangeably into a 3D environment by simply selecting and applying preprocessed 3D components, providing 3D work areas of predefined shapes and sizes, classifying and aggregating 3D components To simplify the content creation process.

Benefits of technology

It greatly simplifies content creation in a 3D environment, reduces the need to switch between multiple applications, allows creators who do not need a lot of technical knowledge to easily create, modify or manipulate 3D content, and avoids duplication of trial and error processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112074876B_ABST
    Figure CN112074876B_ABST
Patent Text Reader

Abstract

Disclosed herein is a computing device for authoring content in a computer-based 3D environment. In one embodiment, the computing device is configured to provide a user interface of a 3D authoring application having a 3D work area on a display, the 3D work area having a predefined shape and size. The computing device is also configured to retrieve one or more files of the 3D component in response to receiving user input selecting a 3D component, the files containing data preprocessed according to the predefined shape and size of the 3D work area. Based on the retrieved data of the 3D component, the computing device can generate (i) a graphical representation of one or more objects or (ii) sounds in the 3D work area without modifying the underlying data of the one or more objects or sounds outside the 3D authoring application.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] In computing, a three-dimensional (3D) environment generally refers to a computer-based simulated 3D platform in which 3D representations of images, videos, sounds, or other digital content can be presented to a viewer. A 3D environment can provide a more immersive viewing experience than a two-dimensional (2D) environment. However, authoring content in a 3D environment remains challenging due to the complexity of accurate representation and interactive control of objects in a 3D environment. Due to this complexity, today, only a small group of authors have the necessary technical skills to create suitable content in a 3D environment. Summary of the invention

[0002] This summary is provided to introduce a selection of design concepts that are further described below in the detailed description in a simplified form. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

[0003] Authoring content in a 3D environment can be challenging because authoring in a 2D environment lacks the full range of authoring activities. Often, multiple applications are utilized to create content items in a 3D environment. For example, the process for creating a background for a 3D environment (e.g., a blue sky with clouds) involves first creating a background in an image editing application (e.g., ) to create a composite image of an image of a blue sky and clouds. Then, use a 2D to 3D conversion application to export the composite image into multiple files of different views of the 3D image. The exported files can then be imported into a 3D authoring application (such as ) to be combined with other content items.

[0004] During each of the above stages, the creator is faced with many settings and parameters. For example, during image editing, the author can choose the resolution of the composite image, the color gradient from the ground to the sky, the edge transition, etc. Any of these settings may affect the resulting content item in the 3D environment. Therefore, in order to obtain a suitable background in the 3D environment, the creator may need to return to the image editing application to edit the composite image and repeat the export and import operations by trial and error until a satisfactory result is obtained. Therefore, creating a suitable background in a 3D environment can be labor-intensive and requires a lot of technical knowledge.

[0005] In another example, creating structures such as buildings or rooms can also be labor-intensive and technically challenging. The typical process of creating a building involves using a 3D modeling application such as ) to generate a 3D model of the building. The 3D model can include structural features, such as roofs, walls, windows, etc., as well as the color (red, beige, etc.) and / or texture (e.g., brick, wood, tile, etc.) of the structural features. The 3D model can then be exported to a 3D authoring application (e.g. ) for further processing.

[0006] Similar to creating the background above, adjusting the many settings during both 3D model generation and export can involve a lot of technical knowledge in order to get the structure right in the 3D environment. For example, if the 3D model is exported with a single side, the building in the 3D environment may look distorted or illogical. In addition, when importing into a 3D authoring application, the creator must select the scale factor correctly, otherwise the building may appear out of proportion. Even if the creator selects all the settings correctly, making a small change to the building (such as changing from a brick exterior to a wooden exterior) requires repeating the entire process.

[0007] In another example, inserting sounds into a 3D environment can be technically complex. Often, a sound (e.g., an insect chirping) needs to be attached to an object (e.g., a tree) in a 3D environment. The sound also needs to fade out relative to the viewer's position in the 3D environment. Configuring these features can require a great deal of technical knowledge. For example, when configuring the fade in and fade out of a sound, the creator may need to adjust one or more parameters of an exponential decay function so that the sound does not fade out too quickly or too slowly as the viewer's position changes.

[0008] Therefore, creating a single content item (such as a background, structure, or sound) in a 3D environment can be technically challenging and labor-intensive. When a creator combines multiple content items, creating suitable content in a 3D environment can be even more difficult and time-consuming. For example, when a creator combines the aforementioned example building into a background, a change in the background (e.g., color) can cause the creator to repeat the entire process used to generate the initial background. Changes in the background may also require changes to other content items in the 3D environment to correspond to other repetitions of the process. Therefore, creating content items in a 3D environment can be labor-intensive and technically challenging.

[0009] Several embodiments of the disclosed technology can address at least some aspects of the above difficulties by providing a 3D authoring application that is configured to allow various pre-processed 3D components to be interchangeably applied to a 3D environment by simply selecting and applying the 3D components. In one implementation, the 3D authoring application can be configured to provide a 3D work area with a predefined shape and size (e.g., a dome above a disk with a 20-meter radius, a disk with a roof, or a disk above a mountain, a building, etc.). The various 3D components can be classified into structures (e.g., buildings, rooms, etc.), themes (e.g., colors, textures, lighting profiles, styles, etc.), backgrounds (e.g., solid color images, photos, illustrations, etc.), and sounds (e.g., waves crashing, birds singing, etc.). In other implementations, the predefined 3D editing platform can contain other suitable 3D work areas (e.g., a partial sphere with an opening on top) with other suitable sizes (e.g., a radius of 18, 22, or 30 meters). The 3D components can also be further classified or aggregated for suitable applications.

[0010] It has been recognized that by pre-defining a 3D work area of ​​a preset shape and size, various features (such as structure, subject matter, background, and sound) can be pre-processed into 3D components according to the preset shape and size of the 3D work area. Therefore, the creator can easily create suitable content in the 3D work area by simply replacing one 3D component with another 3D component without having to use multiple applications for repeated trial and error operations. For example, when the creator modifies the background of the content in the 3D environment from, for example, the sky to a mountain, the creator can make such a modification without returning to the image editing application to generate basic data for the new background. Instead, the creator can simply select the pre-processed 3D component of the new background and apply the selected 3D component to the 3D environment. The resulting modified content will appear appropriately in the 3D environment without the creator having to manipulate various settings or parameters associated with generating and / or importing basic data.

[0011] Several embodiments of the disclosed technology can therefore greatly simplify content creation in a 3D environment. Unlike other 3D content creation technologies, embodiments of the disclosed technology do not involve switching between multiple applications to create or modify a feature of content in a 3D environment. Instead, various features in a 3D environment can be provided as pre-processed 3D components for selection and application. In this way, creators who do not have a lot of technical knowledge in manipulating 3D content can be enabled to create, modify, or otherwise manipulate content in a 3D environment. In addition, any modifications to the content in the 3D environment can be easily made without the need for an iterative trial and error process. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1is a schematic diagram illustrating a computing framework implementing an authoring application for authoring content in a 3D environment, according to an embodiment of the disclosed technology.

[0013] Figure 2A-2D is a diagram showing an embodiment according to the disclosed technology Figure 1 A partial schematic diagram of some hardware / software components of the computing framework.

[0014] Figure 3A-3C is a schematic diagram illustrating an example predefined 3D work area according to an embodiment of the disclosed technology.

[0015] Figure 4-Figure 6 is a flow chart illustrating certain processes for content authoring in a 3D environment according to an embodiment of the disclosed technology.

[0016] Figure 7 Is suitable for Figure 1 A computing device that is a component of some computing framework. DETAILED DESCRIPTION

[0017] The following describes certain embodiments of systems, devices, components, modules, routines, data structures, and processes for authoring content in a 3D environment. In the following description, specific details of the components are included to provide a thorough understanding of certain embodiments of the disclosed technology. Those skilled in the relevant art will also understand that the technology may have other embodiments. It may also be described without reference to the following Figure 1-Figure 7 The techniques are implemented without describing several details of the embodiments.

[0018] As used herein, a "three-dimensional environment" or "3D environment" generally refers to a computer-based simulated 3D platform in which 2D or 3D representations of images, videos, sounds, or other digital content items can be presented to a viewer. A 3D environment can be a virtual space (such as a virtual reality (VR) world), or it can be a real-world space in which content can be displayed or overlaid on top of the real world (such as through augmented reality (AR) or other VR technologies).

[0019] The term "model" as also used herein generally refers to data representing a two-dimensional (2D) or 3D component that can be presented and / or applied in a 3D environment. Example models may include data representing a virtual room, a virtual scene, or any other sub-portion of a virtual world. According to an embodiment of the disclosed technology, 3D components may be classified into certain groups. For example, 3D components may be classified into structures (e.g., buildings, rooms, etc.), themes (e.g., colors, textures, lighting profiles, styles, etc.), backgrounds (e.g., solid color images, photos, illustrations, etc.), and sounds (e.g., waves crashing, birds singing, etc.). Certain 3D components (e.g., structures or sounds) may be inserted into a 3D work area. Other components (e.g., colors, textures, or lighting profiles) may be applied in a 3D work area to make changes to existing or other objects in the 3D work area.

[0020] As described in more detail later, various 3D components may be pre-processed based on predefined shapes and sizes of the 3D work area. Thus, each model may contain data (e.g., multiple files) that may be imported, inserted, or applied to the 3D work area without modifying the underlying data of the object. The terms "object" or "virtual object" as further used herein generally refer to a visual representation of a 2D or 3D content item presented in a 3D environment. Example objects may include 3D images, video recordings, and the like.

[0021] Authoring content in a 3D environment can be challenging because authoring in a 2D environment lacks the full range of authoring activities. Often, multiple applications are utilized to create content items in a 3D environment. For example, the process for creating a background for a 3D environment (e.g., a blue sky with clouds) involves first creating a background in an image editing application (e.g., ) to create a composite image of an image of a blue sky and clouds. The composite image is then exported into multiple files of different views of the 3D image using a 2D to 3D conversion application. The exported files can then be imported into a 3D authoring application such as ) to be combined with other content items.

[0022] During each of the above stages, the creator is faced with many settings and parameters. For example, during image editing, the creator can choose the resolution of the composite image, the color gradient from the ground to the sky, the edge transition, etc. Any of these settings may affect the resulting content item in the 3D environment. Therefore, in order to obtain a suitable background in the 3D environment, the creator may need to return to the image editing application to edit the composite image and repeat the export and import operations by trial and error until a satisfactory result is obtained. Therefore, creating a suitable background in a 3D environment can be labor-intensive and requires a lot of technical knowledge.

[0023] Several embodiments of the disclosed technology can address at least some aspects of the above-mentioned difficulties by providing a 3D authoring application that is configured to allow various pre-processed 3D components to be interchangeably applied to a 3D environment by simply selecting and applying the 3D components. In one implementation, the 3D authoring application can be configured to provide a 3D work area with a predefined shape and size (e.g., a dome above a disk with a 20-meter radius, a disk with a roof, or a disk above a mountain, a building, etc.). The various 3D components can be classified into structures (e.g., buildings, rooms, etc.), themes (e.g., colors, textures, lighting profiles, styles, etc.), backgrounds (e.g., solid color images, photos, illustrations, etc.), and sounds (e.g., waves crashing, birds singing, etc.), and can be pre-processed according to the predefined shape and size of the 3D work area. Therefore, the creator can easily create suitable content in the 3D work area by simply replacing one 3D component with another 3D component without having to use multiple applications for trial and error operations. Therefore, as described below with reference to Figure 1-Figure 7 As described in more detail, several embodiments of the disclosed technology can greatly simplify content creation in 3D environments.

[0024] Figure 1 is a schematic diagram showing a computing framework 100 for content creation and generation in a 3D environment according to an embodiment of the disclosed technology. Figure 1 As shown, computing framework 100 may include an authoring device 102 corresponding to author 101 and one or more viewing devices 104 corresponding to viewers 103 (shown as first and second viewers 103a and 103b). Authoring device 102 and viewing device 104 may each include a mobile computing device, a laptop computer, a tablet computer, a desktop computer, or other suitable types of computing devices. Figure 1 Only one creator 101 and two viewers 103 are shown for illustration purposes, but in other embodiments, the computing framework 100 can facilitate content creation by other creators 101 and / or viewers 103 with corresponding creation and viewing devices (not shown). Figure 6 Example configurations of authoring device 102 and viewing device 104 are described in greater detail.

[0025] like Figure 1 As shown, the authoring device 102 may include an authoring application 108, a model storage unit 112 containing data records of a model 107 corresponding to a 3D component, and an output storage unit 114 containing data records of a 3D environment file 109. The authoring application 108 may be configured to provide a user interface 130 (e.g., Figure 2A ), which indicates a 3D working area 133 (as shown Figure 2A1) to facilitate the creation of content in a 3D environment. In some embodiments, the authoring application 108 may be a web-based application accessed by the author 101 via a web browser. In other examples, the authoring application 108 may be an executable application that can be retrieved and executed by a processor of the authoring device 102.

[0026] In some embodiments, different types of content may be embedded or included in a 3D environment. Example content types may include 3D objects (e.g., 3D models, graphics, shapes, etc.) or 2D objects (e.g., files, images, presentations, documents, websites, videos, remote resources, etc.), etc. In other embodiments, the 3D environment may be a virtual space (e.g., a virtual reality (VR) world), or may be a real-world space in which content may be displayed or layered on top of the real world (e.g., through augmented reality (AR) or other VR technologies). The 3D environment with the inserted model may then be stored as an environment data file and later used to replicate a 3D environment with a 3D rendering of the inserted model.

[0027] In one embodiment, the authoring application 108 may be configured to display 2D or 3D representations of one or more models 107 of the 3D component in a gallery, list, or other suitable form. The author 101 may then select a representation and insert it into the provided 3D work area 133 to generate and / or modify one or more objects in the 3D work area 133. Figure 2A-2D As described in more detail, the authoring application 108 may include additional modules and routines that are configured to automatically position and arrange inserted objects based on pre-processed 3D components so that the author 101 can place content items into a 3D environment without labor-intensive trial and error experiments.

[0028] The model storage unit 112 may store one or more models 107 representing respective 3D components that may be used to author a 3D environment. In one example, the models 107 may be associated with one or more themes. When the author 101 selects a theme, the authoring application 108 may provide one or more models 107 associated with the selected theme. In some examples, the collection of models 107 may be designed so that stitching a model 107 with another model 107 from the same collection may form a seemingly continuous model 107. In other examples, various aspects of the models 107 stored in the model storage unit 112 may be generated dynamically or programmatically. In some embodiments, the author 101 may use the authoring application 108 to create the models 107. In other embodiments, the models 107 may be retrieved from, for example, a third-party supplier of 2D or 3D content items or from other suitable sources.

[0029] In some embodiments, the model 107 may indicate that certain aspects may be replaced, depending on another model 107 that may be stitched with the original model 107. As an example, a first model 107 may indicate that a wall or an arch may be replaced with a door. Thus, the entry point of the second model may be stitched with the first model at the door. In other embodiments, other suitable replacement or model generation techniques may be used to generate various models 107.

[0030] The authoring application 108 may also be configured to output the authored 3D environment as an environment data file 109 containing 3D environment data to, for example, an output storage unit 114. In one implementation, the environment data file 109 may include information associated with the selected model 107 (e.g., model identifier, model name, model type, etc.), positioning information (e.g., coordinates, anchor point identifiers, etc.), content information (e.g., what content should be displayed for one or more anchor points, content to be displayed, references to content, etc.), custom resources (e.g., custom textures, sounds, etc.), and other information. Figure 1 As shown, the output storage unit 114 may be configured to store one or more environment data files 109. As used herein, an "environment data file" may include a file on a file system, an entry in a database, or may be stored using any of a variety of other data storage technologies.

[0031] The 3D environments created according to the aspects disclosed herein can then be consumed and experienced in a range of computing devices ranging from low-end devices (e.g., GOOGLE CARDBOARD) to high-end devices (e.g., MICROSOFT HOLOLENS, OCULOUS RIFT, HTC VIVE, etc.). Figure 1 As shown, each viewing device 104 may include a viewing application 110 configured to generate, view, browse and / or interact with a 3D environment based on an environment data file 109. In one example, the viewing application 110 may be a web-based application accessible using a web browser. In other examples, the viewing application 110 may be an executable application of the viewing device 104. In operation, the viewing application 110 may be configured to evaluate the environment data file 109 to identify one or more models 107 of the 3D environment. If the environment data file 109 references multiple models 107, the models 107 may be stitched together when the 3D environment is rendered. The viewing application 110 may fill the rendered 3D environment with content based on the content specified by the environment data file 109. In one example, the viewing application 110 may use any of a variety of 3D rendering engines and may handle device and / or engine-specific implementation details when rendering the 3D environment.

[0032] In some embodiments, the viewing application 110 may be configured to retrieve an environment data file 109 from an output storage unit 114, which may be used to generate a 3D environment in combination with one or more models 107 from a model storage unit 112. In other embodiments where the viewing application 110 is a locally executed application, the model storage unit 112 may be stored locally and / or remotely to the viewing device 104 executing the viewing application 110, and at least a portion of the environment data file 109 may be retrieved from the output storage unit 114. In other embodiments, the environment data file 109 may be streamed or retrieved from the output storage unit 114 to the viewing device 104 in chunks.

[0033] Figure 2A-2D is a diagram showing an embodiment according to the disclosed technology Figure 1 A partial schematic diagram of some hardware / software components of the computing framework 100. Figure 2A As shown in FIG, the authoring application 108 may include an interface component 120, a sizing component 122, a compositing component 124, and an output component 126 that are operably coupled to one another. Figure 2A Specific components are shown in FIG. 1 , but in other embodiments, the authoring application 108 may also include an input component or other suitable types of components.

[0034] exist Figure 2A In other figures of this article, each software component, object, class, module and routine can be a computer program, process or process written as source code in C, C++, C#, Java and / or other suitable programming languages. A component can include, but is not limited to, one or more modules, objects, classes, routines, properties, processes, threads, executable files, libraries or other components. A component can be in source form or binary form. A component can include aspects of the source code before compilation (e.g., classes, properties, processes, routines), compiled binary units (e.g., libraries, executable files) or artifacts (e.g., objects, processes, threads) that are instantiated and used at runtime.

[0035] Components within the system may take different forms within the system. As an example, a system including a first component, a second component, and a third component may include, but is not limited to, a system having a first component as a property in source code, a second component as a binary compiled library, and a third component as a thread created at runtime. A computer program, procedure, or process may be compiled into an object, intermediate code, or machine code and presented for execution by one or more processors of a personal computer, a network server, a laptop, a smartphone, and / or other suitable computing device.

[0036] Likewise, a component may include a hardware circuit. One of ordinary skill in the art will recognize that hardware may be viewed as fossilized software, and software may be viewed as liquefied hardware. As just one example, the software instructions in a component may be burned into a programmable logic array circuit, or may be designed as a hardware circuit with an appropriate integrated circuit. Likewise, hardware may be emulated by software. Various implementations of source code, intermediate code, and / or object code and associated data may be stored in a computer memory, including a read-only memory, a random access memory, a disk storage medium, an optical storage medium, a flash memory device, and / or other suitable computer-readable storage medium other than the propagated signal.

[0037] like Figure 2A As shown in , the interface component 120 of the authoring application 108 can be configured to provide a user interface 130 for facilitating the author 101 to create and / or modify content in the 3D environment. In the illustrated example, the user interface 130 can include a menu bar 131, which includes one or more menu groups, such as "File", "Edit", and "Help". Each of the aforementioned menu groups can be expanded for additional menu items such as "New", "Open", "Save", etc. In one example, the "Edit" menu can be expanded to provide an option for undoing changes in the 3D environment. In other examples, the menu bar 131 can include other suitable types of menu items.

[0038] like Figure 2A As shown in , the user interface 130 may also include a 3D work area 133 and a space property sidebar 132, which contain various input fields and a plurality of 3D components 135 corresponding to the model 107 in the model storage unit 112. The 3D work area 133 may be initially loaded with a template 140 of a 3D environment or a previously saved 3D environment corresponding to the environment data file 109 in the output storage unit 114. Figure 2A In the example shown, the 3D workspace 133 is loaded with a template 140 of a 3D environment having a mountain, a sky, and an open ground in front of the mountain. In other examples, the template 140 may include a forest, a building, or other suitable types of 3D environments.

[0039] like Figure 2AAs shown in , the example spatial properties sidebar 132 may include an input field 134 for entering a name for the 3D work area 133 and a button 136 for allowing the creator to import a logo image into the 3D work area 133. The spatial properties sidebar 132 may also list various 3D components 135 in corresponding categories. For example, the 3D components 135 may be listed as structures (e.g., "buildings" and "trees"), backgrounds (e.g., "forests," "sunsets," and "blue skies"), sounds (e.g., "rain" and "wind"), and themes (e.g., "color," "texture," and "lighting"). In other examples, the aforementioned 3D components 135 may be categorized in other suitable manners. As described in more detail below, each 3D component 135 may correspond to a model 107 that has been preprocessed according to a predefined shape and size of the 3D work area 133, which will be referenced later. Figure 3A-3C To describe an example thereof.

[0040] The interface component 120 may also be configured to provide one or more anchor points 137 in the template 140 for placing, for example, structures or other suitable types of objects. Figure 2A , anchor point 137 is represented as a cross. In other embodiments, anchor point 137 may also be represented as an arrow, a star, or other suitable representation. In some embodiments, creator 101 may specify anchor point 137 by, for example, placing anchor point 137 at a location of the creator's choice. In other embodiments, anchor point 137 may be automatically determined by interface component 120 as one of a plurality of default anchor points 137 at a certain location of composition component 124 in 3D work area 133. In further embodiments, interface component 120 may allow creator 101 to place anchor point 137 at a location within a certain limited area of ​​the 3D environment.

[0041] like Figure 2A As shown in , the interface component 120 can also be configured to detect that the creator 101 selects a 3D component 135 (e.g., a background of "blue sky") from the spatial properties sidebar 132, as indicated by the cursor 139. In some embodiments, the interface component 120 can then pass the detected user input to the size determination component 122 to determine whether the selected 3D component 135 needs to be resized. In one embodiment, the size determination component 122 can be configured to determine whether the selected object needs to be resized by fitting the selected 3D component 135 into a container of a preset size. An example of a suitable container can include a cube having a volume of one cubic meter. In other examples, the size determination component 122 can be configured to fit the selected 3D component 135 into a volume of a sphere, cylinder, or other suitable shape of a suitable size.

[0042] In response to determining that the 3D component 135 exceeds the container in at least one dimension, the size determination component 122 can adjust the size of the 3D component 135 so that the 3D component 135 fits exactly inside the container. On the other hand, when the 3D component 135 is too small (e.g., no at least one dimension is within 90%, 95% or other suitable thresholds of the corresponding dimension of the container), the size determination component 122 can also expand the size of the 3D component 135 so that it fits exactly in the container. Therefore, this resizing can make all inserted 3D components 135 have approximately the same size to achieve optimal viewing effects in the 3D environment. After completing the above-mentioned size determination operation, the size determination component 122 can pass control to the synthesis component 124 to apply to the 3D work area 133. In other embodiments, the aforementioned size adjustment operation can be omitted, and the interface component 120 can pass the user input directly to the synthesis component 124 for further processing.

[0043] In response to receiving a user input selecting a 3D component 135 to be applied to the 3D work area 133, the synthesis component 124 can be configured to retrieve the corresponding model 107 from the model storage unit 112. For example, in the illustrated example, the synthesis component 124 retrieves the model 107' corresponding to the background of "blue sky". The synthesis component 124 can then replace the existing background with the mountain 140 with another background with "blue sky", such as Figure 2B As shown in Figure 2B As shown in FIG. 1 , an exemplary background “blue sky” 140 ′ is illustrated as a background having a horizon 141 with clouds and the sun in the sky.

[0044] According to an embodiment of the disclosed technology, the retrieved model 107' can be pre-processed into a data grouping suitable for importing into the 3D work area 133 based on a predefined shape and size of the 3D work area 133 (e.g., a dome above a disk with a radius of 20 meters, a disk with a roof, or a disk above a mountain, a building, etc.), without generating and / or modifying the underlying data of the background. For example, an editor (not shown) or other suitable entity with sufficient technical knowledge can initially create a model in an image editing application (e.g., ) to create a composite image of a blue sky with an image of clouds. The editor can then use a 2D to 3D conversion application to export the composite image into multiple files of different views of the 3D image. The exported files can then be imported into the 3D work area 133 as data packets.

[0045] During each of the above-mentioned stages, the editor is faced with many settings and parameters. For example, during image editing, the editor can select the resolution of the composite image, the color gradient from the ground to the sky, the edge transition, etc. Any of these settings may affect the content items obtained in the 3D environment (e.g., background). Therefore, in order to obtain a suitable "blue sky" background in the 3D environment, the editor may need to return to the image editing application to edit the composite image, and repeat the export and import operations by trial and error until a satisfactory result is obtained. Subsequently, the file or file directory corresponding to the satisfactory background can be stored in the model storage unit 112 as the model 107.

[0046] Thus, by preprocessing the models 107 corresponding to the 3D components 135, the author 101 can effectively create and / or modify objects in the 3D work area 133 even without any technical knowledge about how to generate or modify various 3D components 135. Figure 2B As shown in , the author 101 can select the 3D components "Building" and "Tree" to add one or more buildings 143 and trees 145 to the 3D work area 133 without first creating such structures in a 3D modeling application and importing the corresponding 3D model files into the 3D work area 133.

[0047] like Figure 2C As shown in , the authoring application 108 can also be configured to allow the author 101 to import a custom logo or other suitable 2D or 3D content item into the 3D work area 133. For example, the author 101 can click the upload button 136 to select the logo file 111. In response, the size determination component 122 can be configured to adjust the size of the corresponding object of the logo file 111, as described above with reference to Figure 2A The sizing component 122 can then provide the resized logo file 111' to the compositing component 124 to be imported into and rendered in the 3D work area 133 as a logo 147. In the illustrated example, the logo 147 is shown as a pyramid with the title "Newco". In other examples, the logo 147 can include a 2D image, another 3D image, or other suitable representation.

[0048] When authoring content in the 3D workspace 133, several embodiments of the disclosed technology may also allow for efficient undo operations. Figure 2DAs shown in , when the author 101 clicks the menu "Edit", a drop-down menu may be displayed to provide a selection to undo the last edit in the 3D work area 133. When the user input selects the "Undo" option, the synthesis component 124 may simply remove the model 107 that was last inserted or applied in the 3D work area 133. For example, in the illustrated example, the inserted logo 147 has been removed from the 3D work area.

[0049] When the author 101 finishes authoring content in the 3D work area 133, the output component 126 may be configured to generate an environment data file 109 to be stored in the output storage unit 114. The environment data file 210 may contain data representing the various models 107 of the 3D components 135 in the 3D work area 133, as well as the identity, location, size, relative position, or other suitable information of the 3D components.

[0050] Thus, unlike other techniques for creating content in a 3D environment, several embodiments of the disclosed technology can provide efficient and straightforward content creation in a 3D environment by providing pre-processed 3D components for interchangeable application in a 3D environment. Thus, the creator 101 will not need to switch between multiple applications in order to create or modify even one feature in the 3D work area 133. Instead, various features in the 3D work can be selected from a menu and simply applied to the 3D work area. In this way, a creator 101 who does not have a great deal of technical knowledge in manipulating 3D content can still create, modify, or otherwise manipulate content in a 3D environment. Additionally, any modifications to the content in the 3D work area 133 can also be easily made without the need for a repetitive trial and error process by simply replacing one 3D component with another.

[0051] Figure 3A-3C is a schematic diagram showing an example predefined 3D work area 133 according to an embodiment of the disclosed technology. Figure 3A As shown in , the 3D work area 133 may include a disk 152 having a radius of about 15 meters to about 25 meters and a dome 154 above the disk 152. Figure 3B As shown in , the 3D work area 133 may include a disk 152 and a roof, ceiling, or other suitable type of covering 156 above the disk 152. Figure 3C As shown in , 3D work area 133 may include a disk 152 placed above a mountain, building, or other suitable area 158.

[0052] Figure 4-Figure 6 is a flowchart illustrating certain processes for content creation in a 3D environment according to an embodiment of the disclosed technology. Figure 1 The computational framework 100 and Figure 2A-2DThe processes are described with reference to the authoring application 108 , but in other embodiments, the processes may be implemented in other suitable computing frameworks or systems having additional and / or different components.

[0053] like Figure 4 As shown in , a process 200 for authoring content in a 3D environment may include, at stage 202, receiving a user selection of a model to be applied in a 3D work area. The 3D work area may have a predefined shape and size (e.g., a dome over a disk with a radius of 20 meters, a disk with a roof, or a disk over a mountain, a building, etc.). The process 200 may also include, at stage 204, retrieving a data packet corresponding to the selected model. As described above with reference to Figure 2A-2D As described, the data groupings may be pre-processed by an editor or other suitable entity with sufficient technical knowledge to generate data groups that can be imported into the 3D workspace and appropriately represent the 3D components in the 3D workspace. Process 200 may further include generating or modifying one or more objects in the 3D workspace based on the retrieved data groupings at stage 206. The one or more objects may be generated or modified in the 3D workspace without repeated trial and error operations using multiple applications because the imported data groupings have been pre-processed to fit in the 3D workspace or to be correctly rendered in the 3D workspace.

[0054] Process 200 may then include a decision stage 208 to determine whether an additional model has been selected. In response to determining that an additional model has been selected, process 200 returns to receiving a selection of a model at stage 202. Otherwise, process 200 continues to generate an environment data file containing data representing various models of 3D components in the 3D workspace and the identity, location, size, relative position, or other suitable information of the objects.

[0055] Figure 5 An example operation for adjusting the size of a selected model is shown. Figure 5 As shown in , the operation may include determining the object dimensions of the object corresponding to the selected model, for example, expressed as height, width and length. The values ​​of the aforementioned parameters may then be compared with the corresponding dimensions of a container, such as a cube having predefined dimensions.

[0056] like Figure 5As shown in , the operation may then include a decision stage 214 to determine whether resizing is required. In one embodiment, resizing is required when at least one value of the height, width, or length exceeds the corresponding value of the container. In another embodiment, resizing is also required when at least one value of the height, width, or length is less than 90%, 95%, or other suitable percentage of the corresponding value of the container. In further embodiments, resizing may be indicated based on other suitable criteria. In response to determining that resizing is required, the operation may include resizing the object according to, for example, the height, width, or length of the container. The operation may then include providing the resized object for position determination at stage 218. In response to determining that resizing is not required, at stage 218, the operation may proceed directly to add the selected model to the 3D work area and present the corresponding object in the 3D work area.

[0057] Figure 6 Example operations for performing an undo or reversal of an operation when authoring content in a 3D environment are shown. Figure 6 As shown in , the operations may include receiving a user input indicating a command for performing an undo at stage 222. The operations may then include an optional decision stage 224 to determine whether the undo command has been confirmed. In response to determining that the undo command has been confirmed, at stage 226, the operations proceed to remove the last model added to the 3D work area and remove the previously rendered object corresponding to the last model.

[0058] Figure 7 Is suitable for Figure 1 The computing device 300 may be suitable for some components of the computing framework 100. For example, the computing device 300 may be suitable for Figure 1 The authoring device 102 or viewing device 104 of the present invention may be a computer system. In a very basic configuration 302, the computing device 300 may include one or more processors 304 and a system memory 306. A memory bus 308 may be used to communicate between the processor 304 and the system memory 306.

[0059] Depending on the desired configuration, the processor 304 can be of any type, including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor 304 may include one or more levels of cache (e.g., a level 1 cache 310 and a level 2 cache 312), a processor core 314, and registers 316. An example processor core 314 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP core), or any combination thereof. An example memory controller 318 may also be used with the processor 304, or in some implementations, the memory controller 318 may be an internal part of the processor 304.

[0060] Depending on the desired configuration, system memory 306 may be of any type, including but not limited to volatile memory (e.g., RAM), non-volatile memory (e.g., ROM, flash memory, etc.), or any combination thereof. System memory 306 may include an operating system 320, one or more applications 322, and program data 324. The basic configuration 302 described in Figure 7 are shown by those components within the inner dashed line.

[0061] The computing device 300 may have additional features or functions, as well as additional interfaces for facilitating communication between the basic configuration 302 and any other devices and interfaces. For example, a bus / interface controller 330 may be used to facilitate communication between the basic configuration 302 and one or more data storage devices 332 via a storage interface bus 334. The data storage device 332 may be a removable storage device 336, a non-removable storage device 338, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices (such as floppy disk drives and hard disk drives (HDDs)), optical disk drives (such as compact disk (CD) drives or digital versatile disk (DVD) drives), solid state drives (SSDs), and tape drives, to name a few. Example computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. The term "computer-readable storage medium" or "computer-readable storage device" does not include propagated signals and communication media.

[0062] System memory 306, removable storage device 336, and non-removable storage device 338 are examples of computer-readable storage media. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by computing device 300. Any such computer-readable storage media may be part of computing device 300. The term "computer-readable storage media" does not include propagated signals and communication media.

[0063] The computing device 300 may also include an interface bus 340 for facilitating communication from various interface devices (e.g., output devices 342, peripheral interfaces 344, and communication devices 346) to the basic configuration 302 via the bus / interface controller 330. Example output devices 342 include a graphics processing unit 348 and an audio processing unit 350, which may be configured to communicate with various external devices such as a display or speakers via one or more A / V ports 352. Example peripheral interfaces 344 include a serial interface controller 354 or a parallel interface controller 356, which may be configured to communicate with external devices such as input devices (e.g., keyboards, mice, pens, voice input devices, touch input devices, etc.) or other peripheral devices (e.g., printers, scanners, etc.) via one or more I / O ports 358. Example communication devices 346 include a network controller 360, which may be arranged to facilitate communication with one or more other computing devices 362 over a network communication link via one or more communication ports 364.

[0064] A network communication link can be an example of a communication medium. Communication media can generally be embodied as computer-readable instructions, data structures, program modules, or other data in a modulated data signal (such as a carrier waveform) or other transmission mechanisms and can include any information transfer medium. A "modulated data signal" can be a signal having one or more characteristics in its characteristic set or a signal that is changed in a manner that encodes the information in the signal. By way of example and not limitation, communication media can include wired media such as a wired network or a direct line connection, and wireless media such as sound, radio frequency (RF), microwaves, infrared (IR) and other wireless media. The term computer-readable medium used herein can include both storage media and communication media.

[0065] The computing device 300 may be implemented as part of a small portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless network viewing device, a personal headset device, a dedicated device, or a hybrid device including any of the above functions. The computing device 300 may also be implemented as a personal computer including both laptop and non-laptop configurations.

[0066] For the purpose of illustration, a specific embodiment of the technology has been described above. However, various modifications can be made without departing from the foregoing disclosure. In addition, many elements of one embodiment can be added to or replaced with elements of other embodiments and combined with other embodiments. Therefore, except for the attached claims, the technology is not limited.

Claims

1. A method of authoring content using a computer-based three-dimensional (3D) authoring application executed on a computing device having a display and a processor, the method comprising: utilizing the processor of the computing device: providing a 3D work area in a 3D environment on the display of the computing device, the 3D work area having a predefined shape and size; receiving user input selecting a model corresponding to a 3D component to be applied in the 3D work area; as well as In response to receiving the user input selecting the model, retrieving one or more files corresponding to the model representing the 3D component, the one or more files containing data pre-processed according to the predefined shape and size of the 3D work area in the 3D environment; as well as generating or modifying a graphical representation of the 3D component in the 3D workspace based on the retrieved one or more files corresponding to the model, wherein: The generating or modifying includes resizing the graphical representation of the 3D component represented by the model to fit a container of a preset size so that the resized graphical representation of the 3D component rendered in the 3D environment is at least 90% of the same size as graphical representations of other 3D components in the 3D environment.

2. The method according to claim 1, wherein: In the 3D environment, the 3D work area has a dome shape above a disk with a radius of 20 meters.

3. The method according to claim 1, wherein: The 3D work area has a dome shape above a disk having a radius of 20 meters, and wherein the 3D component belongs to one of a structure, a theme, a background or a sound to be applied in the 3D work area having the dome shape.

4. The method according to claim 1, wherein: Receiving the user input includes: receiving user input selecting a model corresponding to a 3D component, the 3D component being a color, texture, or lighting profile to be applied in the 3D work area; and Generating or modifying the graphical representation includes modifying the graphical representation of a background in the 3D work area to incorporate the color, texture, or lighting profile in the background without modifying underlying data of the background outside of the 3D authoring application.

5. The method according to claim 1, wherein: Receiving the user input includes: receiving a user input selecting a model corresponding to a 3D component as a structure to be inserted into the 3D work area; and Generating or modifying the graphical representation includes inserting the structure into the 3D work area without generating underlying data for the structure outside of the 3D authoring application.

6. The method according to claim 1, wherein: The 3D working area includes a first background; Receiving the user input includes: receiving a user input selecting a model corresponding to a 3D component as a second background to be applied to the 3D work area; and Generating or modifying the graphical representation includes replacing the first background in the 3D work area with the second background without generating underlying data for the second background outside the 3D authoring application.

7. The method according to claim 1, wherein: The user input is a first user input; and The method further comprises: receiving a second user input selecting another model corresponding to a sound to be applied to the 3D workspace; and In response to receiving the second user input, the sound is inserted into the 3D workspace without generating underlying data for the sound outside of the 3D authoring application.

8. The method according to claim 1, further comprising: receiving another user input indicating to undo said generating or modifying said graphical representation; as well as In response to receiving the other user input, the generated or modified graphical representation of the 3D component in the 3D work area is undone without modifying underlying data of the 3D component outside of the 3D authoring application.

9. The method according to claim 1, further comprising: receiving another user input indicating to import a content item as a two-dimensional (2D) or 3D object in the 3D work area; as well as In response to receiving the further user input, the 2D or 3D object is automatically sized according to the predefined shape and size of the 3D work area, wherein generating or modifying the graphical representation comprises inserting the sized 2D or 3D object into the 3D work area.

10. A computing device comprising: processor; monitor; as well as A memory operatively coupled to the processor and the display, the memory containing instructions executable by the processor to cause the computing device to perform the method according to one of claims 1 to 9.