Three-dimensional space UI projection control method and device and medium
By dynamically projecting the UI elements of the 3D vehicle model onto the in-vehicle screen's planar coordinates, the problems of poor viewing angle adaptability and in-vehicle scene mismatch are solved, achieving an intuitive and efficient in-vehicle central control system interactive experience.
Patent Information
- Application Number
- CN202511059783.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-30
- Publication Date
- 2025-11-18
AI Technical Summary
Existing 3D UI technology suffers from poor viewpoint adaptability and incompatibility with in-vehicle scenarios in vehicle central control systems, making it difficult to improve operational efficiency and user experience.
By dynamically projecting the UI elements of the 3D vehicle model onto the in-vehicle screen's planar coordinates, and using the normalized coordinates of the intersection of the anchor point and the camera view plane, the UI elements are dynamically updated to ensure that the UI elements are synchronized with the user's perspective and the vehicle model's movements.
It achieves dynamic matching between UI elements and the car model's movements and perspective changes, improving the intuitiveness of operation and immersive user experience, and providing intuitive and efficient in-vehicle central control system interaction.
Smart Images

Figure CN120976387A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of 3D rendering, in particular to a three-dimensional space UI projection control method, device and medium. BACKGROUND
[0002] With the development of intelligent automobile technology, the vehicle-mounted central control system gradually evolves from the traditional two-dimensional (2D) user interface to a three-dimensional (3D) interactive mode. The traditional 2D interface has some inherent defects as follows:
[0003] 1. Complex operation level: the user needs to frequently switch menus to complete vehicle control (such as opening the sunroof requires entering a multi-level sub-menu).
[0004] 2. Fixed and rigid perspective: the UI layout cannot be dynamically adjusted according to the user's perspective, resulting in information being easily blocked by the vehicle model (for example, the button is blocked by the tire when the vehicle model is rotated).
[0005] 3. Non-intuitive interaction: the flat buttons are separated from the 3D vehicle model space, lacking an immersive operation experience.
[0006] To improve the above problems, existing technologies attempt to introduce three-dimensional UI technology, but still have significant deficiencies.
[0007] For example, the existing technology one provides a three-dimensional UI development method by editing three-dimensional UI elements in response to instructions, but does not solve the dynamic perspective adaptation problem. The position of the UI element is fixed, and when the user rotates or scales the vehicle model, the UI may move out of the visible area or overlap with the vehicle model components, resulting in operation failure (such as the button being blocked by virtual objects in the VR scene). The core defect of the existing technology one is the lack of spatial adaptation ability for the vehicle-mounted environment, which cannot meet the actual needs of viewing the vehicle model from multiple angles.
[0008] The existing technology two realizes the mixing of UI background and 3D model mapping, but does not involve the dynamic projection mechanism of UI elements. The UI elements cannot follow the movement of the vehicle model components (such as the control button remaining at the original position when the vehicle door is opened), resulting in a split between operation logic and spatial perception. The core defect of the existing technology two is that it does not optimize the particularity of the vehicle-mounted scene (such as real-time vehicle state monitoring and component-level interaction), making it difficult to support precise control of components such as vehicle windows and vehicle lights.
[0009] In summary, the existing three-dimensional UI technology generally has two major problems of poor perspective adaptability and mismatch with vehicle-mounted scenes, which makes it difficult to improve the operation efficiency and user experience of the vehicle-mounted central control system. SUMMARY
[0010] The present application aims to solve at least one of the technical problems existing in the prior art mentioned above, and proposes a three-dimensional space UI projection control method, device and medium, aiming to provide an intuitive, efficient and immersive user experience for a vehicle-mounted central control system.
[0011] In a first aspect, the embodiments of the present application provide a three-dimensional space UI projection control method, comprising:
[0012] starting a 3D rendering service, initializing a rendering environment and loading 3D vehicle model resources;
[0013] receiving an interaction signal of a user, and generating a corresponding 3D picture update instruction;
[0014] in response to the 3D picture update instruction, driving a 3D vehicle model or a camera to update a picture state;
[0015] based on the 3D vehicle model or the camera when the picture state is updated, dynamically projecting a UI element of the 3D vehicle model onto a plane coordinate of a vehicle-mounted screen;
[0016] rendering a picture including the 3D vehicle model and the UI element, and outputting to the vehicle-mounted screen.
[0017] Further, the step of based on the 3D vehicle model or the camera when the picture state is updated, dynamically projecting the UI element of the 3D vehicle model onto the plane coordinate of the vehicle-mounted screen, comprises:
[0018] step a, setting an anchor point in a three-dimensional space around a target component of the 3D vehicle model;
[0019] step b, determining a straight line based on the anchor point and a camera position, and obtaining a normalized coordinate of an intersection point of the straight line and a camera view plane;
[0020] step c, projecting the UI element onto the plane coordinate of the vehicle-mounted screen according to the normalized coordinate of the intersection point, and setting a rendering level of the UI element to be higher than that of the 3D vehicle model;
[0021] step d, dynamically updating a position of the UI element on the plane coordinate of the vehicle-mounted screen by repeating steps b-c in real time.
[0022] Further, the step of obtaining the normalized coordinate of the intersection point of the straight line and the camera view plane, comprises:
[0023] taking one corner point of the camera view plane as an origin;
[0024] a horizontal coordinate of the normalized coordinate of the intersection point = a horizontal coordinate of the intersection point / a width of the camera view plane;
[0025] The longitudinal coordinate of the normalized coordinate of the intersection point = the longitudinal coordinate of the intersection point / the height of the camera view plane.
[0026] Further, the projecting the UI element onto the planar coordinate of the vehicle-mounted screen according to the normalized coordinate of the intersection point comprises:
[0027] Positioning the normalized coordinate of the intersection point to a corresponding point on the vehicle-mounted screen;
[0028] Updating the corresponding UI element to the position of the corresponding point.
[0029] Further, the driving the 3D vehicle model or the camera to update the screen state in response to the 3D screen update instruction comprises:
[0030] If the vehicle model state update instruction is responded, driving the 3D vehicle model to perform an action on the corresponding component and controlling the camera to focus on the component;
[0031] If the camera state update instruction is responded, adjusting the view angle or distance of the camera around the 3D vehicle model;
[0032] The 3D screen update instruction comprises the vehicle model state update instruction and / or the camera state update instruction.
[0033] Further, the controlling the camera to focus on the component comprises:
[0034] Controlling the camera to move to a distance within a preset distance range of the component.
[0035] Further, the method further comprises:
[0036] Setting the scaling of the UI element independent of the 3D vehicle model, and maintaining the size of the UI element within a preset size range.
[0037] Further, the UI element is a control button for the component of the 3D vehicle model, and the corresponding vehicle model state update instruction can be triggered after the UI element is clicked.
[0038] In a second aspect, an electronic device is provided, comprising: one or more processors;
[0039] a memory configured to store one or more programs; and when the one or more programs are executed by the one or more processors, the one or more processors are enabled to implement the steps in the control method according to any one of the preceding aspects.
[0040] In a third aspect, a computer readable medium is provided, and the computer readable medium stores a computer program, and the computer program is executed by a processor to implement the steps in the control method according to any one of the preceding aspects.
[0041] The three-dimensional space UI projection control method provided by the application projects the UI elements of the 3D vehicle model onto the 2D plane coordinates of the vehicle screen dynamically, and can adjust the UI layout in real time according to the user's perspective and operation, thereby solving the fixed perspective problem, realizing the dynamic matching of the UI elements and the vehicle model action and perspective change, improving the operation intuitiveness, and providing an intuitive, efficient and immersive user experience for the vehicle-mounted central control system. BRIEF DESCRIPTION OF DRAWINGS
[0042] Figure 1 The core flowchart of the three-dimensional space UI projection control method provided by the embodiment of the application;
[0043] Figure 2 The software flowchart of the three-dimensional space UI projection control method provided by the embodiment of the application;
[0044] Figure 3 The vehicle model state update diagram when the button corresponding to the 3D vehicle model tail door is clicked, provided by the embodiment of the application;
[0045] Figure 4 The vehicle model state update diagram when the button corresponding to the 3D vehicle model sunroof is clicked, provided by the embodiment of the application;
[0046] Figure 5 The anchor point setting diagram provided by the embodiment of the application;
[0047] Figure 6 The mapping screen position diagram provided by the embodiment of the application;
[0048] Figure 7 The mapping screen position diagram provided by the embodiment of the application;
[0049] Figure 8 The update UI element position diagram provided by the embodiment of the application;
[0050] Figure 9 The structural block diagram of an electronic device provided by the embodiment of the application. DETAILED DESCRIPTION
[0051] In order to better understand the technical solutions of the present application, the exemplary embodiments of the present application are described below in conjunction with the drawings, which include various details of the embodiments of the present application to help understanding, and should be considered as merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present application. Also, for the sake of clarity and conciseness, the description below omits the description of well-known functions and structures. In the case of no conflict, the embodiments of the present application and the features in the embodiments can be combined with each other.
[0052] The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. "Connected" or "coupled" or similar terms are not limited to a direct connection or coupling, but also include an indirect connection or coupling, whether mechanical, electrical, or otherwise.
[0053] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted in an overly literal or overly formal sense unless expressly so defined herein.
[0054] Traditional two-dimensional (2D) user interfaces have the problem of fixed viewing angle in vehicle central control systems, and cannot dynamically adjust the position and size of UI elements according to the actual viewing angle of the user. This leads to the possibility that UI elements are blocked or in turn block the car model (3D vehicle model) at different viewing angles, making them difficult to operate and affecting the user experience. The present application ensures that UI elements can adjust their position and size in real time according to the actual viewing angle of the user through dynamic UI projection and positioning technology, always maintaining clear visibility and ease of operation. No matter from which angle the user views or operates the UI, the best visual effect and interactive experience can be obtained.
[0055] The prior art mainly focuses on the general mixing of UI and 3D models, and is not optimized for the operation scene of the 3D vehicle model of the vehicle-mounted system, resulting in poor application effect in the vehicle-mounted environment. The application is optimized for the application scene of the 3D vehicle model of the vehicle-mounted central control system, and can better support multi-angle viewing, vehicle state monitoring and configuration operation, and provide more intuitive and efficient user experience.
[0056] Reference Figure 1 and Figure 2 One embodiment of the application provides a three-dimensional space UI projection control method based on a 3D vehicle model, which can include the following steps.
[0057] Step 1, start the 3D rendering service.
[0058] The 3D rendering service is usually an independent software application or a software module integrated into other software applications in the vehicle-mounted system. First, the rendering engine needs to be started, and the rendering environment needs to be initialized, including setting the resolution, frame rate and other configurations. The 3D rendering service runs on the vehicle-mounted Android system, so it can be adapted to mainstream vehicle-mounted platforms, thereby reducing deployment costs.
[0059] Step 2, initialize resources.
[0060] Load 3D vehicle model resources, initialize UI elements, set the initial position of the 3D vehicle model, configure the initial angle of the camera, and configure textures, materials and lighting and other necessary resources.
[0061] The UI elements are control buttons for the components of the 3D vehicle model, which can trigger the corresponding vehicle model state update instructions after being clicked. The components of the 3D vehicle model include doors, windows, trunks and hoods, etc.
[0062] Step 3, user interaction processing.
[0063] Recognize the user's interaction signal and convert it into corresponding instruction information (such as rotating or zooming the viewing angle, opening the door, closing the window, etc.).
[0064] The user's interaction signal or instruction includes touch screen operation, physical key or voice input. For example: user voice instruction "open trunk" → tail door open + lens focus on tail door → project "close tail door" button. In this way, multi-modal interaction can be supported, thereby improving the convenience of operation.
[0065] Step 4, 3D picture update.
[0066] After receiving the instruction information corresponding to the user's interactive operation, the three-dimensional space vehicle model and the camera make corresponding operations, which are mainly divided into the following two categories.
[0067] (1) Car model state update: when receiving the user's click on the UI element (such as a button) that controls the car model part, the car model corresponding part is updated in response, and the camera lens zooms in and focuses on the corresponding car model part, that is, the camera moves to a preset distance range from the part.
[0068] For example, when clicking the button corresponding to the 3D car model tail door, the tail door opens and the lens zooms in; when clicking the sunroof button, the sunroof opens and the lens zooms in; when clicking the car door button, the car door opens and the camera moves to a position 0.5 meters away from the car door, and the car door control UI is projected near the car door handle. The car model state update diagram can be referred to Figure 3 and Figure 4 . This setting can enhance the operation immersion and accurately position the interaction area.
[0069] (2) Camera state update: when receiving the user's signal of sliding, zooming in / out the screen (such as the user's single-finger sliding on the screen or double-finger inward / outward sliding on the screen), the camera makes corresponding operations such as rotating around the car model, zooming in / out the distance from the car model.
[0070] Step 5, project the UI element position.
[0071] After the 3D picture is updated, the UI element needs to be immediately adjusted accordingly, that is, the UI element updates its position on the screen as the car model picture changes. The specific implementation method of this step is as follows.
[0072] Step 51, set the anchor point.
[0073] First, select the car model part to be controlled, such as the left front door, the right rear glass, or the hood, and set a suitable position around the corresponding part in the three-dimensional space as the anchor point. Then, through three-dimensional space algorithm, the relative position between the anchor point and the selected car body part is kept unchanged. The anchor point will affect the final position of the UI element on the screen. For reference, Figure 5 .
[0074] Preferably, the relative position between the anchor point and the car model part is bound by a three-dimensional space transformation matrix. For example, the engine cover anchor point is bound to the three-dimensional coordinates of the engine cover, and when the engine cover is opened, the anchor point rotates with it, and the UI is always located on the side of the engine cover. This setting can ensure the spatial consistency of the UI element and the car model part.
[0075] Step 52, map the screen position.
[0076] Determine a straight line L with the anchor point and the camera position, and arbitrarily select a distance d. At a position d in front of the camera, get the rectangle F(w, h) formed by the camera view, that is, the camera view plane, where w represents the width of the rectangle and h represents the height of the rectangle. Take the intersection point P(w p , hp ). Take the lower left corner of the rectangle F as the origin, w p represents the proportion of the horizontal coordinate of the intersection point P to the width of the rectangle w, h p represents the proportion of the vertical coordinate of the intersection point P to the height of the rectangle h, w p and h p The value range of w p and h p is 0~1, w p and h p , that is, the normalized coordinates of the intersection point P of the straight line L and the rectangle F, refer to Figure 6 and Figure 7 .
[0077] In some embodiments, the anchor point is located at the front of the vehicle → calculate the projection point of the connecting line between it and the camera in the camera view plane (0.7w, 0.3h) → the UI element is located at 70% of the screen width and 30% of the height. This setting can achieve fast coordinate mapping from three-dimensional space to two-dimensional screen.
[0078] Step 53, update the position of the UI element.
[0079] After obtaining P(w p , h p ), according to the horizontal coordinate and vertical coordinate corresponding weights w p and h p , locate the corresponding point S p on the vehicle screen, then update the corresponding UI element to the position of point S p , and set the rendering level of the UI element above the vehicle model to ensure that it will not be blocked by the vehicle model and independently control the size of the UI element, refer to Figure 8 .
[0080] Preferably, set the UI element independent of the scaling of the 3D vehicle model, and maintain the size of the UI element within a predetermined size range. For example, the vehicle model is reduced to 50% of the original size → the vehicle door control button still maintains the original size and is displayed at the vehicle door anchor point. This setting can avoid the UI element being inoperable due to the scaling of the vehicle model.
[0081] Preferably, by setting the UI element to an independent rendering layer to avoid being blocked by the vehicle model. For example, the steering wheel control UI element is projected in front of the steering wheel → when the vehicle model rotates, the UI element is always overlaid on the steering wheel. This setting can completely solve the UI blocking problem and ensure operability.
[0082] Step 54, real-time update.
[0083] Steps 52 and 53 above need to be continuously updated as the 3D vehicle model and camera view change. That is, the steps of mapping the screen position and updating the UI element position are repeated in each rendering frame to ensure that the position of the UI element is updated on the screen accordingly as the anchor point position changes.
[0084] Step 6: Output the rendering results.
[0085] After all adjustments are completed, the final image, including the 3D car model and UI elements, will be rendered and output to the in-vehicle central control screen for intuitive display to the user.
[0086] This application solves the problem of fixed perspective by dynamically projecting the UI elements of a 3D vehicle model onto the 2D plane coordinates of the in-vehicle screen and adjusting the UI layout in real time according to the user's perspective and operation. It achieves dynamic matching of UI elements with the vehicle model's movements and perspective changes, improves the intuitiveness of operation, and provides an intuitive, efficient and immersive user experience for the in-vehicle central control system.
[0087] Based on the same inventive concept, embodiments of this application also provide an electronic device. Figure 9 This is a structural block diagram of an electronic device provided in an embodiment of this application. Figure 9 As shown in the embodiments of this application, an electronic device includes: one or more processors 101, a memory 102, and one or more I / O interfaces 103. The memory 102 stores one or more programs, which, when executed by the one or more processors, enable the one or more processors to implement any of the three-dimensional space UI projection control methods described in the above embodiments; the one or more I / O interfaces 103 are connected between the processor and the memory, configured to enable information interaction between the processor and the memory.
[0088] The processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 102 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read / write interface) 103 is connected between the processor 101 and the memory 102, and can realize information interaction between the processor 101 and the memory 102, including but not limited to a data bus (Bus).
[0089] In some embodiments, the processor 101, memory 102, and I / O interface 103 are interconnected via bus 104, and thus connected to other components of the computing device.
[0090] In some embodiments, the one or more processors 101 comprise a field programmable gate array.
[0091] The embodiments of the present application also provide a computer readable medium. The computer readable medium stores a computer program, wherein the program is executed by a processor to implement the steps in any of the above-mentioned three-dimensional space UI projection control methods. The computer readable storage medium can be a volatile or non-volatile computer readable storage medium.
[0092] The embodiments of the present application also provide a computer program product comprising computer readable code or a non-volatile computer readable storage medium carrying computer readable code, when the computer readable code is run in a processor of an electronic device, the processor in the electronic device executes the above-mentioned three-dimensional space UI projection control method.
[0093] Those of ordinary skill in the art will understand that all or some of the steps in the above-disclosed methods, the functions of the modules / units in the systems, devices, and apparatuses can be implemented as software, firmware, hardware, or appropriate combinations of them. In hardware implementation, the division between the modules / units mentioned in the above description can not correspond to the division of physical components; for example, one physical component can have multiple functions, or one function or step can be performed by several physical components working together. Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on computer readable storage media, which can include computer storage media (or non-transitory media) and communication media (or transitory media).
[0094] As is well known to those of ordinary skill in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable program instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM), static random access memory (SRAM), flash memory or other memory technology, portable compact disc read only memory (CD-ROM), digital versatile discs (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by a computer. Furthermore, it is well known to those of ordinary skill in the art that communication media typically embodies computer readable program instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and can include any information delivery media.
[0095] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0096] Computer readable program instructions for carrying out operations of the present application can be assembly-level instructions, instructions set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computing / processing device, partly on the user's computing / processing device, as a stand-alone software package, partly on the user's computing / processing device and partly on a remote computing / processing device or entirely on the remote computing / processing device or server. In the latter scenario, the remote computing / processing device can be connected to the user's computing / processing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computing / processing device, for example, through the Internet using an Internet Service Provider. In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present application.
[0097] The computer program product described herein can be embodied in a specifically designed high-speed and / or digital signal processing computer, such as the computer described herein. Alternatively, the computer program product can be embodied in a general-purpose computer that is programmed to perform the functions described herein.
[0098] The computer program product described herein can be embodied in a specifically designed high-speed and / or digital signal processing computer, such as the computer described herein. Alternatively, the computer program product can be embodied in a general-purpose computer that is programmed to perform the functions described herein. The order of execution or performance of the operations illustrated in the flow charts and / or block diagrams of the aspects described herein can be changed, and that other operations that are not depicted can be performed. Further, the illustrated operations can be performed simultaneously, in an overlapping manner, or in another suitable manner.
[0099] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can be a computer program product, a memory, a memory device, a memory chip, a memory
[0100] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0101] The flow diagrams and the block diagrams in the drawings are presented to illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logic functions (s). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in some cases, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and
[0102] Example embodiments have been disclosed herein and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation. In some embodiments, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in connection with a particular embodiment can be used in conjunction with other embodiments unless otherwise explicitly stated, or in the alternative, used in solitude. Thus, those skilled in the art will appreciate that various changes can be made without departing from the scope of the application as set forth in the claims that follow.
Claims
1. A three-dimensional spatial UI projection control method, characterized in that, include: Start the 3D rendering service, initialize the rendering environment, and load 3D vehicle model resources; Receive user interaction signals and generate corresponding 3D screen update instructions; In response to the 3D image update command, drive the 3D vehicle model or camera to update the image status; Based on the 3D vehicle model or camera during screen status updates, the UI elements of the 3D vehicle model are dynamically projected onto the planar coordinates of the in-vehicle screen. Render the image, including the 3D vehicle model and UI elements, and output it to the in-vehicle screen.
2. The control method according to claim 1, characterized in that, The method of dynamically projecting the UI elements of the 3D vehicle model onto the planar coordinates of the in-vehicle screen based on the 3D vehicle model or camera during screen state updates includes: Step a: Set anchor points in the three-dimensional space around the target component of the 3D vehicle model; Step b: Determine a straight line based on the anchor point and the camera position, and obtain the normalized coordinates of the intersection point of the straight line and the camera view plane; Step c: Project the UI elements onto the planar coordinates of the vehicle screen according to the normalized coordinates of the intersection points, and set its rendering level to be higher than that of the 3D vehicle model. Step d: Repeat steps b-c in real time to dynamically update the position of UI elements on the planar coordinates of the vehicle screen.
3. The control method according to claim 2, characterized in that, Obtaining the normalized coordinates of the intersection point of the straight line and the camera view plane includes: The origin is defined by a corner point of the camera's view plane; The normalized x-coordinate of the intersection point = x-coordinate of the intersection point / width of the camera view plane; The normalized ordinate of the intersection point is equal to the ordinate of the intersection point divided by the height of the camera view plane.
4. The control method according to claim 3, characterized in that, The step of projecting UI elements onto the planar coordinates of the vehicle screen based on the normalized coordinates of the intersection points includes: The normalized coordinates of the intersection point are located to the corresponding point on the in-vehicle screen; Update the corresponding UI element to the position of the corresponding point.
5. The control method according to claim 1, characterized in that, The step of responding to the 3D image update command and driving the 3D vehicle model or camera to update the image state includes: If a vehicle model status update command is received, the corresponding component of the 3D vehicle model will be driven to perform an action, and the camera will be controlled to focus on that component. If a camera status update command is received, the camera's angle or distance around the 3D vehicle model is adjusted. The 3D image update command includes the vehicle model status update command and / or the camera status update command.
6. The control method according to claim 5, characterized in that, The control camera focuses on this component, including: Control the camera to move to a preset distance range from the component.
7. The control method according to claim 2, characterized in that, Also includes: The UI element is set to scale independently of the 3D vehicle model, maintaining the size of the UI element within a preset size range.
8. The control method according to any one of claims 1-7, characterized in that, The UI elements are control buttons for parts of the 3D vehicle model. Clicking the UI element will trigger the corresponding vehicle model status update command.
9. An electronic device, characterized in that, include: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors are enabled to implement the steps in the control method as described in any one of claims 1 to 8.
10. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it can implement the steps of the control method as described in any one of claims 1 to 8.