Method, device and system for providing view-based animation effects of 3D model components
The method structures 3D model components to apply animation effects based on viewing conditions and user input, addressing limitations in conventional technologies by enhancing user understanding and usability through differentiated animation.
Patent Information
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- PLAN HOME CO LTD
- Filing Date
- 2026-01-26
- Publication Date
- 2026-07-29
AI Technical Summary
Conventional 3D modeling technologies lack the ability to dynamically adjust animation effects based on a user's field of view, dwell time, and position, failing to differentiate components with varying levels of importance and functional significance, thereby limiting user understanding and workflow explanation.
A method that identifies components as structured units, determines animation effect conditions based on a viewing judgment index, and applies independent output control criteria to provide differentiated animation effects, considering structural characteristics, on-screen position, and user input.
Enhances user understanding by clearly distinguishing components' roles and functions through flexible animation effects, improving information delivery and usability in 3D models.
Smart Images

Figure 112026010762165-PAT00002_ABST
Abstract
Description
Technology Field
[0001] The following embodiments relate to technology providing a method, device, and system for providing a view-based animation effect of a 3D model component. Background Technology
[0003] With the recent advancement of 3D modeling and rendering technologies, visual representations utilizing 3D models are widely used in various fields such as architectural design, interior design, product design, and simulation. Furthermore, environments where the structure or features of a model can be intuitively verified while exploring a 3D space through a user device are becoming commonplace. In particular, in mobile devices or augmented reality-based environments, methods of observing a model in real time based on the user's viewpoint movement are becoming common. However, in conventional technologies, such changes in viewpoint often amount to nothing more than simple camera movement or screen updates, which limits the ability to effectively convey the meaning or role of the components that the user is actually focusing on.
[0004] While some conventional technologies have proposed methods to apply animation effects to specific model components or play animations when the user's viewpoint reaches a specific location, most of these approaches were limited to structures where the application of animation was determined by pre-fixed conditions or played uniformly simply based on whether the component was within the center of the field of view. Consequently, problems arose where components with different levels of importance or functional significance were displayed in the same manner even under identical viewing conditions, and users found it difficult to intuitively understand why an animation was applied to a specific component or what meaning that animation held.
[0005] Furthermore, conventional technology had limitations in that animation effects were primarily played based on a single trigger condition, preventing the application timing or duration of the animation from being flexibly adjusted according to changes in the user's field of view, dwell time, or position within the screen. Additionally, structures for selecting or adjusting animation targets by considering realistic constraints such as construction sequence or workspace were not sufficiently presented. Consequently, 3D models often remained merely a means of visual presentation rather than being utilized as tools to explain actual workflows or spatial relationships.
[0006] Accordingly, there has been a continuous demand for technology capable of more precisely determining a user's field of view and differentially controlling the application and output method of animation effects by comprehensively considering the structural characteristics, on-screen position, dwell time, and user input information of components that satisfy those viewing conditions. In particular, there is a technical need to facilitate user understanding and intuitively convey workflows or precautions by controlling the output of different animation effects based on the functional role a component must perform, even when the same field of view indicators are satisfied.
[0007] To overcome the limitations of such conventional technology, the present invention proposes a technical concept that identifies each component constituting a 3D model as a structured unit, determines the conditions for applying animation effects based on the user's field of view judgment indicator, and simultaneously introduces output control criteria independent of the field of view condition so that different animation effects can be provided for each component. Through this, components that serve as the user's focus, guidance target, warning target, or explanation target during the 3D model exploration process can be more clearly distinguished and expressed, and the information delivery and usability of the 3D model can be improved by flexibly controlling animation effects according to changes in field of view or user input.
[0008] Therefore, technology is required to provide a method, device, and system for providing a view-based animation effect of 3D model components. Prior art literature
[0010] Republic of Korea Registered Patent No. 10-1052805 (Published July 29, 2011) Republic of Korea Registered Patent No. 10-1627169 (Published June 7, 2016) Republic of Korea Registered Patent No. 10-2262521 (Published June 8, 2021) Republic of Korea Registered Patent No. 10-1770648 (Published August 23, 2017) The problem to be solved
[0011] The embodiments aim to provide a method for determining the conditions for applying an animation effect by considering the user's viewing state for a plurality of components constituting a 3D model, and providing a 3D model with an animation effect corresponding to a component satisfying the conditions to a user terminal.
[0012] The embodiments aim to provide a method for selecting candidate components for applying animation effects using a viewing judgment index calculated based on the user's screen display state, and for reasonably determining the type of animation effect to be applied to the candidate components and the duration of application.
[0013] The embodiments aim to provide a method for controlling different animation effects for each component according to an output control criterion set independently of the viewing judgment, even when there are multiple components satisfying the same viewing judgment indicator.
[0014] The embodiments aim to provide a method for supporting the understanding of the construction process by considering target components related to construction or work among the components of a 3D model, and determining the target for applying animation effects that reflect work stages and work required spaces.
[0015] The embodiments aim to provide a method for improving the efficiency of information transmission in a 3D environment by determining the functional role that a component must perform and controlling the expression method or application conditions of animation effects differently for each component according to the said functional role.
[0016] The objectives of the present invention are not limited to those mentioned above, and other unmentioned objectives will be clearly understood from the description below. means of solving the problem
[0018] According to one embodiment, a method for providing a field of view-based animation effect of a 3D model component may include: receiving model input data including 3D model data and 3D spatial information in which the model is placed from a user's terminal; analyzing the model input data to identify components constituting the 3D model; structuring the identified components by classifying them according to at least one unit among a mesh unit, a part unit, or a function unit; determining an animation effect application condition including at least one of a type of animation effect and an application duration for each component, based on a field of view judgment index calculated based on the screen of the user's terminal and for components included in a preset screen center area; and generating an animation effect corresponding to a component satisfying the determined animation effect application condition and outputting the 3D model with the animation effect reflected therein to the user's terminal.
[0019] The step of determining the conditions for applying the animation effect may include: calculating a viewing judgment index including a virtual viewpoint position, a virtual viewpoint direction, and a virtual field of view range within the 3D space based on the display area and display direction of the 3D space displayed on the screen of the user's terminal; calculating whether each component is included within the screen, relative position coordinates with respect to the center of the screen, and the occupancy ratio within the display area based on the calculated viewing judgment index; classifying the component as a candidate component for applying the animation effect, limited to components included in a preset center area of the screen based on whether it is included within the screen, relative position coordinates with respect to the center of the screen, and the occupancy ratio within the display area; selecting a type of animation effect to be applied to the candidate component from a preset animation effect database based on the structuring unit of the classified candidate component; determining the duration of application of the animation effect based on the selected type of animation effect and the duration of residence of the candidate component within the screen; and determining whether to maintain or release the application of the animation effect based on whether the candidate component has moved away from the screen display area or whether the duration of application has elapsed.
[0020] The step of outputting a 3D model reflecting the generated animation effect to the user's terminal comprises: highlighting the candidate component on the screen of the user's terminal in a visual display state distinguishable from non-candidate components; for each of the highlighted candidate components, displaying the reason why the candidate component became subject to the application of the animation effect by satisfying a viewing judgment indicator as UI information corresponding to at least one of whether it is included within the screen, its relative position to the center of the screen, or its occupancy ratio within the display area; predicting and displaying the type of animation effect to be applied to the candidate component and the scheduled application time or estimated duration of the animation effect as at least one UI element among an icon, a gauge, a timer display, or a gradual color change; for each of the candidate components, utilizing the type of animation effect, the scheduled application time, or the estimated duration displayed by the UI element as reference information for adjusting or displaying the output state, wherein even if the same viewing judgment indicator is satisfied, controlling the animation effect output corresponding to the candidate component to be set differently according to an output control standard set independently of the viewing judgment indicator; and, when the viewing judgment indicator changes due to a change in viewing angle on the screen of the user's terminal, the predicted application time of the animation effect The method may include the step of updating and displaying a point in time or an expected duration in real time; the step of recalculating the animation effect application conditions to maintain, delay, or release the application of the predicted displayed animation effect according to user input received through the user's terminal; and the step of applying or releasing the animation effect corresponding to the candidate component and outputting it to the user's terminal according to the recalculated animation effect application conditions.
[0021] Following the step of identifying and structuring the components constituting the above 3D model,
[0022] The method further includes a step of determining the application target for animation effects for each component of the above 3D model; and
[0023] The step of determining the target for applying animation effects for each component of the 3D model may include: for each component of the 3D model, a step of classifying the construction target component based on the type of the component or a structured unit; for each classified construction target component, a step of setting work step information by referring to a predefined construction sequence standard or user input information; according to the work step information, a step of calculating the required work space required to perform transportation, installation, or assembly of each component; a step of determining whether the calculated required work space can be secured within the 3D space where the 3D model is placed without overlapping with or encroaching upon other components or space boundaries; and based on the determination result, a step of determining the component to be constructed at each work step as the target for applying animation effects.
[0024] The step of controlling the output of animation effects differently for each of the above candidate components comprises: a step of determining, for each of the above candidate components, the functional role to be performed by the animation effect applied to the corresponding component; and a step of controlling the output by redefining output control criteria differently for each component, including at least one of the display method, operation form, emphasis level, or application duration of the animation effect, based on information referenced to determine the functional role; wherein the functional role is characterized by including at least one of an emphasis role to induce user attention, a guidance role to guide the order or relationship between components, a warning role to indicate the possibility of conflict between components or work precautions, or an explanation role to explain the state or characteristics of the component, and the step of determining the functional role may be characterized by being performed by referencing at least one of the structuring unit of the above candidate component, the position or ratio in which the above candidate component is displayed on the screen, the dwell time of the above candidate component on the screen, and user input information.
[0025] A device according to one embodiment may be combined with hardware and controlled by a computer program stored on a medium to execute the method of any one of the methods described above. Effects of the invention
[0027] The embodiments can provide a method for controlling animation effects applied to a plurality of components constituting a 3D model by taking into account the user's viewing state.
[0028] The embodiments can provide a method to reduce unnecessary animation application and alleviate visual clutter by selecting targets for animation effect application based on screen display status and setting application conditions.
[0029] The embodiments can provide a method to more intuitively distinguish and recognize multiple components by controlling different animation effects to be output even for components satisfying the same viewing conditions.
[0030] The embodiments can provide a method to support understanding of the work process or construction sequence by determining the target for application of animation effects by considering components related to construction or work.
[0031] The embodiments can provide a method to more clearly distinguish the meaning of information conveyed in a 3D environment by varying the expression method or application conditions of animation effects according to the functional role of the components.
[0032] Meanwhile, the effects according to the embodiments are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art from the description below. Brief explanation of the drawing
[0034] FIG. 1 is a schematic diagram showing the configuration of a system according to one embodiment. FIG. 2 is a flowchart illustrating the process of providing a view-based animation effect of a 3D model component according to one embodiment. FIG. 3 is a flowchart for explaining the process of determining the conditions for applying animation effects according to one embodiment. FIG. 4 is a flowchart illustrating the process of outputting a 3D model with animation effects reflected according to one embodiment to a user's terminal. FIG. 5 is a flowchart for explaining the process of determining the application target of animation effects for each component of a 3D model according to one embodiment. FIG. 6 is a flowchart illustrating the process of controlling the output of animation effects for each candidate component according to one embodiment. FIG. 7 is an example diagram of the configuration of a device according to one embodiment. Specific details for implementing the invention
[0035] Hereinafter, embodiments are described in detail with reference to the attached drawings. However, various modifications may be made to the embodiments, and thus the scope of the patent application is not limited or restricted by these embodiments. It should be understood that all modifications, equivalents, and substitutions to the embodiments are included within the scope of the rights.
[0036] Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified and implemented in various forms. Accordingly, the embodiments are not limited to the specific disclosed forms, and the scope of this specification includes modifications, equivalents, or substitutions that fall within the technical concept.
[0037] Terms such as "first" or "second" may be used to describe various components, but these terms should be interpreted solely for the purpose of distinguishing one component from another. For example, the first component may be named the second component, and similarly, the second component may be named the first component.
[0038] When it is stated that a component is "connected" to another component, it should be understood that it may be directly connected to or joined to that other component, or that there may be other components in between.
[0039] The terms used in the embodiments are for illustrative purposes only and should not be interpreted as intended to be limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprising" or "having" are intended to indicate the existence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.
[0040] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art to which the embodiments pertain. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this application.
[0041] In addition, when describing with reference to the attached drawings, identical components are assigned the same reference numeral regardless of drawing symbols, and redundant descriptions thereof are omitted. In describing the embodiments, if it is determined that a detailed description of related prior art could unnecessarily obscure the essence of the embodiments, such detailed description is omitted.
[0042] The embodiments can be implemented in various forms of products such as personal computers, laptop computers, tablet computers, smartphones, smart home appliances, intelligent automobiles, kiosks, and wearable devices.
[0043] FIG. 1 is a schematic diagram showing the configuration of a system according to one embodiment.
[0044] Referring to FIG. 1, a system according to one embodiment may include a user terminal (100) and a device (200) capable of communicating with each other through a communication network.
[0045] First, the communication network can be configured regardless of the mode of communication, such as wired or wireless, and can be implemented in various forms to enable communication between servers and between servers and terminals.
[0046] The user's terminal (100) is a terminal used by a user to directly operate and check visual results using the method for providing a view-based animation effect of a 3D model component according to the present invention.
[0047] The user's terminal (100) may be a smartphone, tablet, laptop, desktop computer, augmented reality device, virtual reality device, or a similar portable or stationary computing device, and may visually output a 3D space in which a 3D model is placed through a display.
[0048] The user's terminal (100) provides a screen that displays 3D model data or 3D spatial information and can receive screen operation inputs such as the user's viewpoint movement, rotation, zoom in or out. Based on these screen operation inputs, the user's terminal (100) can provide information regarding the display area, display direction, and viewing state of the 3D space currently displayed on the screen to the device (200). That is, the user's terminal (100) generates screen information that reflects the user's viewing state and enables the device (200) to calculate a viewing judgment index based on this.
[0049] Additionally, the user's terminal (100) can function as a means for outputting a 3D model that reflects an animation effect generated by the device (200). The user's terminal (100) can provide the user with a highlighting of candidate components, a prediction UI element regarding the scheduled time or duration of the animation effect application, and a result screen with the animation effect applied. Furthermore, the user's terminal (100) can receive user input to maintain, delay, or disable the application of the animation effect and transmit it to the device (200).
[0050] That is, the user's terminal (100) performs the role of an interface that reflects the user's field of view and user input in the method according to the present invention, and at the same time, can function as an output means in which an animation effect controlled by the device (200) is visually implemented.
[0051] The user's terminal (100) may be configured to perform all or part of the computational functions, storage / reference functions, input / output functions, and control functions of a conventional computer, and the user's terminal (100) may be configured to communicate with the device (200) via wired or wireless communication.
[0052] The user's terminal (100) may be connected to a website operated by a person or organization providing a service using the device (200), or may have an application developed and distributed by a person or organization providing a service using the device (200) installed. The user's terminal (100) may be linked with the device (200) through the website or application.
[0053] The user's terminal (100) can access the device (200) through a web page, application, etc. provided by the device (200).
[0054] The device (200) may be a private server owned by a person or organization providing a service using the device (200), a cloud server, or a peer-to-peer (P2P) set of distributed nodes. The device (200) may be configured to perform all or part of the computational functions, storage / reference functions, input / output functions, and control functions that a conventional computer possesses.
[0055] The device (200) can be configured to communicate with the user's terminal (100) via wired or wireless means.
[0056] The device (200) is a subject for performing a method for providing a view-based animation effect of a 3D model component according to the present invention, operates in conjunction with a user's terminal (100), analyzes 3D model data and 3D spatial information in which the model is placed, and can perform the function of determining, generating, and outputting animation effects for each component.
[0057] The device (200) can identify a plurality of components constituting a 3D model based on model input data received from a user's terminal (100), and can structure the components according to at least one unit among a mesh unit, a part unit, or a function unit. Additionally, the device (200) can determine animation effect application conditions, including the type of animation effect and the duration of application for each component, using a viewing judgment index calculated based on the screen state of the user's terminal (100).
[0058] Furthermore, the device (200) can classify components satisfying a visual judgment indicator as candidate components and control the device to predictively provide the user with the reason for applying an animation effect, the scheduled time of application, or the expected duration for each candidate component. In this case, even if the same visual judgment indicator is satisfied, the device (200) can control the display method, operation type, emphasis level, or application duration of the animation effect for each candidate component differently according to output control criteria set independently of the visual judgment indicator.
[0059] Additionally, the device (200) can recalculate the conditions for applying animation effects when a change in view occurs on the screen of the user's terminal (100) or user input is received, and control the application of animation effects to be maintained, delayed, or released accordingly.
[0060] Furthermore, the device (200) can determine the functional role that the animation effect is to perform by referring to the structured unit of the candidate component, the display position or ratio within the screen, the time spent within the screen, and user input information, and can redefine the output control criteria for each component to correspond to the said functional role.
[0061] In this way, the device (200) manages the user's field of view and output control criteria separately, thereby precisely providing animation effects suitable for the situation and purpose to multiple components constituting the 3D model, and thereby improves the user's cognitive efficiency and increases the usability of the 3D model-based interface.
[0062] The process of providing view-based animation effects for 3D model components can be carried out through a server that includes a processor for collecting and processing such information. The service can be provided via a web-based platform or a smartphone application, and in some cases, processing can be performed by applying artificial neural networks or machine learning.
[0063] Additionally, the device (200) can communicate wirelessly or via wired connection with websites including social media platforms such as blogs, cafes, Instagram, Facebook, Twitter, and YouTube, and web pages including articles, and the device (200) can access the websites to obtain information.
[0064] Meanwhile, for convenience of explanation, only one user terminal (100) is shown in FIG. 1 and the following description, but the number of terminals can vary depending on the embodiment. As long as the processing capacity of the device (200) allows, there is no particular limit to the number of terminals.
[0065] In the present invention, Artificial Intelligence (AI) refers to a technology that imitates human learning ability, reasoning ability, and perceptual ability, and implements them on a computer, and may include concepts such as machine learning and symbolic logic. Machine Learning (ML) is an algorithmic technology that classifies or learns the characteristics of input data on its own. AI technology can analyze input data as a machine learning algorithm, learn from the results of the analysis, and make judgments or predictions based on the results of the learning. Furthermore, technologies that mimic the functions of the human brain, such as cognition and judgment, by utilizing machine learning algorithms can also be understood as falling within the category of AI. For example, technological fields such as linguistic understanding, visual understanding, reasoning / prediction, knowledge representation, and motion control may be included.
[0066] Machine learning can refer to the process of training neural network models using experience in processing data. It implies that through machine learning, computer software improves its own data processing capabilities. A neural network model is constructed by modeling the correlations between data, and these correlations can be expressed by multiple parameters. A neural network model extracts and analyzes features from given data to derive correlations between them; machine learning can be defined as the process of optimizing the model's parameters by repeating this process. For example, a neural network model can learn the mapping (correlation) between inputs and outputs for data given as input-output pairs. Alternatively, even when only input data is provided, a neural network model can derive regularities between the given data and learn those relationships.
[0067] An artificial intelligence learning model or neural network model can be designed to implement the structure of the human brain on a computer and may include multiple network nodes that have weights and simulate neurons of a human neural network. The multiple network nodes may have interconnected relationships by simulating the synaptic activity of neurons, where neurons exchange signals through synapses. In an artificial intelligence learning model, multiple network nodes may be located in layers of different depths and exchange data according to convolutional connections. The artificial intelligence learning model may be, for example, an Artificial Neural Network (ANN) or a Convolutional Neural Network (CNN). As an embodiment, the artificial intelligence learning model may be machine learned according to methods such as supervised learning, unsupervised learning, and reinforcement learning. Machine learning algorithms for performing machine learning may include Decision Tree, Bayesian Network, Support Vector Machine, Artificial Neural Network, Ada-boost, Perceptron, Genetic Programming, and Clustering.
[0068] Among these, CNNs are a type of multilayer perceptron designed to use minimal preprocessing. CNNs consist of one or more convolutional layers and standard artificial neural network layers stacked on top, additionally utilizing weights and pooling layers. Thanks to this structure, CNNs can fully utilize two-dimensional input data. Compared to other deep learning architectures, CNNs demonstrate good performance in both image and audio fields. CNNs can also be trained using standard backpropagation. CNNs have the advantage of being easier to train than other feedforward artificial neural network techniques and using a small number of parameters.
[0069] Convolutional networks are neural networks comprising sets of nodes with bounded parameters. Many computer vision tasks have been significantly improved, driven by the increased size of available training data and the availability of computational power, combined with algorithmic advancements such as discriminative linear units and dropout training. In the case of massive datasets, such as those available for many tasks today, outfitting is not critical, and increasing the network size improves test accuracy. Optimal utilization of computing resources becomes a limiting factor. To address this, distributed, scalable implementations of deep neural networks can be employed.
[0070] FIG. 2 is a flowchart illustrating the process of providing a view-based animation effect of a 3D model component according to one embodiment.
[0071] Referring to FIG. 2, first, in step S201, the device (200) can receive model input data including 3D model data and 3D spatial information in which the model is placed from a user's terminal.
[0072] That is, the device (200) can receive model input data including 3D model data and 3D spatial information in which the model is placed.
[0073] Here, the model input data is a basic input required by the device (200) to identify components of a 3D model, calculate a viewing judgment index, and determine conditions for applying animation effects per component, and includes at least 3D model data and 3D spatial information.
[0074] 3D model data is data for representing one or more objects in three dimensions, and may include information indicating the shape and structure of the model so that the device (200) can identify the components.
[0075] For example, 3D model data may include at least one of mesh data including vertex coordinates and face information, material or texture information, bone or joint structure information, model hierarchy information, part or group identifier, component-specific name or attribute tag.
[0076] At this time, the component name or attribute tag may be assigned in terms that are understandable to the user, such as door, handle, light switch, drawer, hinge, and if such a tag exists, the device (200) may use the tag as a priority basis for identifying the component.
[0077] Conversely, even when no tag exists, the device (200) can distinguish components based on the connection relationship of the mesh, the connection relationship of the structure, or group units in the hierarchical structure, so the model input data is not limited to a specific format.
[0078] 3D spatial information is information that defines the criteria of a virtual space in which a 3D model is placed, and may include information that enables the device (200) to interpret the position and orientation of the 3D model based on the same criteria.
[0079] For example, 3D spatial information may include at least one of the origin and axis direction of the spatial coordinate system, the definition of the reference plane, the spatial boundary or searchable range, the basic position and basic direction of the camera, the parameters of the viewport displayed on the terminal screen, the initial placement position and placement direction of the model, and the scale reference value.
[0080] In particular, when a user's terminal (100) places a 3D model based on actual space in an augmented reality-based environment, the 3D spatial information may include reference plane information such as a floor or wall, offset information of the model relative to the reference plane, and spatial coordinate system information estimated by the terminal.
[0081] In addition, when the user's terminal (100) displays only virtual space in a general 3D viewer environment, the 3D space information may include information that directly affects the screen output, such as the projection method of the virtual camera, the field of view, and the near plane and far plane values.
[0082] The device (200) can receive model input data from the user's terminal (100) in at least one of file transmission, streaming reception, or direct delivery of the data structure.
[0083] For example, the user's terminal (100) can upload a 3D model file selected by the user to the device (200), or call a 3D model already stored inside the terminal and then transmit model data and spatial information in packet units in a form accessible to the device (200).
[0084] At this time, the device (200) can check for prior consistency to enable subsequent analysis by verifying the format, version, whether coordinate system definition is missing, whether hierarchical structure information is included, etc. of the received model input data.
[0085] For example, if the unit system information included in the 3D model data is missing, the device (200) may apply a preset default unit system or generate guidance information to request the user's terminal (100) to select a unit system, and if the coordinate axis definitions are different, it may perform normalization processing to convert to an internal reference coordinate system.
[0086] As a specific example, assume a case where a user selects a 3D model representing a storage cabinet in an interior layout scenario and places the storage cabinet in a coordinate system based on the living room floor surface on the screen of the user's terminal (100).
[0087] At this time, the user's terminal (100) can provide the device (200) with 3D model data including mesh data of the cabinet model, hierarchical structure information of the cabinet door part, attribute tags assigned to the handle part, and material information, and 3D spatial information including a floor surface reference coordinate system, placement position coordinates of the cabinet, placement direction angle, and basic camera field of view as model input data.
[0088] By receiving this, the device (200) can interpret the position and orientation of the storage cabinet model in a spatial coordinate system based on consistent criteria, and in a subsequent step, after identifying components such as a door, handle, and internal storage space, it can perform a determination to apply an animation effect based on the change in the user's terminal (100)'s field of view.
[0089] Through this, the device (200) can align the 3D model and the spatial state in a form that enables component identification and view judgment indicators required in subsequent steps based on the 3D model data and 3D spatial information included in the model input data, and as a result, can secure basic input that can stably control animation effects for each component in response to changes in the screen displayed on the user's terminal (100).
[0090] In step S202, the device (200) can analyze model input data to identify components that constitute the 3D model.
[0091] That is, the device (200) can analyze the received model input data to identify one or more components that constitute the 3D model.
[0092] Here, a component refers to a part of a model that is distinguished so that the application of animation effects, the method of application, or the output form can be determined individually among the parts that make up the entire 3D model.
[0093] In other words, the component is defined not merely as a unit for shape division, but as the minimum judgment unit subject to selective animation control based on the view judgment indicator.
[0094] The device (200) can analyze structural information, shape information, and attribute information included in the received 3D model data to identify components.
[0095] For example, if the 3D model data includes hierarchical structure information, the device (200) can analyze the relationship between the upper node and the lower node to identify the lower node unit, which can be controlled independently, as a component.
[0096] In this case, a sub-node can be defined as a single part, sub-object, or group, and the set of meshes included in the sub-node can be identified as a single component.
[0097] Additionally, if the 3D model data includes name information, attribute tags, or identifiers for distinguishing components, the device (200) can identify the components by first referring to such information.
[0098] For example, if the model data includes tags with assigned meanings such as a door, handle, internal storage space, and light cover, the device (200) can identify the model parts corresponding to each tag as individual components.
[0099] This method allows the user to utilize the semantic information assigned during the model design or creation phase as is, enabling identification while preserving the meaning of the components.
[0100] Meanwhile, even if the 3D model data does not include explicit tags or hierarchical information, the device (200) can identify components through shape-based analysis.
[0101] For example, the device (200) may analyze the connection relationships between meshes to determine that separate sets of meshes are each independent components, or may identify a continuous shape region as a single component based on the normal direction, material properties, mesh density changes, etc. Additionally, in the case of a model containing the present structural information, the device (200) may analyze a movable region based on a bone or joint unit and identify that region as a single component.
[0102] As a specific example, assuming a 3D model of a cabinet displayed through a user's terminal (100), the device (200) can analyze the overall shape of the cabinet and identify the outer frame, left door, right door, handles attached to each door, and internal shelf area as different components. At this time, the left door and the right door are identified as separate components because they each have a shape structure that can rotate independently, and the handle is combined with the door but can be identified as a separate component distinguished from the door because it can be a subject of visual emphasis or attention guidance.
[0103] In the component identification process, the device (200) may record a mesh set corresponding to each component, a spatial position range, size information, and hierarchical relationship information together. This information can be used to determine whether a specific component is included within the screen of the user's terminal (100), the proportion it occupies within the screen, or its relative position to the center of the screen when calculating a viewing angle indicator.
[0104] Through this, the device (200) can move away from treating the entire 3D model as a single object and secure a component-unit analysis structure that can individually determine whether to apply animation effects, and as a result, can establish a foundation for differential animation effect control for different components even under the same viewing conditions.
[0105] In step S203, the device (200) can structure the identified components by classifying them according to at least one of a mesh unit, a part unit, or a functional unit.
[0106] That is, the device (200) can structure one or more identified components by classifying them according to at least one unit among mesh units, part units, or functional units.
[0107] Here, component structuring refers to the process of classifying each identified component into specific control units to enable the determination of animation effect application and output control, and defining attribute information corresponding to each control unit.
[0108] In other words, structuring is not a simple classification, but a process of establishing control criteria to apply visibility judgment indicators and animation effect application conditions differently to each component.
[0109] In performing structuring of the components, the device (200) can select a structuring unit based on at least one of the shape characteristics, hierarchical structure, combination relationship, or purpose of use of the components.
[0110] For example, if a component requires detailed visual emphasis or partial animation control, the device (200) can structure the component into mesh units. In this case, a single component can be broken down into multiple mesh groups, and each mesh group can be subject to individual emphasis effects or partial animation application.
[0111] As another example, when components are physically combined or treated as assembly units, the device (200) can structure the components into parts. Part-unit structuring may be a method of grouping parts that have an actual assembly relationship or are functionally related, such as a door and a door frame, a drawer and a drawer rail, or a lighting fixture and a lighting cover, into a single control unit. In this case, the device (200) can express the actual physical motion or assembly sequence more intuitively by applying animation effects to the parts.
[0112] Additionally, if a component needs to be controlled according to a specific role or purpose of use, the device (200) can structure the component into functional units. Structuring into functional units may be a method of setting control units according to the nature of the information that the component needs to convey to the user, such as a component for guiding opening and closing operations, a component requiring caution during use, or a component requiring a state description. In this case, the device (200) can group areas composed of different shapes or parts into a single structural unit if they perform the same functional role.
[0113] As a specific example, assuming a 3D model of a storage cabinet, the device (200) may structure the left door and the right door into part units, respectively, and the handles attached to each door may be structured separately into functional units to attract visual attention. Additionally, the internal shelf area may be structured into functional units to explain the actual storage space to the user. At this time, the device (200) may store structured information for each structured unit, such as the range of the unit, the included mesh set, the spatial location range, and the basic control priority.
[0114] The device (200) can use these structuring results to select different types of animation effects for components with different structuring units even if they satisfy the same viewing judgment indicator, or to set different durations for the application of animation effects.
[0115] For example, if a handle function unit satisfying the same viewing conditions as a door part located at the center of the screen exists simultaneously, the device (200) can control the application of an animation effect indicating an opening and closing motion to the door part and only a short emphasis effect to the handle function unit.
[0116] Through this, the device (200) can move away from a method of uniformly processing components and secure a control system structured into units suitable for the control purpose and role of the components, and can establish a foundation for determining animation effect application conditions more precisely and flexibly based on a visual judgment indicator.
[0117] In step S204, the device (200) can determine an animation effect application condition for a component included in a preset screen center area, based on a viewing judgment index calculated based on the screen of the user's terminal, including at least one of the type of animation effect and the duration of application for each component.
[0118] That is, the device (200) can refer to a viewing judgment index calculated based on the screen of the user's terminal (100) to first determine whether each component is included within the screen and its relative position to the center of the screen, and then set an animation effect application condition to determine the type of animation effect and the duration of application only for components included in a preset center area of the screen.
[0119] Here, the screen center area refers to a predetermined range based on the center of the screen in the display of the user's terminal (100).
[0120] The screen center area can be set as the section of the entire screen area that the user observes with relative focus, and, for example, can be defined as a rectangular or circular area extended by a certain proportion in the horizontal and vertical directions, respectively, based on the screen center.
[0121] For example, if the screen resolution is W horizontally and H vertically, the screen center area can be set to a range from 0.3W to 0.7W horizontally and from 0.3H to 0.7H vertically in the screen coordinate system.
[0122] At this time, the size, shape, and position of the screen center area may be preset values, but this is merely an example and may be defined differently depending on the user settings, automatic adjustment of the device (200), or application type according to the embodiment.
[0123] The device (200) can calculate a virtual viewpoint location, a virtual viewpoint direction, and a virtual viewpoint range corresponding to the current screen displayed on the user's terminal (100) in order to calculate a viewpoint judgment index.
[0124] For example, the device (200) can define the observation range of the 3D space that can be displayed on the current screen in the form of a viewing frustum by using the position coordinates, direction vector, field of view, projection matrix, and view matrix of the virtual camera.
[0125] These viewing indicators can be combined with spatial coordinate information of each component structured in steps S202 and S203 and used as criteria to determine whether a component exists within the current viewing range and where it is projected on the screen coordinate system.
[0126] The device (200) can determine whether a component is included within the screen by projecting the bounding box or representative coordinates of each component from the three-dimensional spatial coordinate system to the screen coordinate system.
[0127] For example, if the center coordinates of a specific component are contained within the viewing frustum, the device (200) can determine that it is a component that can be displayed on the screen.
[0128] Furthermore, by using the result of projecting the bounding box of the component onto the screen coordinate system and calculating the ratio of the area occupied within the display area, the occupancy ratio of the component within the display area can be quantitatively calculated.
[0129] The device (200) can additionally calculate the relative position with respect to the center of the screen for components included within the screen.
[0130] For example, if the representative coordinates of a component are represented as (u, v) in the screen coordinate system and the screen center coordinates are represented as (u_c, v_c), the distance or direction vector between the two coordinates can be calculated to determine whether the component is located around the screen center.
[0131] The device (200) can determine whether a component is included in the screen center area by comparing the relative position information calculated in this way with the boundaries of a predefined screen center area.
[0132] For example, if the screen center area is defined as [0.3W, 0.7W] in the horizontal direction and [0.3H, 0.7H] in the vertical direction, the device (200) can determine whether a component is a component included in the screen center area by checking whether the screen coordinates (u, v) of a component are included within this range.
[0133] Additionally, the device (200) can manage the duration during which a component is included within the screen center area as screen dwell time information.
[0134] For example, the time a specific component spends in the screen center area can be calculated by accumulating the time from when it first enters the screen center area until it leaves the screen center area.
[0135] At this time, the device (200) can set a threshold value to distinguish between cases where a component temporarily passes over the center area of the screen and cases where it stays for a certain period of time or longer, so that only components that have stayed for a preset standard time or longer are treated as candidates for animation effect application.
[0136] These reference time values can be set to, for example, 0.5 seconds, 1 second, 2 seconds, etc., but this is merely an example and may be set differently depending on the user experience or application characteristics.
[0137] The device (200) can determine the conditions for applying animation effects only to components included in a preset center of the screen by comprehensively referring to the calculated viewing indicators, namely whether they are included within the screen, whether they are included in the center of the screen, the time spent in the center of the screen, and the occupancy ratio within the display area.
[0138] For example, the device (200) can set the following rules.
[0139] First, animation effects are applied only when the component's screen coordinates are included in the center of the screen.
[0140] Second, for components whose dwell time within the center of the screen exceeds a preset standard time, a relatively long application duration is assigned, while for those that are close to the standard time but short, a short application duration is assigned.
[0141] Third, small components that occupy less than a certain percentage of the display area, even if included in the center of the screen, are restricted from having excessive animation effects applied, or only animation effects with a low level of emphasis are applied.
[0142] In addition, the device (200) can subdivide the conditions for applying animation effects by considering the units of the structured components together.
[0143] For example, even if components are included in the same screen center area, conditions can be set to apply simple visual effects, such as color changes or outline emphasis, to components structured in mesh units, and to apply animation effects involving movement, such as rotation, movement, and opening / closing, to components structured in part units.
[0144] In addition, for components structured by function, the type, intensity, or duration of animation effects can be set differently according to their respective functional roles.
[0145] As a specific example, a situation can be assumed in which a 3D model of a storage cabinet is displayed on the user's terminal (100) screen, the screen coordinates of the left door component are located inside the screen center area, and remain inside the screen center area for more than 1 second.
[0146] In this case, the device (200) determines that the left door component is a component included in the center area of the screen and determines the conditions for applying an animation effect, and can set the opening and closing animation effect of the door opening slowly to be applied for 2 seconds.
[0147] On the other hand, if a handle component is included within the screen on the same screen but is located outside the center area of the screen, i.e., at the periphery of the screen, and has a short dwell time, the device (200) may not set conditions for applying animation effects to the handle component, or may set it to apply a weak emphasis effect only for a very short time.
[0148] Through this, the device (200) can select the component that the user is actually paying attention to, particularly based on the center area of the screen among the changes in view occurring on the user's terminal (100) screen, and specifically determine the type of animation effect and the duration of application only for that component.
[0149] As a result, the device (200) can move away from the method of indiscriminately applying animation effects to the entire screen and selectively provide animation effects based on the central area of the screen, thereby enabling information delivery that is naturally aligned with the user's viewing flow.
[0150] For a detailed explanation regarding this, refer to Fig. 3.
[0151] In step S205, the device (200) can generate an animation effect corresponding to a component that satisfies the determined animation effect application conditions, and output a 3D model with the animation effect reflected to a user's terminal.
[0152] That is, the device (200) can generate an animation effect corresponding to a component that satisfies the determined animation effect application conditions, and output a 3D model with the animation effect reflected therein to the user's terminal (100).
[0153] First, the device (200) can determine the target component to generate the animation effect according to the animation effect application conditions.
[0154] For example, if a specific component is included within the screen, and the screen coordinates of the component are included in a preset screen center area, and the dwell time within the screen center area is longer than a preset reference time, the device (200) can determine the component as a target for applying an animation effect.
[0155] Conversely, if other components within the same 3D model are included within the screen but are located outside the screen center area or the time spent within the screen center area is less than the reference time, the device (200) may exclude the component from being subject to animation effects.
[0156] The device (200) can generate an animation effect for a component determined as the target for applying an animation effect, according to the type of animation effect previously determined.
[0157] Here, an animation effect refers to an expression that changes the visual state of a component over time, and may include changes in the position, rotation, scale, color, transparency, blinking, highlighting, or a combination thereof. In this case, the device (200) may generate animation effects in different ways depending on the structuring unit of the component.
[0158] For example, for components structured in parts, animation effects that simulate actual physical motion can be generated.
[0159] Specifically, when a cabinet door component is determined to be the target for applying an animation effect, the device (200) can generate an animation effect that indicates the door opening or closing around a rotation axis. At this time, the rotation angle, rotation speed, acceleration and deceleration intervals can be set to match the application duration determined in the animation effect application conditions.
[0160] As another example, for components structured by functional units, animation effects focused on visual emphasis can be generated to convey the functional meaning of the components.
[0161] For example, in the case of a component intended to draw the user's attention, the device (200) may generate an animation effect by temporarily changing the color of the component, emphasizing the outline, or applying a flashing effect. In this case, the animation effect may be generated to be applied only for a limited time so as not to include excessive motion.
[0162] The device (200) can control the generated animation effect according to the duration of application.
[0163] For example, if a short duration is set by the animation effect application condition, the device (200) may output the animation effect for only a certain period of time and then automatically disable it. Conversely, if the user continues to look at the component, the application of the animation effect may be maintained or the duration of application may be extended by reflecting the update result of the viewing judgment indicator.
[0164] Subsequently, the device (200) can output a 3D model with animation effects to the user's terminal (100). At this time, the output can be performed so that the component with animation effects and other components without animation effects are displayed together on the same screen.
[0165] This allows users to intuitively recognize only the components they need to focus on while maintaining the context of the entire 3D model.
[0166] As a specific example, when a cabinet door component is determined to be the target for applying an animation effect on the user's terminal (100) screen, the device (200) can generate and output an animation effect of the door opening, and at the same time output other components such as a handle or an internal shelf to remain in a static state.
[0167] Subsequently, if the user moves the viewpoint and the door moves out of the center area of the screen or the dwell time decreases below a preset standard, the device (200) may determine that the door no longer satisfies the conditions for applying animation effects.
[0168] Accordingly, the device (200) can maintain animation control centered on the component located in the center of the screen by releasing the animation effect for the door, returning the door to a static state, or applying a new animation effect to another component as needed.
[0169] Through this, the device (200) can treat animation effects not as simple visual decorations, but as control target elements that are selectively generated, output, and released in response to changes in the field of view occurring on the user's terminal (100) screen, and as a result, can provide meaningful animation effects only to the components that the user actually pays attention to.
[0170] For a detailed explanation regarding this, please refer to Fig. 4.
[0171] FIG. 3 is a flowchart for explaining the process of determining the conditions for applying animation effects according to one embodiment.
[0172] Referring to FIG. 3, first, in step S301, the device (200) can calculate a viewing judgment index including a virtual viewpoint position, a virtual viewpoint direction, and a virtual viewing range within the 3D space based on the display area and display direction of the 3D space displayed on the screen of the user's terminal.
[0173] That is, the device (200) can calculate a viewing judgment index including a virtual viewpoint position, a virtual viewpoint direction, and a virtual field of view range within the 3D space based on the display area and display direction of the 3D space displayed on the screen of the user's terminal (100).
[0174] First, the display area refers to the screen area that is actually displayed on the display of the user's terminal (100).
[0175] The display area may vary depending on screen resolution, aspect ratio, the size of the in-screen viewport, whether a split screen configuration is used, etc.
[0176] For example, if the user's terminal (100) displays the 3D viewer in full screen, the display area can be the entire display.
[0177] When the 3D viewer and menu panel are displayed together in a split screen, the display area may be limited to the viewport area where the 3D space is displayed.
[0178] Display direction means which direction the 3D space is displayed facing on the user's terminal (100).
[0179] The display direction may correspond to the direction the virtual camera is looking, and may change according to rotation input, movement input, zoom in and out input or device posture change occurring from the user's terminal (100).
[0180] For example, if the user drags the screen to rotate the viewpoint to the left, the display direction can be changed to the left.
[0181] In addition, in an augmented reality environment, the display direction can be continuously updated according to the posture sensor or camera-based estimation result of the user's terminal (100).
[0182] A virtual viewpoint location refers to coordinate values representing the point where a virtual camera is located within 3D space.
[0183] The device (200) can determine a virtual viewpoint position using camera position parameters received from the user's terminal (100) or camera status values managed by the 3D viewer engine.
[0184] For example, if the camera in the 3D viewer is set to look at the model at a specific height and distance, the device (200) can calculate the position coordinates of the camera as a virtual viewpoint position.
[0185] In an augmented reality-based environment, the terminal location or camera location estimated by the user's terminal (100) can be converted into a 3D spatial coordinate system and used as a virtual viewpoint location.
[0186] Virtual viewpoint direction refers to a direction vector that indicates the direction a virtual camera looks in 3D space.
[0187] The device (200) can calculate a virtual viewpoint direction using at least one of a camera's rotation matrix, Euler angles, quaternions, or view matrix.
[0188] For example, when the camera is facing forward toward the model on the user's terminal (100) screen, the device (200) can calculate a direction vector representing the forward direction as a virtual viewpoint direction.
[0189] When the user raises or lowers the viewpoint, the corresponding direction vector is updated and can be calculated as the virtual viewpoint direction.
[0190] Virtual field of view refers to the range of 3D space that a virtual camera can observe on a screen.
[0191] The device (200) can refer to the projection method and projection parameters of the camera to calculate the virtual field of view range.
[0192] For example, when a perspective projection method is applied, the device (200) can calculate an observation range in the form of a viewing frustum using the viewing angle, aspect ratio, near plane and far plane values.
[0193] When an orthogonal projection method is applied, the observation range can be calculated using the horizontal and vertical ranges and the depth range corresponding to the screen.
[0194] The device (200) can configure a viewing judgment indicator by combining a display area and a display direction, a virtual viewpoint location, a virtual viewpoint direction, and a virtual viewing range.
[0195] In this case, the visibility judgment indicator may be expressed as a single value or as a set of multiple values.
[0196] For example, the field of view judgment indicator may consist of a set of parameters including virtual viewpoint location coordinates, virtual viewpoint direction vector, field of view angle, aspect ratio, near plane, and far plane values.
[0197] As another example, the view judgment metric may be defined as a set of vertex coordinates in 3D space of the view frustum.
[0198] As a specific example, let's assume a situation where a user observes a cabinet model using a 3D viewer for interior layout.
[0199] If a menu panel is fixedly displayed on the right side of the user's terminal (100) screen and 3D space is displayed only in the left area, the device (200) can set the left viewport area as the display area.
[0200] When the user drags the screen to rotate the cabinet model to be viewed from the left, the device (200) can update the direction vector of the corresponding virtual camera to calculate the virtual viewpoint direction.
[0201] At the same time, when zoom input is performed and the camera approaches the model, the device (200) can update the virtual viewpoint position by reflecting the change in camera position coordinates.
[0202] At this time, the device (200) can calculate a virtual field of view range using the field of view angle, near plane, and far plane values, and calculate a field of view judgment index including the same.
[0203] Through this, the device (200) can quantitatively express in what range and in what direction the 3D space displayed on the user's terminal (100) is being observed, and subsequently establish criteria for stably calculating whether each component is included within the screen, relative position coordinates with respect to the center of the screen, and the occupancy ratio within the display area.
[0204] Additionally, the device (200) can calculate the field of view judgment indicator in the form of a set of values that can be actually computed.
[0205] As one embodiment, the field of view determination indicator may be composed of a set of parameters including a 3D coordinate value representing a virtual viewpoint location, a direction vector representing the direction of the virtual viewpoint, and a field of view angle and near-far plane values defining the virtual field of view range.
[0206] For example, when a 3D space is displayed on the screen of a user's terminal (100), the device (200) can calculate a virtual viewpoint location as a coordinate value in the form of (x0, y0, z0) and calculate a virtual viewpoint direction as a normalized direction vector in the form of (dx, dy, dz).
[0207] In addition, the virtual field of view can be defined by values including the horizontal field of view θ, aspect ratio r, near plane distance n, and far plane distance f.
[0208] Using the values calculated in this way, the device (200) can define an observation range in 3D space that constitutes a viewing frustum.
[0209] The observation range can be set as a spatial area extending toward the direction of the virtual viewpoint, based on the virtual viewpoint location.
[0210] At this time, if the center coordinates or outer area of a specific component are included within this observation range, the device (200) can determine that the component is included within the current field of view.
[0211] Conversely, if it is outside the observation range, it can be determined as a component located outside the field of view.
[0212] In addition, the device (200) can quantitatively express the relative position of the component with respect to the center of the screen by projecting the three-dimensional coordinates of the component onto the screen coordinate system and calculating the distance or relative position vector with respect to the center of the screen coordinates.
[0213] In addition, the device (200) can calculate the ratio of the area occupied by the projected area of the component in the display area and calculate the occupancy ratio value relative to the display area.
[0214] This occupancy ratio value can be used as a criterion value to determine whether to apply animation effects and the intensity of application thereafter.
[0215] In this way, the device (200) can quantitatively express the observation state in 3D space displayed on the user's terminal (100) by calculating a plurality of numerical values constituting a viewing judgment indicator, and based on this, the judgment of applying animation effects for each component can be stably performed.
[0216] In step S302, the device (200) can calculate whether each component is included within the screen, relative position coordinates with respect to the center of the screen, and the occupancy ratio within the display area based on the calculated viewing angle indicator.
[0217] That is, the device (200) can calculate whether each component is included within the screen, relative position coordinates with respect to the center of the screen, and the occupancy ratio within the display area based on the calculated viewing angle indicator.
[0218] The device (200) can quantitatively determine how components in 3D space are actually perceived on the user's terminal (100) screen.
[0219] First, "inclusion within screen" means the result of determining whether a specific component exists within the screen area displayed on the user's terminal (100).
[0220] The device (200) can determine whether a component is included within the screen by converting the position information or bounding area in 3D space corresponding to the component into a screen coordinate system and then calculating whether the area intersects or is included with the display area.
[0221] In this case, whether it is included within the screen may be determined simply by a binary value of inclusion or exclusion, or it may be determined as a partially included state by considering cases where only a part of the component is displayed on the screen.
[0222] For example, if some of the bounding boxes of a component extend beyond the screen boundary and the remaining parts are displayed on the screen, the device (200) determines that the component is contained within the screen, but can subdivide the importance through the occupancy ratio.
[0223] Conversely, if the entire bounding area of a component is located outside the screen boundary, it can be determined that it is not included within the screen.
[0224] Next, relative position coordinates with respect to the screen center refer to coordinate values that indicate the direction and distance from the screen center point.
[0225] The device (200) can calculate relative position coordinates by setting the screen center coordinates as a reference point in the screen coordinate system and then calculating the relative position relationship with the representative coordinates of the components.
[0226] The representative coordinate can be set to the center point of the component, the center of the area occupying the largest visually, or one of the predefined reference points.
[0227] For example, if the representative coordinates of a component are close to the center of the screen, the device (200) can determine that the component is located in the user's main field of vision.
[0228] Conversely, if a component is located near the edge or corner of the screen, it can be determined that it is highly likely not to be the direct object of the user's attention.
[0229] Such relative position coordinates can be used as a criterion for determining whether to apply animation effects or to adjust the emphasis level.
[0230] In addition, the device (200) can calculate the occupancy ratio within the display area.
[0231] The occupancy ratio within the display area refers to the ratio of the area occupied by a specific component to the total display area displayed on the user's terminal (100) screen.
[0232] The device (200) can calculate the screen projection area of a component and then calculate the occupancy ratio by dividing the area of the area by the total area of the display area.
[0233] For example, in the case of a component that is displayed large on the screen and occupies a significant portion of the entire screen, the occupancy ratio may be calculated to be high.
[0234] Conversely, for components located far away or only partially exposed, the occupancy ratio may be calculated to be low.
[0235] This occupancy ratio information can be used to determine the visual importance of the components.
[0236] As a specific example, assume a situation in which a 3D model of a storage cabinet is displayed on the screen of a user's terminal (100), and a left door, a right door, and a handle component are simultaneously included on the screen.
[0237] In this case, the device (200) can determine that both the left door and the right door are included within the screen.
[0238] However, if the left door is close to the center of the screen and occupies a large area of the screen, while the handle is located at the edge of the screen and occupies only a small area, the device (200) can calculate a high occupancy ratio and center proximity coordinates for the left door, and a low occupancy ratio and relative position coordinates far from the center for the handle.
[0239] In this way, the device (200) can quantitatively distinguish different visual importance for each component even under the same visual judgment indicator by individually calculating whether it is included within the screen, the relative position coordinates with respect to the center of the screen, and the occupancy ratio within the display area.
[0240] The device (200) can store, in particular, whether the screen coordinates of each component are located within the boundaries of a preset screen center area as an additional determination value (whether the screen center area is included) by using relative position coordinates with respect to the screen center.
[0241] In this case, the pre-set screen center area refers to a certain range defined based on the screen center, and can be used as a key criterion to determine whether each component is located around the screen center in subsequent steps.
[0242] Through this, the device (200) can secure a judgment basis for selecting candidate components for applying animation effects according to more reasonable and consistent criteria.
[0243] In step S303, the device (200) can classify a component as a candidate component for applying an animation effect, limited to components included in a preset screen center area based on whether it is included within the screen, relative position coordinates with respect to the screen center, and the occupancy ratio within the display area.
[0244] That is, the device (200) can determine whether the screen coordinates of each component are included in the calculated viewing area, the relative position coordinates with respect to the screen center, and the occupancy ratio within the display area by referring to whether the components are included in the screen center area, and can select them as candidate components for applying animation effects by considering the occupancy ratio and detailed position information, only for the components for which the inclusion in the screen center area is determined to be true.
[0245] In this case, since the screen center area is a sub-region defined within the display area, components included in the screen center area can be considered as components that naturally satisfy the condition of being included within the screen. Therefore, rather than being an independent filter, inclusion within the screen can be utilized as an auxiliary judgment factor verified together during the process of determining the screen center area.
[0246] Therefore, in actual implementation, inclusion of the screen center area is set as a mandatory condition, while inclusion within the screen and the occupancy ratio within the display area can be used as auxiliary criteria for adjusting the priority of candidate components or the intensity of animation effects.
[0247] In this stage, a decision is made to select the components that actually need animation effects applied, and it serves to prevent the animation effects from being applied uniformly to all components displayed on the screen.
[0248] Here, a candidate component refers to a component for which applying an animation effect is judged to be helpful for information transmission or user understanding when considering the viewing state on the user's terminal (100) screen.
[0249] Candidate components become the subjects for which the type and duration of the animation effect are determined in a later stage.
[0250] The device (200) can refer to preset criteria to classify candidate components.
[0251] A pre-set criterion refers to a condition established to determine whether to include a component as a candidate, based on the essential premise that at least the screen coordinates of the component will be contained within a pre-set screen center area, and additionally referencing at least one of the following as a secondary criterion: the occupancy ratio within the display area, or more detailed relative position coordinates with respect to the screen center.
[0252] This standard can be defined during system design and may be configured to be changeable according to user environment information or service type set on the user's terminal (100).
[0253] For example, the preset criteria first require that the representative coordinates of a component be contained within a preset screen center area, and may additionally include conditions such as the component's occupancy ratio within the display area being above a certain level and the distance from the screen center being within a specific range.
[0254] In this case, the condition of including the screen center area is set as a mandatory condition for classification as a candidate component, while conditions such as occupancy ratio or detailed position can be used as auxiliary criteria to adjust the priority or intensity of animation effects among the candidate components.
[0255] These conditions may be applied as a single condition, or they may be set so that a candidate is classified only when multiple conditions are satisfied simultaneously.
[0256] The device (200) can determine whether a component satisfies the criteria by comparing the screen center area inclusion, the occupancy ratio within the display area, and the relative position coordinates calculated for each component with preset criteria.
[0257] Components that meet the criteria are classified as candidate components for applying animation effects, and components that do not meet the criteria may be excluded from the candidates.
[0258] As a specific example, assume a situation in which multiple components are displayed simultaneously on the screen of the user's terminal (100).
[0259] At this time, the device (200) can classify door components located inside the screen center area and having a high occupancy rate as candidate components.
[0260] On the other hand, detailed components such as screws and hinges that are only partially displayed at the edges of the screen or have a very low occupancy rate can be excluded from candidate components.
[0261] Through such classification, animation effects can be provided focusing only on components likely to attract the user's attention.
[0262] Through this, the device (200) can avoid indiscriminately processing all components displayed on the user's terminal (100) screen and can select candidate components to be subject to animation effects based on whether they are included in a preset screen center area among the viewing state and visual importance.
[0263] As a result, animation effects can be focused on components in the central area of the screen that are meaningful to the user, reducing screen clutter and improving the clarity of information delivery.
[0264] In step S304, the device (200) can select a type of animation effect to be applied to a candidate component from a predefined animation effect database according to the structuring unit of the classified candidate component.
[0265] That is, the device (200) can select the type of animation effect to be applied based on the structuring unit of the component from the animation effect database for the component classified as a candidate component.
[0266] In this stage, animation effects are selected that correspond to the nature and role of the candidate components, and the visual representation is controlled so that it does not contradict the meaning of the components.
[0267] First, an animation effect database refers to a data set that stores the correspondence between the types of animation effects and the structured units of components to which each effect can be applied.
[0268] The animation effect database may include information such as the name of the animation effect, the expression method of the effect, applicable structured units, recommended application duration range, and whether it repeats.
[0269] The animation effects database may be configured to be updateable depending on the service type or model characteristics.
[0270] The term "types of animation effects" refers to a type of expression method that changes the visual state of a component over time.
[0271] For example, types of animation effects may include moving the position of a component, rotation, scaling, color change, transparency change, outline highlighting, blinking effects, or a combination thereof.
[0272] The suitability of each animation effect may vary depending on the structural unit and functional nature of the components.
[0273] After the device (200) identifies the structured unit of the candidate component, it can search for an animation effect corresponding to the structured unit in the animation effect database.
[0274] For example, if the candidate components are structured in part units, the device (200) may preferentially select a rotation or movement-based animation effect that can intuitively represent actual physical motion.
[0275] Conversely, if the candidate components are structured in functional units, the device (200) can select color change or highlight-centered animation effects intended for conveying information or drawing attention.
[0276] In addition, if the candidate components are structured in mesh units, the device (200) can select an animation effect that enables partial visual emphasis rather than deformation of the entire shape.
[0277] For example, an effect that emphasizes the outline of a specific mesh area or causes only that area to gradually brighten can be selected.
[0278] In this way, by selecting effects based on the structured unit, it is possible to prevent animation effects from being applied excessively beyond the intended expression purpose of the components.
[0279] As a specific example, let's assume a case in a cabinet model where door components are structured in part units and classified as candidate components.
[0280] In this case, the device (200) can search for and select an opening / closing motion animation corresponding to the door part from the animation effect database.
[0281] On the other hand, if the handle component displayed on the same screen is structured into functional units and classified as a candidate component, the device (200) can select a color change-based animation effect that highlights the position of the handle or guides the availability status.
[0282] In the process of selecting animation effects, the device (200) may use the on-screen position information or occupancy ratio of candidate components as an auxiliary criterion.
[0283] For example, for candidate components located close to the center of the screen, you can select animation effects with relatively high recognition, and for candidate components located at the periphery of the screen, you can select simple effects to reduce visual strain.
[0284] Through this, the device (200) can select an animation effect that matches the structural characteristics and visual context for each candidate component, and can prevent a situation where the expression method is uniformly applied even to components that satisfy the same viewing conditions.
[0285] As a result, animation effects can be utilized not merely as simple decoration, but as a means of information expression to convey the meaning and role of the components.
[0286] In step S305, the device (200) can determine the duration of the application of the animation effect based on the type of selected animation effect and the time the candidate component stays on the screen.
[0287] That is, the device (200) can determine the duration of application of an animation effect by referring to the type of selected animation effect and the time spent on screen of the candidate component.
[0288] In this step, by controlling when the animation effect starts and ends on the time axis, we adjust so that visual information is not provided excessively or insufficiently.
[0289] First, the time spent on screen refers to the cumulative time during which a specific candidate component remains included on the screen of the user's terminal (100).
[0290] The device (200) measures time based on the point in time when a candidate component is determined to be included in the screen, and can calculate the elapsed time until the determination of inclusion in the screen is released as the dwell time.
[0291] In this case, the dwell time may be calculated as continuous time, or as cumulative time by taking into account screen exits and re-entries.
[0292] The device (200) can set the duration of application of the animation effect using dwell time information.
[0293] The duration of application refers to the time during which an animation effect is actually maintained in the output state.
[0294] The application duration may be set to be equal to the dwell time, or it may be set to be limited to a portion of the dwell time.
[0295] For example, the animation effect can be controlled by applying it for only a short time immediately after a candidate component is first included on the screen, and then gradually increasing the duration of the animation effect if the user continues to keep the component near the center of the screen.
[0296] Conversely, if the dwell time is very short, visual clutter on the screen can be prevented by not applying animation effects or limiting the duration to a very short time.
[0297] In addition, the device (200) can set the application duration differently depending on the type of animation effect.
[0298] For example, in the case of motion-based animation effects such as rotation or movement, the application duration can be set based on the point when one motion cycle is completed.
[0299] On the other hand, for emphasis-oriented animation effects such as color changes or outline highlighting, the duration can be set to repeat for a certain period or gradually fade out.
[0300] As a specific example, let's assume a case where a cabinet door component is classified as a candidate component and an opening / closing animation is selected.
[0301] In this case, the device (200) can set the application duration to be as long as the time required for the operation to be completed so that the door opening operation can be naturally recognized.
[0302] On the other hand, if a color highlight animation is selected for the handle component, the application duration can be set so that the highlight effect is maintained only while the dwell time on the screen exceeds a certain level, and is then automatically deactivated.
[0303] The device (200) can determine whether to maintain or terminate the animation effect by continuously checking whether the application duration has elapsed.
[0304] When the duration of the application ends, the device (200) can end the animation effect and return the visual state of the component to its default state.
[0305] Conversely, if the dwell time continues to increase and the viewing conditions are maintained, control can be achieved by maintaining the application of animation effects or updating the repetition cycle.
[0306] Through this, the device (200) can control the animation effect not merely as a one-time application, but by taking into account the duration of stay on the user's terminal (100) screen and the nature of the animation effect.
[0307] As a result, animation effects naturally respond to the user's visual flow and are provided only at the timing and range necessary for information delivery, thereby simultaneously improving visual efficiency and comprehension.
[0308] In step S306, the device (200) may decide whether to maintain or disable the application of the animation effect based on whether the candidate component has moved out of the screen display area or whether the application duration has elapsed.
[0309] That is, the device (200) can determine whether to maintain or disable the application of an animation effect based on whether the candidate component has moved out of the screen display area or whether the duration of the application of the animation effect has elapsed.
[0310] In this stage, situations where animation effects must be maintained and situations where they must be terminated are distinguished, and the animation effects are controlled to be automatically cleaned up according to changes in the screen state.
[0311] First, the term "departure from the screen display area" means whether a specific candidate component is determined to no longer be included in the screen of the user's terminal (100).
[0312] The device (200) can periodically update the result of determining whether a candidate component is included within the screen to check whether the candidate component is outside the screen boundary.
[0313] For example, if a user rotates or moves the screen so that a specific component moves completely out of the screen, the device (200) can determine that the component has moved out of the screen display area.
[0314] The device (200) may decide to disable the animation effect applied to the candidate component if a screen out-of-screen is detected.
[0315] In this context, disabling an animation effect means stopping the playback of the animation effect and returning the visual state of the component to its default state or the state prior to the animation application.
[0316] This prevents situations where animation effects are unnecessarily maintained on components that are not displayed on the screen.
[0317] In addition, the device (200) can also consider whether the duration of the animation effect application has elapsed.
[0318] Whether the application duration has elapsed refers to the result of determining whether the application time of the animation effect has been fully exhausted.
[0319] The device (200) calculates the elapsed time based on the start time of the animation effect and can determine that the duration has elapsed if the time exceeds the application duration.
[0320] For example, if the emphasis effect is set to be provided only for a certain period of time, the device (200) can disable the animation effect regardless of whether it is included in the screen after that time has elapsed.
[0321] Conversely, in the case of motion-based animation effects, the completion of a single motion cycle is determined as the end of the application duration, and the animation effect can then be terminated.
[0322] The device (200) may consider whether the screen has been turned off and whether the duration of the application has elapsed, either independently or in combination.
[0323] For example, even if the candidate component remains within the screen, the animation effect can be disabled when the application duration expires.
[0324] As another example, you can decide to immediately disable the animation effect if the candidate component leaves the screen, even if the application duration has not yet ended.
[0325] As a specific example, assume a situation in which an opening and closing animation effect is applied to a door component displayed on the user's terminal (100) screen.
[0326] When the user moves the screen and the door completely disappears from the screen, the device (200) determines that the door component has moved out of the screen display area and can terminate the animation effect.
[0327] Additionally, even if the door continues to be displayed on the screen, if the opening and closing operation is completed and the set duration of application has elapsed, the animation effect can be terminated and the door can be maintained in its default state.
[0328] Through this, the device (200) can manage animation effects dependently on the screen state of the user's terminal (100), and can control the animation effects to be automatically sorted according to changes in view or the passage of time.
[0329] As a result, animation effects are provided only when necessary and immediately disabled when unnecessary, allowing screen consistency and visual stability to be maintained.
[0330] By doing so, the device (200) analyzes the viewing state on the screen of the user's terminal (100) using a plurality of quantitative indicators and controls the target of animation effect application, the type of effect, the duration of application, and the release time in stages, thereby providing selective and meaningful animation effects only to components that correspond to the user's actual attention state.
[0331] FIG. 4 is a flowchart illustrating the process of outputting a 3D model with animation effects reflected according to one embodiment to a user's terminal.
[0332] Referring to FIG. 4, first, in step S401, the device (200) can highlight the candidate component on the screen of the user's terminal in a visual display state that is distinguished from the non-candidate component.
[0333] That is, when the device (200) outputs a 3D model with animation effects to the user's terminal (100), it can highlight candidate components in a visual display state that is distinguished from non-candidate components.
[0334] Here, a candidate component refers to a component classified as a target for or scheduled to have animation effects applied, by satisfying the visibility judgment indicator and pre-set criteria.
[0335] Non-candidate components refer to the remaining components that make up the same 3D model but are not included in the application of animation effects.
[0336] A visual display state refers to an output state applied so that a specific component can be recognized as distinct from other components on the screen of the user's terminal (100).
[0337] Visual display states may include the color, brightness, transparency, outline, outline highlighting effect, shading, or a combination thereof of the component.
[0338] This visual display state is distinct from the animation effect itself and is utilized as a means of information representation to indicate whether or not the animation effect is actually applied.
[0339] The device (200) can control the candidate component so that it is intuitively identified on the user's terminal (100) screen by applying a visual display state to the candidate component that contrasts with the non-candidate component.
[0340] For example, non-candidate components can be displayed in a basic color or translucent state, while candidate components can be displayed with relatively high brightness, vivid colors, or outline emphasis applied.
[0341] As another example, candidate components can be distinguished by displaying an accent border around their outlines or by selectively applying shading only to the candidate components.
[0342] At this time, the device (200) can output non-candidate components together on the same screen without completely hiding them, so that the candidate components with the applied highlighting do not harm the spatial context of the entire 3D model.
[0343] This allows the user to immediately recognize which components are involved in the current animation effect application while maintaining the structure of the entire 3D model.
[0344] As a specific example, assume a situation in which a 3D model of a storage cabinet is displayed on the user's terminal (100) screen and a door component is classified as a candidate component.
[0345] In this case, the device (200) displays the door components with vivid colors and outline highlights, and non-candidate components such as the inner shelf or outer frame may be displayed in a basic color or at a low level of highlight.
[0346] This allows users to intuitively distinguish components to which animation effects have been applied or are scheduled to be applied, without separate explanations.
[0347] The device (200) can control these visual display states independently of whether the animation effect is actually applied.
[0348] In other words, the highlighted state can be maintained even if the animation effect is not applied immediately, and can be changed in conjunction with the timing or duration of the animation effect application in a later stage.
[0349] Through this, the device (200) can clearly distinguish and display candidate components and non-candidate components during the process of outputting a 3D model with animation effects, thereby visually clarifying the priority of information delivery on the user's terminal (100) screen.
[0350] As a result, users can quickly recognize the components to focus on on the current screen and more easily understand the meaning of the animation effects provided thereafter.
[0351] In step S402, the device (200) may display, for each highlighted candidate component, the reason why the candidate component is subject to animation effects because it satisfies a viewing judgment indicator as UI information corresponding to at least one of whether it is included within the screen, its relative position to the center of the screen, or its occupancy ratio within the display area.
[0352] That is, for each highlighted candidate component, the device (200) can display the reason why the candidate component is classified as a target for animation effect application as UI information.
[0353] Here, UI information refers to an information expression element that is visually provided through the screen of the user's terminal (100) and conveys to the user the basis for the judgment that a specific component is subject to animation effects.
[0354] The device (200) may display information corresponding to at least one of whether a candidate component is included within the screen, its relative position to the center of the screen, or its occupancy ratio within the display area as UI information to explain the reason why the candidate component satisfies the viewing judgment indicator.
[0355] This UI information is not limited to simple text descriptions and may be provided in the form of icons, markers, labels, visual indicators, or a combination thereof.
[0356] First, UI information corresponding to whether a candidate component is included in the screen means information for visually guiding the fact that the candidate component is currently being displayed on the user's terminal (100) screen.
[0357] For example, the device (200) may display a marker connected in the direction of the screen border for a candidate component included in the screen, or place an icon indicating the inclusion status in the screen near the component.
[0358] This allows the user to recognize that the component has become the target of the animation effect because it is within the current field of view.
[0359] Next, UI information corresponding to the position relative to the center of the screen refers to information intended to indicate that the candidate component is located near the center of the screen.
[0360] The device (200) can display UI elements that visually represent the relative distance or direction between the screen center and the candidate component.
[0361] For example, you can add an auxiliary indicator around the candidate component pointing toward the center of the screen, or display a UI in the form of a color change or gauge indicating the proximity to the center.
[0362] In addition, UI information corresponding to the occupancy ratio within the display area refers to information intended to indicate that the proportion of a candidate component occupied on the screen is above a certain level.
[0363] The device (200) can display a relatively prominent highlight, size change, or area-proportional indicator for candidate components with a high occupancy rate.
[0364] Through this, users can intuitively understand that the component has become the target for animation effects because it occupies a significant portion of the screen.
[0365] As a specific example, assume a situation in which a cabinet door component is highlighted as a candidate component on the user's terminal (100) screen.
[0366] In this case, the device (200) can output a simple gauge display indicating a high screen occupancy rate, along with an icon indicating proximity to the center of the screen near the door component.
[0367] This allows users to understand, without separate explanation, that the door is classified as a target for animation effects because it is located in the center of the screen and occupies a large area.
[0368] The device (200) may display multiple UI information corresponding to the case where multiple reasons for judgment are applied simultaneously.
[0369] For example, for candidate components that satisfy both the conditions of being included within the screen and being close to the center of the screen, UI elements corresponding to both conditions can be displayed in parallel.
[0370] Additionally, the device (200) may apply the display intensity or form of UI information differently depending on the number or importance of the reasons for judgment.
[0371] Through this, the device (200) can clearly convey on the user's terminal (100) screen that the animation effect was selected based on certain viewing conditions, rather than simply being automatically applied.
[0372] As a result, users can intuitively understand the reason for the application of animation effects, and the reliability and understanding of the visual information provided during the 3D model exploration process can be improved.
[0373] In step S403, the device (200) can predict and display the type of animation effect to be applied to the candidate component and the time of application or the expected duration of the animation effect using at least one UI element among an icon, a gauge, a timer display, or a gradual color change.
[0374] That is, for each candidate component, the device (200) can predict and display, through UI elements, the type of animation effect to be applied to the candidate component and the scheduled time or expected duration of the animation effect application.
[0375] Here, a predictive indicator refers to a visual display provided to inform the user in advance of the future state of an animation effect's operation, either before the animation effect is actually applied or while it is in progress.
[0376] The type of animation effect refers to the type of visual expression method to be applied to the candidate component, and may include rotation, translation, emphasis, color change, transparency change, or a combination thereof.
[0377] The scheduled application time refers to the point in time when the animation effect is expected to actually start, and the estimated duration refers to the time during which the animation effect is expected to remain applied.
[0378] The device (200) can display this information on the user's terminal (100) screen using UI elements.
[0379] UI elements may be provided in the form of icons, gauges, timer displays, gradual color changes, or combinations thereof, and may be placed at locations spatially associated with candidate components.
[0380] For example, as a UI element corresponding to the type of animation effect, the device (200) may display an icon indicating the rotation direction for a candidate component for which a rotation animation is scheduled.
[0381] If a movement animation is scheduled, an arrow-shaped icon indicating the direction of movement can be displayed.
[0382] If emphasis-focused animation effects are planned, visual markers suggesting color changes or flashing may be displayed.
[0383] As a UI element corresponding to the scheduled application time, the device (200) may display a countdown-type timer display or a gauge that changes step by step when the animation effect starts after a certain amount of time.
[0384] This allows users to know in advance whether the animation effect is applied immediately or after certain conditions are met.
[0385] As a UI element corresponding to the expected duration, the device (200) can represent the time during which the animation effect is expected to be maintained as a gauge length, a color change step, or a time display number.
[0386] For example, you can set the gauge to be displayed longer or the color to change gradually as the expected duration increases.
[0387] Conversely, if the expected duration is short, screen complexity can be reduced by providing only a simple display.
[0388] As a specific example, assume a situation in which a door component displayed on the user's terminal (100) screen is classified as a candidate component.
[0389] In this case, the device (200) may display an icon indicating an opening / closing operation near the door component and provide a short timer display indicating the time when an animation effect is scheduled to be applied.
[0390] Additionally, if the animation effect is expected to last for a certain period of time, a gauge visually indicating that duration can be displayed along with it.
[0391] The device (200) can manage information provided through predicted displayed UI elements separately from the actual application of animation effects.
[0392] In other words, the prediction indicator is not a factor that determines whether or not to apply animation effects, but can be used as reference information to adjust the output state in a later stage or to change controls based on user input.
[0393] Through this, the device (200) can provide advance notice on the user's terminal (100) screen of when, in what way, and for how long the animation effect will be maintained.
[0394] As a result, users can explore the 3D model while predicting the behavior of animation effects, and receive a stable user experience without confusion or unexpected screen changes caused by animation effects.
[0395] In step S404, the device (200) uses the type of animation effect, the scheduled time of application, or the expected duration displayed as a UI element for each candidate component as reference information for adjusting or displaying the output state, and can control the output of the animation effect corresponding to the candidate component to be set differently according to an output control standard set independently of the view judgment indicator, even if the same view judgment indicator is satisfied.
[0396] That is, for each candidate component, the device (200) can use the type of animation effect predicted as a UI element, the time of application, or the expected duration as reference information for adjusting or displaying the output state.
[0397] At this time, even if candidate components satisfy the same visibility judgment indicator, the animation effects corresponding to the candidate components can be controlled to be different according to output control criteria set independently of the visibility judgment indicator.
[0398] Here, output control criteria refer to reference information set to determine the output method, emphasis level, or expression intensity of animation effects for each candidate component, in addition to the viewing angle judgment indicator.
[0399] The output control criterion acts as a judgment axis separate from the field of view judgment indicator and is utilized as a control criterion to create differences in representation between components even under the same field of view conditions.
[0400] Output control criteria may include elements such as the structured unit of the candidate component, the functional role performed by the candidate component, the visual importance of the candidate component, or the type of service.
[0401] For example, candidate components structured by part and candidate components structured by function can be controlled to output different animation effects even if they satisfy the same visibility judgment metric.
[0402] The device (200) can adjust the expression intensity, repetition, application duration, or visual emphasis level of the animation effect according to the output control criteria.
[0403] For example, relatively strong emphasis effects or repeating animations can be applied to candidate components that need to attract the user's attention.
[0404] On the other hand, for candidate components intended for simple guidance purposes, control can be applied to apply only simple animation effects with a short duration.
[0405] As a specific example, a situation is assumed in which multiple candidate components are simultaneously displayed on the screen of a user's terminal (100), and all of them equally satisfy the screen center proximity condition and the occupancy ratio condition.
[0406] In this case, the device (200) can be controlled to output an animation effect including an opening and closing motion for a major motion target component such as a door.
[0407] At the same time, auxiliary components such as handles can be controlled to output only animation effects centered on color changes or outline emphasis.
[0408] Additionally, the device (200) may not apply the type and expected duration of the animation effect displayed as a UI element as is, but may output it after making some adjustments according to the output control criteria.
[0409] For example, even if the predicted displayed duration is set to a long duration, the duration can be shortened or the number of repetitions limited according to the output control criteria.
[0410] In this way, the predicted display information can be used as reference information to determine the final output state of the animation effect.
[0411] The device (200) can prevent the output of animation effects from being uniform even when candidate components satisfying the same viewing judgment indicator exist simultaneously on the screen by using output control criteria.
[0412] Through this, users can visually distinguish and recognize the role and importance of each component, and intuitively understand that animation effects function as a control means for conveying information rather than being mere decoration.
[0413] As a result, the device (200) can finely adjust the expression method of the animation effect by combining additional output control criteria for candidate components selected by the viewing conditions.
[0414] This allows the priority of information and the transmission of meaning to be more clearly conveyed on the 3D model output screen.
[0415] For a detailed explanation regarding this, refer to Fig. 6.
[0416] In step S405, the device (200) can update and display the scheduled time of application or the estimated duration of the predicted animation effect in real time when the viewing judgment indicator changes according to the change in viewing angle on the screen of the user's terminal.
[0417] That is, the device (200) can update and display the scheduled time of application or the estimated duration of the predicted animation effect in real time when the viewing judgment indicator changes according to the change in viewing angle on the user's terminal (100) screen.
[0418] Here, a change in view means a situation in which the conditions for viewing 3D space are changed by screen operations such as moving, rotating, zooming in, or zooming out on the user's terminal (100) screen.
[0419] The device (200) can continuously detect changes in screen status information or camera parameters transmitted from the user's terminal (100) and update the field of view judgment indicator.
[0420] For example, when a user drags the screen to rotate the viewpoint, the device (200) can update the virtual viewpoint direction and the virtual field of view range to calculate a new field of view judgment indicator.
[0421] In addition, when the screen is enlarged or reduced, the factors affecting the calculation of the occupancy ratio within the display area change, so the device (200) can recalculate the viewing judgment indicator by reflecting the change.
[0422] The device (200) can re-evaluate whether the animation effect application condition is still maintained for each candidate component based on the updated view judgment indicator.
[0423] At this time, the re-evaluation may be performed including whether the candidate component is included within the screen, its position relative to the center of the screen, and whether there is a change in the occupancy ratio within the display area.
[0424] The device (200) can update and display the scheduled application time or estimated duration of the predicted animation effect in real time by reflecting the results of this re-evaluation.
[0425] For example, if a candidate component moves further away from the center of the screen, the device (200) can update the display by delaying the scheduled time of application of the animation effect or by gradually decreasing the expected duration.
[0426] Conversely, if a candidate component moves to the center of the screen or its occupancy rate increases, the update display can be made by advancing the scheduled application time or increasing the estimated duration.
[0427] As a specific example, assume a situation in which an animation effect is to be applied to a door component displayed on the user's terminal (100) screen.
[0428] When the user moves the viewpoint and the door begins to move away from the center of the screen, the device (200) can update the UI element in a way that delays the scheduled time for applying the animation effect to the door component.
[0429] At the same time, the decrease in duration can be visually indicated by reducing the length of the gauge representing the estimated duration or by changing the color.
[0430] As another example, if the user moves the viewpoint again to bring the door component to the center of the screen, the device (200) can update the UI element in real time by advancing the scheduled time for the application of the animation effect and increasing the expected duration.
[0431] This allows users to intuitively perceive how the application state of animation effects changes according to their view manipulation.
[0432] The device (200) can perform these update indications independently of the actual application of the animation effect.
[0433] In other words, updating the prediction display does not mean that the animation effect is immediately applied or removed, and whether it is finally applied may be determined in a later stage based on user input or additional conditions.
[0434] Through this, the device (200) can reflect the change in view occurring on the user's terminal (100) screen in real time and continuously provide the application status of the animation effect in the form of prediction information.
[0435] As a result, users can recognize the animation effects in advance while exploring the 3D model and predict the results of their view manipulation, thereby providing a more stable and consistent user experience.
[0436] In step S406, the device (200) can regenerate animation effect application conditions to maintain, delay, or release the application of the predicted displayed animation effect according to user input received through the user's terminal.
[0437] That is, the device (200) can regenerate the animation effect application conditions to maintain, delay, or release the application of the predicted displayed animation effect according to user input received through the user's terminal (100).
[0438] Here, user input means touch input, gesture input, click input, button selection, slider operation, or a combination thereof, which is input through the user's terminal (100).
[0439] The device (200) can interpret user input as an explicit indication of intent to directly control the application state of an animation effect.
[0440] In other words, user input is utilized as an additional judgment factor to assist or adjust the animation effect application state automatically determined by the field of view judgment indicator.
[0441] The device (200) can regenerate animation effect application conditions in different ways depending on the type of user input.
[0442] For example, if a user performs an input selecting a specific candidate component, the device (200) can regenerate to maintain the conditions for applying animation effects to the candidate component.
[0443] Conversely, if the user performs an input to temporarily pause or disable the animation effect, the animation effect application condition for the corresponding candidate component can be recalculated to be disabled.
[0444] Additionally, the device (200) may regenerate conditions that delay the application time of the animation effect through user input.
[0445] For example, if a user performs an input to delay the application by manipulating a UI element indicating the scheduled time for the application of a predicted animation effect, the device (200) can reset the scheduled time for application and regenerate conditions to delay the application of the animation effect.
[0446] The device (200) may subdivide the conditions for applying animation effects by considering the intensity, duration, or number of repetitions of user input.
[0447] For example, the condition can be recalculated by interpreting a short touch input as maintaining the animation effect and a long press input as releasing the animation effect.
[0448] By reflecting the characteristics of user input in this way, user intent can be more accurately reflected in the control of animation effects.
[0449] As a specific example, assume a situation in which an animation effect is to be applied to a door component displayed on the user's terminal (100) screen.
[0450] At this time, if the user performs an input to directly select a door component, the device (200) can regenerate to maintain the conditions for applying animation effects to the corresponding component.
[0451] Conversely, if the user selects a button to disable the display of animation effects, the device (200) can regenerate the animation effect application condition to disable it.
[0452] The device (200) can also reflect these recalculation results in predicted UI elements.
[0453] For example, if the animation effect is recalculated to be maintained, the UI display can be updated to maintain the scheduled application time or estimated duration.
[0454] Conversely, if the application is recalculated to be disabled, the display state can be changed by disabling or removing the relevant UI elements.
[0455] Through this, the device (200) can flexibly regenerate the conditions for applying animation effects by combining automatic control based on a visual judgment indicator and manual control based on user input.
[0456] As a result, users can directly adjust the application state of animation effects according to their intentions and effectively control unnecessary animation effects that may occur due to automatic control.
[0457] In step S407, the device (200) can apply or disable an animation effect corresponding to a candidate component according to the recalculated animation effect application condition and output it to the user's terminal.
[0458] That is, the device (200) can apply or disable an animation effect corresponding to a candidate component based on an animation effect application condition recalculated according to user input and output it to the user's terminal (100).
[0459] At this stage, the application or removal of animation effects corresponds to the final control step that changes the visual output state of the actual 3D model.
[0460] Here, the application of animation effects means that at least one of the position, shape, color, transparency, size, or operational state of a candidate component is controlled to change over time.
[0461] Conversely, disabling animation effects means that the candidate component is controlled to return to its default output state prior to the application of the animation effect.
[0462] The device (200) can individually determine whether to apply an animation effect to each candidate component based on the recalculated animation effect application conditions.
[0463] In other words, even when multiple candidate components exist within the same screen, animation effects can be selectively applied or deactivated by reflecting different application conditions for each candidate component.
[0464] For example, if an input to maintain an animation effect for a specific candidate component is received through the user's terminal (100), the device (200) can control the continued application of the animation effect to the candidate component.
[0465] At the same time, for other candidate components, control can be taken to disable animation effects if an input to disable animation effects is received or if the application condition is no longer satisfied.
[0466] When applying an animation effect, the device (200) can execute the animation effect by reflecting the type of animation effect previously selected, the duration of application, and the output control criteria.
[0467] For example, if an emphasis role is set for a specific candidate component, the outline of that component can be emphasized or repetitive motion animations can be applied.
[0468] If a guidance role is set for another candidate component, animations indicating the direction of movement or gradual color changes can be applied.
[0469] Conversely, when the animation effect is disabled, the device (200) can control the end point of the animation effect so that the screen transition does not occur unnaturally.
[0470] For example, instead of the animation effect stopping immediately, you can control it to gradually decrease or end naturally.
[0471] This allows users to experience stable visual transitions without confusion caused by sudden screen changes.
[0472] The device (200) can output the result of applying or removing animation effects in real time to the user's terminal (100).
[0473] Accordingly, users can immediately check the results of their field of view manipulation or input, and intuitively recognize that animation effects are being controlled according to their intentions.
[0474] Consequently, the device (200) can ultimately control the application state of animation effects for each candidate component by comprehensively reflecting the viewing judgment indicator, output control criteria, and animation effect application conditions recalculated according to user input.
[0475] Through this, animation effects on the 3D model output screen are provided in a form that combines automatic control and user control, thereby improving both the accuracy of information delivery and the consistency of the user experience.
[0476] Through this, the device (200) provides the reason for applying the animation effect, the time of application, and the duration of application as predicted information for candidate components selected according to the viewing judgment indicator, updates the information in real time according to changes in viewing and user input, and selectively controls the application state of the animation effect, thereby intuitively conveying the meaning and priority of the components during the 3D model output process and enabling user-driven interaction.
[0477] FIG. 5 is a flowchart for explaining the process of determining the application target of animation effects for each component of a 3D model according to one embodiment.
[0478] Specifically, the device (200) can identify and structure the components constituting the 3D model, and then determine the target for applying animation effects for each component of the 3D model.
[0479] Referring to FIG. 5, first, in step S501, the device (200) can classify the components to be constructed based on the type or structured unit of each component of the 3D model.
[0480] That is, the device (200) can classify the construction target components for each component constituting the 3D model to determine whether the component is a target for work during the actual construction process.
[0481] The classification at this stage is not a classification for the visual representation of the 3D model, but rather a classification for determining whether it is a work target considering the actual construction flow.
[0482] Here, the construction target component refers to a component on which operations such as transportation, installation, assembly, or fixing are performed in the actual space.
[0483] Conversely, components not subject to construction may include components that do not require separate construction work, such as decorative elements, reference guide elements, or already fixed structures.
[0484] The device (200) can classify construction target components based on the type of component.
[0485] The type of component refers to classification information indicating which type the component belongs to among walls, flooring, ceilings, doors, windows, furniture, equipment, or plumbing elements.
[0486] This type of information can be identified through metadata included in the 3D model data, object attribute information, or tag information assigned during the modeling phase.
[0487] In addition, the device (200) can classify construction target components based on units in which the components are structured.
[0488] A structured unit refers to whether a component is structured into mesh units, part units, or functional units, and this is directly related to the component's construction unit.
[0489] For example, components structured by functional units are likely to be treated as a single work unit during actual construction, so they can be classified as components subject to construction.
[0490] The device (200) may classify the construction target components by considering the types of components and structured units in combination.
[0491] For example, even if the furniture components are identical, if they are structured as a single functional unit, they can be classified as components subject to construction.
[0492] On the other hand, components subdivided into mesh units, such as detailed decorative elements, can be classified as components that are not subject to construction.
[0493] As a specific example, assume a case where the 3D model displayed on the user's terminal (100) includes a kitchen space.
[0494] In this case, the device (200) can classify components such as the sink body and upper cabinet as components to be constructed.
[0495] On the other hand, virtual light sources or guide icons used to express lighting effects can be classified as components that are not subject to construction.
[0496] The device (200) can use these classification results as basic information for setting work steps, calculating work required space, and determining the target for applying animation effects in subsequent steps.
[0497] This prevents animation effects from being applied to components unrelated to the construction process and allows control so that visual guidance is provided only to components linked to the actual workflow.
[0498] As a result, the device (200) can selectively classify components of the 3D model that are directly related to actual construction, thereby allowing the subsequent decision to apply animation effects to reflect realistic construction situations.
[0499] In step S502, the device (200) can set work step information for each classified construction target component by referring to a predefined construction sequence standard or user input information.
[0500] That is, the device (200) can set work stage information indicating at what point in the actual construction process the component is worked on for each component classified as a construction target component.
[0501] At this stage, work step information serves to distinguish the spatiotemporal flow temporally or procedurally, and is directly utilized to determine the timing and target for applying animation effects.
[0502] Here, work phase information refers to phase identification information defined based on the sequence in which the construction target components are transported, installed, assembled, or fixed.
[0503] Work step information is not limited to simple sequence number information and may also include methods of grouping multiple work steps into a single group or setting tasks performed in parallel to the same step.
[0504] The device (200) can set work step information by referring to a predefined construction sequence standard.
[0505] Construction sequence standards refer to standard construction sequence information that is generally applied to a specific space or structure.
[0506] For example, criteria such as the order in which furniture is installed after wall construction or the order in which equipment is installed after floor finishing can be used as standards for the construction sequence.
[0507] These construction sequence criteria can be provided through a construction-related database stored in the device (200), predefined information by project type, or construction rule information by domain.
[0508] The device (200) can selectively apply construction sequence standards suitable for a component by referring to the type, structured unit, or location information of the component to be constructed.
[0509] In addition, the device (200) may set work step information by referring to user input information entered by the user.
[0510] Here, user input information refers to information such as a request to change the construction order, a designation of a priority work target, or a designation of the work time of a specific component, which is entered through the user's terminal (100).
[0511] For example, if the user inputs that a specific furniture component be installed first, the device (200) can set the work step information of the furniture component to an earlier step.
[0512] Conversely, if input is made to move a specific equipment component to a subsequent step, the work step information of that component can be reset to a later step.
[0513] The device (200) can set work step information by considering predefined construction sequence standards and user input information together.
[0514] In this case, the settings can be configured to maintain the basic construction sequence standards while adjusting only the work steps of some components to reflect exceptions specified by user input.
[0515] As a specific example, assume a case where the 3D model displayed on the user's terminal (100) includes a bathroom space.
[0516] The device (200) can set the floor finishing components as the initial work stage and the washbasin and shower booth as the subsequent work stage.
[0517] At the same time, if the user inputs that the washbasin be installed first, the device (200) can reset the work step information of the washbasin components to the step immediately following the floor finishing.
[0518] The device (200) can use the work step information set in this way as reference information for calculating the work requirement space and determining the target for applying animation effects in subsequent steps.
[0519] This allows for the control of animation effects so that they are not applied based on simple viewing conditions, but are provided step-by-step in conjunction with the actual flow of space-time.
[0520] As a result, the device (200) can establish a foundation for providing animation effects that help understand the construction process and guide each work step by clearly defining the work sequence for each construction target component.
[0521] In step S503, the device (200) can calculate the required work space for carrying, installing, or assembling each component according to the work step information.
[0522] That is, the device (200) can calculate the required work space for actual work performance for each construction target component based on work stage information.
[0523] At this stage, the concept of work required space includes not only the shape of the component itself but also the space required by workers during the process of transporting, installing, or assembling the component.
[0524] Here, the work requirement space refers to the range of space that a specific component must occupy or pass through while a task is being performed on that component.
[0525] The required workspace may include not only the final installation location of the components, but also the transport path, turning radius, assembly motion range, etc.
[0526] The device (200) can calculate the required workspace by referring to the size, shape, center of gravity location, and structured unit of the components.
[0527] For example, in the case of large furniture components consisting of a single part, rotation or tilting is required while moving to the installation location, so extra space to account for such movements may be included in the required workspace.
[0528] In addition, the device (200) can calculate the range of the work requirement space differently depending on the work step information.
[0529] In the initial work phase, since the transportation of components is the primary task, the space centered on the movement path can be calculated as the required work space.
[0530] On the other hand, since assembly or fixing is the primary task in the subsequent work phase, the required workspace can be calculated based on the range of work movements around the installation location.
[0531] The device (200) can calculate the work requirement space as volume information in a 3D spatial coordinate system.
[0532] In this case, the required workspace can be expressed in various ways, such as a box shape, a cylinder shape, or a shape that extends the outer profile of the component.
[0533] This representation method can be selected by considering the accuracy of the work requirement space and computational efficiency.
[0534] As a specific example, assume a case where the 3D model displayed on the user's terminal (100) includes a storage cabinet.
[0535] The device (200) can calculate a movement path space that is expanded beyond the outer size of the storage cabinet as a work requirement space during the stage of transporting the storage cabinet body.
[0536] Subsequently, in the step of installing the storage cabinet on the wall, the space extended a certain distance forward from the wall can be calculated as the required workspace.
[0537] As another example, in the case of furniture components that require assembly, the device (200) can calculate the required work space, including the parts unfolding area required during the assembly process and the range of motion of the worker.
[0538] This enables space calculation that reflects the entire actual work process, rather than relying solely on the final installation state.
[0539] The device (200) can use the work requirement space information calculated in this way as reference information for determining whether there is space interference in a subsequent step.
[0540] In other words, the work requirement space functions as a spatial unit for determining whether it overlaps with other components or spatial boundaries.
[0541] As a result, the device (200) can calculate a spatial range that takes into account realistic work movements for each construction target component, thereby allowing the determination of animation effect application to reflect actual construction feasibility.
[0542] In step S504, the device (200) can determine whether the calculated work requirement space can be secured within the 3D space where the 3D model is placed without overlapping with or encroaching upon other components or space boundaries.
[0543] That is, the device (200) can determine whether the work required space can actually be secured within the 3D space where the 3D model is placed.
[0544] This stage corresponds to the realism judgment stage for determining whether animation effects can be applied to the components to be constructed.
[0545] Here, spatial boundaries refer to the outer limits of walls, floors, ceilings, or virtual spaces that constitute 3D space.
[0546] In addition, other components include other construction target components or non-construction target components that are placed within the same 3D model and exist in a fixed state during the corresponding work stage.
[0547] The device (200) can determine whether there is an overlap between the work requirement space and the space occupied area of other components.
[0548] Overlapping means a state in which part or all of the work requirement space overlaps with the space occupied by other components.
[0549] If such overlap occurs, it may be determined that the transportation, installation, or assembly of components is realistically difficult to perform at the relevant work stage.
[0550] Additionally, the device (200) can determine whether the work request space encroaches on the space boundary.
[0551] Intrusion refers to a state in which a required workspace extends beyond spatial boundaries, such as walls, floors, or ceilings, or occupies an unauthorized area within those boundaries.
[0552] For example, if the required workspace to rotate a large component in a space with a low ceiling exceeds the ceiling height, it may be deemed an infringement of the space boundary.
[0553] The device (200) can perform spatial collision checks in a 3D spatial coordinate system or determine whether there is an intersection between volumes to determine whether there is such overlap or encroachment.
[0554] In this case, the judgment can be made based on the location, size, and shape information of the work requirement space and other components or space boundaries.
[0555] As a specific example, assume a case where the 3D model displayed on the user's terminal (100) includes a narrow corridor.
[0556] The device (200) can determine whether the calculated work requirement space for a furniture component that must be transported through the corridor overlaps with the corridor wall.
[0557] If it is confirmed that overlap occurs as a result of this judgment, the component in question may be determined to be difficult to construct at that work stage.
[0558] As another example, consider the case where an overhead cabinet is installed in a space with limited ceiling height.
[0559] The device (200) can determine whether the required workspace for lifting the upper cabinet encroaches upon the ceiling boundary.
[0560] In this case, if it is determined that an intrusion occurs, it may be determined that construction of the relevant component is impossible during the work phase.
[0561] The device (200) can store these judgment results as binary judgment information or graded judgment information.
[0562] For example, the judgment results can be classified into forms such as secureable, partially secureable, and unsecureable.
[0563] This classification method can be utilized in the subsequent stage of determining the target for animation effect application.
[0564] The device (200) can determine that the component is in a state where it can be constructed at the corresponding work stage only if the work required space can be secured without overlapping with or encroaching upon other components or space boundaries.
[0565] This allows you to prevent animation effects from being applied in advance to situations where construction is realistically impossible.
[0566] As a result, the device (200) can determine the feasibility of the work by reflecting actual space constraints, thereby enabling the determination of animation effect application to be used as a realistic construction review tool rather than a simple visual presentation.
[0567] In step S505, the device (200) can determine, based on the judgment result, the component to be constructed at each work stage as the target for applying the animation effect.
[0568] That is, the device (200) can determine the construction target components to which animation effects will be applied at each work stage based on the result of determining the possibility of securing the required work space.
[0569] This stage corresponds to the final selection step for providing animation effects only to components directly linked to the construction process.
[0570] Here, the targets for animation effects refer to components determined to be actually installable at the relevant work stage that require visual guidance to the user regarding the construction sequence, workflow, or precautions.
[0571] In other words, among the components subject to construction, only those for which space can be secured and work can be realistically performed are selected for the application of animation effects.
[0572] The device (200) can prioritize determining the component for which the required workspace is determined to be available as the target for applying animation effects.
[0573] Conversely, components for which it is determined that the required workspace cannot be secured may be excluded from the application of animation effects during that work stage.
[0574] This prevents situations where incorrect guidance is provided regarding components that cannot be installed.
[0575] The device (200) can determine the target for applying animation effects by linking the results of the probability assessment step by step.
[0576] For example, if space cannot be secured for a specific component during the initial work phase but becomes available during the work phase after the installation of the preceding component is completed, it can be determined to be the target for applying animation effects only during that subsequent work phase.
[0577] In addition, the device (200) can adjust the timing of the application of animation effects by considering work step information and the result of determining the possibility of securing space together.
[0578] For example, even for the same component, the application of animation effects may vary depending on the work stage, which enables step-by-step guidance according to the workflow.
[0579] As a specific example, assume a case where the 3D model displayed on the user's terminal (100) includes a living room space.
[0580] If the device (200) determines that the required workspace for the installation of the sofa component cannot be secured in the initial stage, it may not be determined as a target for applying animation effects in that stage.
[0581] Subsequently, at the stage where the table is moved and space is secured, the sofa component can be selected as the target for animation effects to guide the installation location and movement path.
[0582] The device (200) can transmit the animation effect application target information determined in this way to the animation effect creation step.
[0583] Through this, animation effects are limited to components and work stages where actual construction is possible.
[0584] As a result, the device (200) determines the target for applying animation effects by comprehensively reflecting the construction sequence, work required space, and space constraints, thereby allowing the 3D model to be used not as a simple visual representation tool, but as a practical tool to explain and review the actual construction flow.
[0586] Through this, the device (200) analyzes the components of the 3D model based on actual construction flow and workspace constraints, and selects only the components for which construction is possible at each work stage as targets for animation effect application, thereby enabling the 3D model to be utilized not as a simple visual representation means, but as a practical tool that supports realistic construction review and work guidance.
[0587] FIG. 6 is a flowchart illustrating the process of controlling the output of animation effects for each candidate component according to one embodiment.
[0588] Referring to FIG. 6, first, in step S601, the device (200) can determine, for each candidate component, the functional role that the animation effect applied to the component is to perform.
[0589] That is, the device (200) can determine, for each candidate component, the functional role that the animation effect applied to the component must perform.
[0590] At this time, the functional role is not merely to provide visual effects, but is utilized as a classification criterion to distinguish the purpose of information to be conveyed to the user on the user's terminal (100) screen.
[0591] Here, the functional role refers to the purpose of conveying information to be achieved on the user's terminal (100) screen by outputting animation effects to the candidate components.
[0592] Functional roles may include at least one of an emphasis role to attract the user's attention, a guidance role to guide the order or relationship between components, a warning role to inform of potential conflicts between components or operational precautions, or an explanation role to explain the state or characteristics of the components.
[0593] That is, even if the same candidate component is used, the priority of a functional role may vary depending on the screen situation and user intent, and the device (200) can selectively determine the functional role by reflecting this.
[0594] The emphasis role means a role to focus the user's attention on a specific candidate component on the user's terminal (100) screen.
[0595] For example, regarding a component that has a high screen occupancy rate or is close to the center of the screen and is likely to be already being noticed by the user, the device (200) can determine that the component has an emphasis role and set an animation effect to have the purpose of inducing attention.
[0596] The guidance role refers to the role of conveying the order or relationship between multiple candidate components to the user.
[0597] For example, if components need to be installed step by step according to the assembly order, or if a specific component is an attachment or connection target of another component, the device (200) can determine a guidance role to make the relationship understandable on the screen.
[0598] The warning role refers to the function of notifying of potential conflicts between candidate components and other components, or operational precautions.
[0599] For example, if a candidate component is displayed on the screen of a user's terminal (100) in a position that is close to or overlaps with another component, and there is a possibility that this may cause work interference, the device (200) may determine the functional role of the candidate component as a warning role.
[0600] In addition, the warning role may be determined to take precedence even if the user selects a component requiring attention at a specific task step or performs input that activates the risk notification UI.
[0601] The description role refers to the role of conveying the status or characteristics of a candidate component to the user.
[0602] For example, in order to help the user understand attribute information such as the material, specifications, joining method, operating range, or installation conditions of a specific component, the device (200) may determine the functional role of the candidate component as an explanatory role.
[0603] The device (200) may refer to at least one of the structured unit of a candidate component, the position or ratio displayed on the screen, the time spent on the screen, and user input information to determine the functional role.
[0604] Here, the structured unit refers to information indicating whether a candidate component is structured at the mesh unit, part unit, or function unit level, and can be used as a criterion to determine the extent to which the component is actually treated as a single work unit.
[0605] The position or ratio displayed on the screen refers to information indicating how close a candidate component is to the center of the screen or how much area it occupies on the screen.
[0606] The device (200) can determine the emphasis role or explanation role preferentially by determining that the likelihood of user recognition is high when a candidate component is close to the center of the screen or has a large occupancy rate.
[0607] On-screen dwell time refers to the time that a candidate component is continuously displayed on the screen for a certain period of time or longer.
[0608] The device (200) determines that the longer the dwell time, the higher the likelihood that the user is observing the component, and thus determines the explanation role first, or selectively determines the guidance role when repetitive guidance is required.
[0609] User input information refers to input information received through the user's terminal (100), such as selection, click, touch, long press, button activation, or setting change.
[0610] For example, if a user performs an input that directly selects a specific candidate component, the device (200) may determine that the user has an intention to check the meaning or state of the component and determine the explanation role first.
[0611] Additionally, if the user performs an input that activates a danger or collision-related indicator, the device (200) may determine the warning role first.
[0612] As a specific example, assume a situation in which a door component and a handle component are simultaneously displayed as candidate components on the user's terminal (100) screen.
[0613] If the door component is structured in functional units, is close to the center of the screen, and has a long dwell time, the device (200) can determine the explanation role or emphasis role for the door component first.
[0614] On the other hand, if the handle component is structured in parts and the user needs to be informed of its connection to the door, the guide role of the handle component can be considered the priority.
[0615] As another example, consider a case where a specific candidate component occupies a small portion of the screen but is displayed in a position that overlaps with other components, potentially causing interference with operations.
[0616] The device (200) can determine the warning role for the corresponding candidate component and apply an animation effect for warning purposes in a subsequent step.
[0617] Through this, the device (200) can concretize the purpose of information transmission that the animation effect must perform into a functional role form, even for candidate components that satisfy the same viewing conditions, depending on the screen situation and user intention.
[0618] As a result, different output control criteria can be set for each candidate component in subsequent stages, and animation effects can be provided differentially according to the meaning and priority of the components.
[0619] In step S602, the device (200) can be controlled to output output control criteria that include at least one of the display method, operation type, emphasis level, or application duration of the animation effect, by redefining them differently for each component based on information referenced to determine the functional role.
[0620] That is, the device (200) can redefine the output control criteria for animation effects to be applied to each candidate component based on the functional role of each candidate component.
[0621] At this stage, the output control criteria are configured to correspond to functional roles as specific control rules for determining how animation effects are displayed on the screen.
[0622] Here, output control criteria means control criteria including at least one of the display method, action type, emphasis level, or application duration of the animation effect.
[0623] Output control criteria are not fixed rules applied commonly to all candidate components, but can be set differently depending on the functional role determined for each candidate component.
[0624] The device (200) can redefine the output control criteria for the candidate component determined to be in a way that effectively attracts the user's attention.
[0625] For example, display methods that repeatedly emphasize the outlines of the candidate components or increase color contrast can be applied.
[0626] In addition, the motion type can be set to a repeating zoom-in / zoom-out, blinking, or repeated movement, and the application duration can be set to a relatively long duration.
[0627] For candidate components identified as serving a guidance role, the output control criteria can be redefined to allow for an intuitive understanding of the sequence or relationship between the components.
[0628] For example, directional animations indicating the installation order, stepwise displays, or linear motion effects indicating connection relationships can be applied.
[0629] In this case, the emphasis level can be limited so as not to be excessive, and output control criteria can be set to an appropriate duration that allows the user to recognize the relationship.
[0630] For candidate components identified as having a warning role, the output control criteria can be redefined to draw the user's immediate attention.
[0631] For example, red-toned color changes, rapid flashing, visual movements similar to vibration, or short, repetitive motion patterns can be applied.
[0632] In this case, even if the application duration is short, it can be set to be output repeatedly so that risks or precautions are clearly conveyed.
[0633] For candidate components determined to serve an explanatory role, the output control criteria can be redefined in a way that can stably transmit the state or characteristics of the component.
[0634] For example, display methods such as gradual movement rather than abrupt motion, stepwise color changes, or changes in transparency can be applied.
[0635] In addition, the application duration can be set to a relatively long duration to allow users sufficient time to check the information.
[0636] Even if the device (200) is a candidate component determined to have the same functional role, it can finely adjust the output control criteria according to the structured unit, on-screen position, or user input information of the candidate component.
[0637] For example, even if the guidance role is the same, a clearer form of operation can be applied to components structured by function, and a concise display method can be applied to components structured by part.
[0638] In addition, the device (200) may temporarily change the output control criteria according to user input information.
[0639] For example, if a user performs input to select or zoom in on a specific candidate component, the output control criteria of that component can be redefined to suit the explanatory role, thereby providing more detailed animation effects.
[0640] As a specific example, assume a situation in which a door component and an adjacent wall component are simultaneously displayed as candidate components on the user's terminal (100) screen.
[0641] The device (200) can redefine the output control criteria to apply an animation effect that repeatedly displays the door opening and closing direction when an emphasis role is determined for the door component.
[0642] On the other hand, if a warning role is determined for a wall component, the output control criteria can be redefined to display the potential interference area with a short, strong visual effect when the door is opened or closed.
[0643] Through this, the device (200) can control the functional role judgment result not to be limited to simple classification information, but to be directly reflected in the actual screen output method so that different animation effects are provided for each candidate component.
[0644] As a result, even for candidate components that satisfy the same viewing conditions, animation effects appropriate to the role and situation of each component are provided, allowing users to interpret the 3D model screen more intuitively and meaningfully.
[0645] In this way, the device (200) determines the functional role that an animation effect must perform for a candidate component that satisfies the viewing conditions, and by redefining and applying the output control criteria corresponding to the role for each component, it can intuitively distinguish and convey the meaning, priority, and need for attention of the component even in the same viewing environment.
[0646] FIG. 7 is an example diagram of the configuration of a device according to one embodiment.
[0647] A device (200) according to one embodiment includes a processor (210) and a memory (220). A device (200) according to one embodiment may be the server or terminal described above. The processor (210) may include at least one device described above through FIGS. 1 to 6 or perform at least one method described above through FIGS. 1 to 6. The memory (220) may store information related to the method described above or store a program in which the method described above is implemented. The memory (220) may be volatile memory or non-volatile memory.
[0648] The processor (210) can execute a program and control the device (200). The code of the program executed by the processor (210) can be stored in memory (220). The device (200) can be connected to an external device (e.g., a personal computer or a network) through an input / output device (not shown in the drawing) and exchange data.
[0649] The embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using one or more general-purpose or special-purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and one or more software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are also possible.
[0650] The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., either alone or in combination. The program instructions recorded on the medium may be those specifically designed and configured for the embodiment, or they may be those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.
[0651] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or command the processing unit independently or collectively. Software and / or data may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave so as to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and may be stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
[0652] Although the embodiments have been described above with reference to the limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, suitable results may be achieved even if the described techniques are performed in a different order than described, and / or if the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.
[0653] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below. Explanation of the symbols
[0655] 100: User's terminal 200: Device 210: Processor 220: Memory
Claims
Claim 1 A method for providing a view-based animation effect of a 3D model component, performed by a device, comprising: receiving model input data including 3D model data and 3D spatial information in which the model is placed from a user's terminal; analyzing the model input data to identify components constituting the 3D model; structuring the identified components by classifying them according to at least one unit among a mesh unit, a part unit, or a function unit; determining an animation effect application condition for a component included in a preset screen center area based on a view judgment index calculated based on the screen of the user's terminal, the condition including at least one of a type of animation effect and an application duration for each component; and generating an animation effect corresponding to a component satisfying the determined animation effect application condition, and outputting a 3D model reflecting the animation effect to the user's terminal.A method for providing a field-of-view-based animation effect for a 3D model component, comprising: a step of determining the conditions for applying the animation effect, wherein the step of calculating a field of view judgment indicator including a virtual viewpoint position, a virtual viewpoint direction, and a virtual field of view range within the 3D space based on the display area and display direction of the 3D space displayed on the screen of a user's terminal; a step of calculating whether each component is included within the screen, relative position coordinates with respect to the screen center, and the occupancy ratio within the display area based on the calculated field of view judgment indicator; a step of classifying a component as a candidate component for applying the animation effect, limited to components included in a preset screen center area based on whether it is included within the screen, relative position coordinates with respect to the screen center, and the occupancy ratio within the display area; a step of selecting a type of animation effect to be applied to the candidate component from a preset animation effect database according to the structuring unit of the classified candidate component; a step of determining the duration of application of the animation effect based on the selected type of animation effect and the dwell time of the candidate component within the screen; and a step of determining whether to maintain or release the application of the animation effect based on whether the candidate component has left the screen display area or whether the application duration has elapsed. method.; Claim 2 delete Claim 3 In claim 1, the step of outputting a 3D model reflecting the generated animation effect to the user's terminal comprises: a step of highlighting the candidate component on the screen of the user's terminal in a visual display state distinguishable from non-candidate components; a step of, for each of the highlighted candidate components, displaying the reason why the candidate component became subject to the application of an animation effect by satisfying a viewing judgment indicator as UI information corresponding to at least one of whether it is included within the screen, its relative position to the center of the screen, or its occupancy ratio within the display area; a step of predicting and displaying the type of animation effect to be applied to the candidate component and the scheduled time of application or estimated duration of the animation effect as at least one UI element among an icon, a gauge, a timer display, or a gradual color change; a step of, for each of the candidate components, utilizing the type of animation effect, the scheduled time of application, or the estimated duration displayed by the UI element as reference information for adjusting or displaying the output state, wherein even if the same viewing judgment indicator is satisfied, controlling the animation effect output corresponding to the candidate component to be set differently according to an output control standard set independently of the viewing judgment indicator; and, when the viewing judgment indicator changes according to a change in viewing on the screen of the user's terminal, the predicted display A method for providing a view-based animation effect of a 3D model component, comprising: a step of updating and displaying in real time the scheduled time of application or the expected duration of the animation effect; a step of recalculating the animation effect application conditions to maintain, delay, or release the application of the predicted displayed animation effect according to user input received through the user's terminal; and a step of applying or releasing the animation effect corresponding to the candidate component according to the recalculated animation effect application conditions and outputting it to the user's terminal.