3D interface switching method and device, storage medium and vehicle
By sharing 3D rendering lenses in 3D desktop mode, smooth switching between and within applications is achieved, solving the visual interruption problem during 3D interface switching and enhancing the user experience and cockpit's technological feel.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-24
- Publication Date
- 2026-04-10
Smart Images

Figure CN121842371A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle technology, and more particularly to a method for switching 3D interfaces, a computer-readable storage medium, a vehicle, and an apparatus for switching 3D interfaces. Background Technology
[0002] The 3D "one-shot" technology in smart cockpits represents a significant innovation in the fields of automotive intelligence and human-machine interaction. It's an advanced 3D human-machine interface experience that provides users with a continuous and uninterrupted visual experience through smooth control of the 3D rendering camera. However, some common issues during application startup and switching can degrade the user experience. For example, when an application starts, the screen may temporarily go black until the application finishes loading; this sudden visual change can interrupt the user's attention. Similarly, during application startup or switching, interface elements may flicker briefly or experience redrawing issues, which can cause visual interference and negatively impact the user experience. Summary of the Invention
[0003] This application aims to at least partially address one of the technical problems in the related art. To this end, the first objective of this application is to propose a method for 3D interface switching that can provide a continuous and uninterrupted visual experience, enhance the user's immersion and engagement, and improve the technological and luxurious feel of the vehicle cabin.
[0004] The second objective of this application is to provide a computer-readable storage medium.
[0005] The third objective of this application is to propose a vehicle.
[0006] The fourth objective of this application is to provide a device for switching 3D interfaces.
[0007] To achieve the above objectives, a first aspect of this application proposes a method for switching 3D interfaces. The method includes: receiving a target switching request; if the target switching request is for switching between applications, and the current desktop mode of the display device is a 3D desktop mode, then controlling the 3D rendering camera to move from the initial camera position to the target camera position, and gradually transitioning the initial 3D background of the current 3D desktop to the target scene. The target switching request includes the target camera position and the target scene. The 3D desktop and the target application share a 3D rendering camera, and the initial camera position is the position of the 3D rendering camera on the 3D desktop.
[0008] According to the 3D interface switching method of this application embodiment, a target switching request is received. If the current desktop mode of the display device is 3D desktop mode, and the target switching request is for switching between applications, the 3D rendering camera is controlled to move from the initial camera position to the target camera position, and the initial 3D background of the current 3D desktop is gradually transitioned to the target scene. The target switching request includes the target camera position and the target scene. The 3D desktop and the target application share a single 3D rendering camera, and the initial camera position is the position of the 3D rendering camera on the 3D desktop. Therefore, this method can provide a continuous and uninterrupted visual experience, enhancing the user's immersion and engagement, and improving the technological and luxurious feel of the vehicle cabin.
[0009] In addition, the 3D interface switching method according to the above embodiments of this application may also have the following additional technical features: According to one embodiment of this application, the method further includes: if the target switching request is an in-application function switch, then determining the target display function based on the switching request, and controlling the 3D rendering lens to move from the initial lens position to the target lens position, wherein the initial lens position is the position of the 3D rendering lens in the current display function, the target lens is the position of the 3D rendering lens in the target display function, and different display functions share one 3D rendering lens.
[0010] According to one embodiment of this application, controlling the 3D rendering lens to move from an initial lens position to a target lens position includes: determining a lens movement path based on the initial lens position and the target lens position; determining a lens movement speed based on the lens movement path and a preset movement animation duration; and determining a lens movement animation based on the lens movement path, the lens movement speed, and a target animation, so as to move the 3D rendering lens to the target lens position based on the lens movement animation, wherein the target animation includes keyframes, the keyframes representing the state of the 3D rendering lens at different points in time, and the state including the rotation state, focal length state, and position state of the 3D rendering lens.
[0011] According to one embodiment of this application, the method further includes: when the target application is launched, controlling the window background transparency of the target application to be reduced to zero based on a first preset transparency.
[0012] According to one embodiment of this application, the method further includes: after controlling the window background transparency of the target application to be reduced to zero, controlling the user interface elements within the target application to be reduced to zero based on a second preset transparency.
[0013] According to one embodiment of this application, the method further includes: receiving a switching request to return to the desktop, controlling the 3D rendering lens to move from the target lens position to the initial lens position, and grading the target scene to the initial 3D background.
[0014] According to one embodiment of this application, the method further includes: when the target application exits, controlling the window background transparency of the target application to increase to a preset transparency based on a third preset transparency.
[0015] To achieve the above objectives, a second aspect of this application provides a computer-readable storage medium having a program stored thereon that, when executed by a processor, implements the above-described method for switching 3D interfaces.
[0016] The computer-readable storage medium according to the embodiments of this application, by implementing the above-described 3D interface switching method during execution, can provide a continuous and uninterrupted visual experience, enhance the user's immersion and participation, and improve the technological and luxurious feel of the vehicle cabin.
[0017] To achieve the above objectives, a vehicle is provided in a third aspect of this application, including a memory, a processor, and a program stored in the memory and executable on the processor. When the processor executes the program, it implements the above-described method for switching 3D interfaces.
[0018] The vehicle according to the embodiments of this application, by executing the above-described 3D interface switching method, can provide a continuous and uninterrupted visual experience, enhance the user's sense of immersion and participation, and improve the technological and luxurious feel of the vehicle cabin.
[0019] To achieve the above objectives, a fourth aspect of this application provides a 3D interface switching device, comprising: a receiving module for receiving a target switching request; and a control module for, when the current desktop mode of the display device is 3D desktop mode, if the target switching request is an application switching request, controlling the 3D rendering lens to move from the initial lens position to the target lens position, and gradually transitioning the initial 3D background of the current 3D desktop to the target scene, wherein the target switching request includes the target lens position and the target scene, the 3D desktop and the target application share a 3D rendering lens, and the initial lens position is the position of the 3D rendering lens on the 3D desktop.
[0020] According to an embodiment of this application, a 3D interface switching device includes a receiving module for receiving a target switching request and a control module for controlling the 3D rendering camera to move from its initial camera position to the target camera position when the current desktop mode of the display device is 3D desktop mode, and the target switching request is an application switching request. The control module also controls the initial 3D background of the current 3D desktop to gradually transition to the target scene. The target switching request includes a target camera position and a target scene. The 3D desktop and the target application share a single 3D rendering camera, and the initial camera position is the position of the 3D rendering camera on the 3D desktop. Therefore, this device can provide a continuous and uninterrupted visual experience, enhancing the user's immersion and engagement, and improving the technological and luxurious feel of the vehicle cabin.
[0021] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0022] Figure 1 This is a flowchart of a method for switching 3D interfaces according to an embodiment of this application.
[0023] Figure 2 This is a schematic diagram of the system framework for switching 3D interfaces according to an embodiment of this application.
[0024] Figure 3 This is a flowchart illustrating a specific example of a 3D interface switching method according to this application.
[0025] Figure 4 This is a block diagram of a vehicle according to an embodiment of this application.
[0026] Figure 5 This is a block diagram of a 3D interface switching device according to an embodiment of this application. Detailed Implementation
[0027] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0028] The following description, with reference to the accompanying drawings, outlines a method for switching 3D interfaces, a computer-readable storage medium, a vehicle, and an apparatus for switching 3D interfaces according to embodiments of this application.
[0029] Figure 1 This is a flowchart of a method for switching 3D interfaces according to an embodiment of this application.
[0030] like Figure 1As shown, the 3D interface switching method of this application embodiment may include the following steps: S1 receives a target switching request.
[0031] S2, when the current desktop mode of the display device is 3D desktop mode, if the target switching request is an application switching, control the 3D rendering lens to move from the initial lens position to the target lens position, and gradually change the initial 3D background of the current 3D desktop to the target scene. The target switching request includes the target lens position and the target scene. The 3D desktop and the target application share a 3D rendering lens, and the initial lens position is the position of the 3D rendering lens on the 3D desktop.
[0032] Specifically, target switching requests can include inter-application switching and intra-application function switching. Inter-application switching refers to the process of a user switching from one application (such as a 3D desktop) to another application (such as a media player application). Intra-application function switching refers to the process of a user switching from one functional module within the same application to another (such as switching from "door" settings to "tire" settings in vehicle settings).
[0033] For example, in one embodiment of this application, the 3D desktop is responsible for receiving target switching requests. The 3D desktop may include a 3D rendering service responsible for rendering 3D scenes and supports multiple applications sharing the same 3D rendering service, reducing redundant resource loading. It can provide a unified 3D rendering interface for different applications, simplifying development. For example, the IPC (Inter-Process Communication) module can receive switching requests from the target application. These requests contain the camera position and scene information required by the target application. The IPC module allows effective communication between different applications to coordinate 3D rendering resources.
[0034] Upon receiving a target switching request, the system determines the current desktop mode of the display device, such as by querying system settings or user configuration. This ensures that 3D rendering camera movement and background gradation operations are only performed in 3D desktop mode. For example, if the display device is a central control screen, the desktop mode can include both 2D and 3D modes. In 2D desktop mode, the user interface is a traditional two-dimensional plane, similar to a common smartphone or tablet interface, where users interact with interface elements through two-dimensional interactions such as clicking and swiping. In 3D desktop mode, the user interface extends to three-dimensional space, providing a richer and more intuitive interactive experience. Users can operate and view content in three-dimensional space through gestures, voice commands, or specific 3D interactive devices (such as a 3D mouse). 3D desktop mode is used to enhance realism and immersion, especially in intelligent cockpit systems, where it can provide a more natural driving and entertainment experience.
[0035] With the current desktop mode set to 3D, the system then checks the target switching request. If the request involves switching between applications, the 3D rendering camera moves from its initial position to the target position, and the initial 3D background of the current 3D desktop gradually transitions to the target scene, achieving a seamless visual transition, avoiding black screens or flickering, and enhancing the user experience. The 3D desktop and the target application share a single 3D rendering camera; that is, the 3D desktop environment and various applications (such as navigation, media playback, vehicle settings, etc.) share the same 3D rendering camera to display content. This design allows for seamless visual transitions between different applications. Furthermore, multiple applications sharing the same rendering resource reduces system resource consumption, improves rendering efficiency, and simplifies application development and maintenance by eliminating the need for developers to develop and maintain rendering logic separately for each application.
[0036] For example, the camera control unit in the 3D rendering service calculates the optimal movement from the initial camera position to the target camera position, allowing the camera to smoothly move along the calculated path to the target position, achieving a smooth transition and avoiding visual jumps. The scene management unit in the 3D rendering service loads the 3D resources required for the target scene, calculates the gradient parameters from the current scene to the target scene, generates a scene gradient animation, and smoothly transitions to the target scene. This includes gradient changes to skyboxes, ground textures, or other environmental elements to achieve a smooth transition of the 3D background, enhancing visual coherence and immersion. Finally, after completing the camera movement and background switching, the rendering results are output to the target application to ensure a seamless visual transition for the user. The 3D rendering camera is a virtual camera used to capture and present the 3D scene, defining the angle and way the user observes the 3D world. The initial camera position is the starting position of the 3D rendering camera in 3D desktop mode, and the target camera position is the 3D rendering camera position required by the target application. The target camera position and target scene can be determined by the target switching request. The initial 3D background is the background environment in the current 3D desktop mode, and the target scene is the 3D background environment required by the target application.
[0037] For example, a user clicks the media player application icon, is currently in 3D desktop mode, and receives a switching request for the media player application. The 3D rendering service parses the request and determines the specific camera position and scene that needs to be switched to the media player application. The 3D rendering service calculates the path for the camera to smoothly move from the navigation map view to the media player interface view, generates and executes a camera movement animation, and smoothly moves the camera along the path. The 3D rendering service then gradually switches the navigation map background to the media player interface background, such as transitioning from a 3D view displaying the map to a 3D view displaying album art. Thus, the 3D rendering service renders the new 3D scene and outputs it to the media player application, providing the user with a seamless visual transition. This ensures that when switching applications, the 3D rendered camera is neither destroyed nor rebuilt; only the position, rotation, and focal length of the 3D rendered camera are smoothly changed through animation, while a gradual transition to the 3D background required by the target application occurs. In this way, the intelligent cockpit system can provide a smooth and consistent visual experience between different applications, enhancing user immersion and satisfaction.
[0038] According to one embodiment of this application, the method for switching 3D interfaces further includes: if the target switching request is an in-application function switch, then the target display function is determined based on the switching request, and the 3D rendering lens is controlled to move from the initial lens position to the target lens position, wherein the initial lens position is the position of the 3D rendering lens in the current display function, the target lens is the position of the 3D rendering lens in the target display function, and different display functions share one 3D rendering lens.
[0039] Specifically, in-application function switching refers to the operation of a user switching from one functional module to another within the same application, such as switching from "Door" settings to "Tire" settings in a vehicle settings app. A switching request is issued by the application, indicating a need for an interface or function change. The current target switching request is assessed; if the target switching request is an in-application function switch, the target display function can be determined based on the request. For example, the application detects a user action (such as clicking a button or selecting a menu item) and sends an internal function switching request to the 3D rendering service. The 3D rendering service parses the switching request, determines the target display function, and provides necessary information for subsequent camera movements and perspective adjustments.
[0040] After determining the target display function, the position of the target camera can be determined based on the target display function, and the 3D rendering camera can be controlled to move from the initial camera position to the target camera position. The initial camera position is the position of the 3D rendering camera within the current display function. Different display functions share a single 3D rendering camera to maintain visual continuity. In other words, based on the user's actions and the application's internal logic, the specific functional module the user wishes to switch to is determined, ensuring that the application accurately responds to the user's needs and displays the correct functional view. For example, the camera control unit in the 3D rendering service can calculate the optimal movement method from the initial camera position to the target camera position, allowing the camera to smoothly move along the calculated path to the target camera position, achieving a smooth transition in camera position, avoiding visual jumps, and providing a consistent visual experience.
[0041] For example, suppose a user switches from the "Door" setting to the "Tire" setting in the vehicle settings app. The vehicle settings app sends an internal function switching request to the 3D rendering service, which includes information about the target display function. The 3D rendering service determines that the target display function is the "Tire" setting. The 3D rendering service calculates the path for the camera to smoothly move from the "Door" view to the "Tire" view, generates and executes the camera movement animation, and makes the camera move smoothly along the path. In other words, the user sees a seamless visual transition, smoothly switching from the "Door" view to the "Tire" view, and the entire process is achieved through the same 3D rendered camera.
[0042] In this way, the intelligent cockpit system can provide a smooth and consistent visual experience within the application, enhancing user immersion and satisfaction.
[0043] According to one embodiment of this application, controlling a 3D rendering camera to move from an initial camera position to a target camera position includes: determining a camera movement path based on the initial camera position and the target camera position; determining a camera movement speed based on the camera movement path and a preset movement animation duration; and determining a camera movement animation based on the camera movement path, camera movement speed, and target animation, so as to move the 3D rendering camera to the target camera position based on the camera movement animation. The target animation includes keyframes, which represent the state of the 3D rendering camera at different points in time, including the rotation state, focal length state, and position state of the 3D rendering camera. The preset movement animation duration can be determined according to actual conditions.
[0044] Specifically, when controlling the movement of the 3D rendering camera from its initial position to its target position, the camera movement path can be determined based on both the initial and target positions. The initial position refers to the starting position of the 3D rendering camera in the scene, i.e., the camera's position when the user begins observing the scene. The target position refers to the new position the user wants the camera to move to, usually to better showcase a specific scene or object. The camera movement path is the path from the initial position to the target position, which can be a straight line or a curve, depending on the desired visual effect. For example, the path planning unit in the 3D rendering service can calculate the optimal camera movement path using geometric algorithms (such as straight lines, Bézier curves, etc.) based on the initial position (e.g., the map view position in a navigation application) and the target position (e.g., the interface position in a media playback application). The most suitable path type (straight line, curve, etc.) can be selected to ensure the smoothness and visual appeal of the animation. After determining the camera movement path, the camera movement speed can be determined based on the path and the preset animation duration. The camera movement speed is the speed at which the camera moves along the path, affecting the smoothness and naturalness of the animation. For example, the preset motion animation duration can be set to 2 seconds. Based on the calculated length of the camera movement path and the preset motion animation duration (2 seconds), the average speed of the camera movement is calculated.
[0045] After determining the camera movement path and speed, the camera movement animation can be determined based on the camera movement path, speed, and target animation. The target animation includes keyframes, which represent the state of the 3D rendered camera at different points in time. These states include the camera's rotation, focal length, and position. In other words, the camera movement animation describes the sequence of motion of the camera from its initial position to its target position, including changes in position, rotation, and focal length. Keyframes define the state at specific points in time within the animation, controlling the start, end, and intermediate states. The rotation state refers to the angle of rotation of the 3D rendered camera around each axis (X, Y, Z), determining the camera's orientation. The focal length state is the field of view of the 3D rendered camera, determining the width of the camera's field of view and affecting the user's viewing angle. The position state is the coordinate position of the 3D rendered camera in 3D space, determining the point from which the user observes the scene.
[0046] For example, keyframes can be set at the beginning, middle, and end of the target animation to define the camera's state (position, rotation, focal length) at these points in time. Additionally, interpolation algorithms (such as linear interpolation, cubic interpolation, etc.) can be used between keyframes to calculate the state of intermediate frames, ensuring smooth animation. Once the target animation is determined, the camera movement path, speed, and target animation can be combined to generate the final camera movement animation, which allows the 3D rendered camera to move to the target camera position.
[0047] For example, consider a scenario where the user switches from a 3D desktop to a media playback application. Currently in the 3D desktop environment of a smart cockpit system, the camera position is set to the default viewpoint of the desktop, showcasing the entire cockpit layout. The user selects the projector application and needs a smooth transition from the 3D desktop to the specific viewpoint of the projector application. The path planning unit in the 3D rendering service can calculate a smooth movement path based on the initial camera position of the 3D desktop and the target camera position of the projector application. This path might be a curve to simulate the movement of a camera in the real world. The animation control unit in the 3D rendering service calculates the average speed of the camera movement based on a preset animation duration (e.g., 2 seconds) and the length of the camera movement path. The animation generation unit in the 3D rendering service can define keyframes for the target animation, such as the starting keyframe (the default viewpoint of the 3D desktop, higher up with a wider field of view) and the ending keyframe (the viewpoint of the projector application, lower up, focusing on the details of the projector). Between the starting and ending keyframes, an interpolation algorithm (such as cubic interpolation) is applied to generate intermediate frames, thus creating a smooth animation transition. Finally, based on the animation and the camera's movement speed and path, the 3D rendering camera is controlled to smoothly move from the initial position to the target position.
[0048] In this way, 3D rendered camera movement animation combines path, speed, and target animation to generate a final smooth, natural, and expected animation effect that not only provides visual coherence but also enhances user immersion and satisfaction.
[0049] According to one embodiment of this application, the method for switching 3D interfaces further includes: when the target application is started, controlling the window background transparency of the target application to be reduced to zero based on a first preset transparency, wherein the first preset transparency can be determined according to the actual situation.
[0050] Specifically, when the target application starts, the window background transparency of the target application can be reduced to zero based on a first preset transparency. Here, the target application refers to the application that the user is about to launch or switch to, such as a projector application. Window background transparency refers to the degree to which the background of the window allows content behind it (such as desktop wallpaper, other windows, etc.) to be visible. The first preset transparency refers to the transparency of the window background over time when the target application starts; this value can be set according to actual conditions (such as user preferences, ambient light conditions, etc.). In other words, at the start of the animation, the window background transparency value can be a preset transparency, for example, a preset transparency of 100% (meaning the target application's window background is completely transparent; the user can only see the initial 3D background behind it, while the application's background is invisible). During the animation, the window background transparency is gradually reduced until it reaches zero.
[0051] In other words, the user launches the target application by clicking or other means. When the application launches, the window background transparency is 100% (completely transparent). Based on actual conditions (such as user preferences, ambient lighting conditions, etc.), the gradual adjustment value of the window background transparency is determined. This means that, based on a preset animation duration, the rate of change from the initial transparency value (e.g., represented by 100% transparency) to zero transparency (completely solid) is calculated. An animation of decreasing transparency is created, gradually reducing the window background transparency from 100% based on a first preset transparency until it becomes opaque. This generated transparency-decreasing animation is executed, updating the window background transparency in real time, and rendering the output to the display device.
[0052] Assuming a user launches the Projector Light application from the 3D desktop, the window background transparency is initially set to 100% (completely transparent) upon startup. Based on user preference and ambient light conditions, the initial preset transparency can be set to 20%. The transparency can be gradually adjusted within keyframes of the animation that increases transparency; for example, the transparency could be 80% in the first frame, 60% in the second, 40% in the third, 20% in the fourth, and finally zero in the fifth frame, becoming completely opaque. In other words, as the application starts, the interface elements of the Projector Light application gradually become visible.
[0053] Thus, smooth changes in transparency eliminate the visual interruption that occurs when traditional applications launch, and the smooth transition of the window background enhances the user's immersion. In this way, the intelligent cockpit system can provide a smooth and consistent visual experience when applications launch, while ensuring that all views and scenes are presented through the same 3D rendering lens, thereby providing a richer and more intuitive user experience.
[0054] According to one embodiment of this application, the method for switching 3D interfaces further includes: after controlling the window background transparency of the target application to be reduced to zero, controlling the user interface elements within the target application to reduce their transparency to zero based on a second preset transparency. The second preset transparency can be determined according to actual circumstances.
[0055] Specifically, after reducing the background transparency of the target application's window to zero, the user interface elements within the target application can also be reduced to zero based on a second preset transparency. The target application is the application the user is about to launch or switch to, such as a projector light application. The window background transparency refers to the transparency of the target application's window background, controlling whether the background is visible. The second preset transparency refers to the transparency of the user interface elements within the target application as the background transparency changes over time after the animation is complete. This value can be set according to actual conditions (such as user preferences, ambient light conditions, etc.). User interface elements refer to user interaction elements such as buttons, text, and icons within the target application. In other words, during the animation, the transparency of the user interface elements can be gradually reduced until it reaches zero (the background is completely solid and opaque; the user cannot see the initial 3D background and can only see the user interface elements within the application).
[0056] In other words, the transparency of the target application's window background is gradually reduced until it becomes completely opaque, and then confirmed to be reduced to zero before the transparency of user interface elements is processed. When the application starts, the transparency of user interface elements can be initialized to 100% (completely transparent; the background is completely transparent, and the user can only see the initial 3D background behind it, while the background of the user interface elements within the application is not visible). Based on a preset animation duration, the rate of change from the initial transparency value (100%) to complete opacity is calculated, and an animation of decreasing transparency is created, causing the transparency of user interface elements to gradually decrease from 100% based on a second preset transparency until it reaches an opaque state. Finally, the generated transparency-decreasing animation is executed, updating the transparency of user interface elements in real time, and the result is rendered and output to the display device.
[0057] For example, suppose a user launches the Projector Light application from a 3D desktop. When the application starts, the window background transparency is initialized to 100% (completely transparent). As the window background transparency gradually decreases from 100% to zero, the transparency of user interface elements (such as buttons and text) also gradually decreases from 100% to zero. For example, based on user preferences and ambient light conditions, a second preset transparency of 25% can be determined. The transparency can be gradually adjusted in the keyframes of the transparency reduction animation. For example, the transparency is 75% in the first frame, 50% in the second frame, 25% in the third frame, and so on until it is zero in the fourth frame, becoming completely opaque. That is, after the application starts, the interface elements of the Projector Light application gradually become visible.
[0058] Thus, by smoothly changing the transparency, the visual interruption during traditional application launch is eliminated, and the smooth transition of user interface elements enhances the user's immersion. In this way, the intelligent cockpit system can provide a smooth and consistent visual experience when the application launches, while ensuring that all views and scenes are presented through the same 3D rendering lens, thereby providing a richer and more intuitive user experience.
[0059] According to one embodiment of this application, the method for switching 3D interfaces further includes: receiving a switching request to return to the desktop, controlling the 3D rendering lens to move from the target lens position to the initial lens position, and gradually changing the target scene to the initial 3D background.
[0060] Specifically, when a user performs a "return to desktop" action within the application (such as clicking the back button), the application can send a return-to-desktop switching request to the 3D rendering service via the IPC module. Upon receiving the return request, the 3D rendering service parses the initial camera position and initial 3D background to be returned to. That is, after receiving the return-to-desktop switching request, it can control the 3D rendering camera to move from the target camera position to the initial camera position and gradually transition the target scene to the initial 3D background.
[0061] For example, the camera control unit in the 3D rendering service can determine the camera movement path based on the target camera position and the initial camera position, and determine the camera movement speed based on the camera movement path and the preset movement animation duration, generating a camera movement animation so that the camera smoothly moves to the initial position along the calculated path and speed. The scene management unit in the 3D rendering service loads the resources required for the initial 3D background, calculates the gradient parameters from the target scene to the initial 3D background, generates a scene gradient animation, smoothly transitions to the initial 3D background, and outputs the rendering results to the display device and updates the user interface after completing the camera movement and background transition.
[0062] Assuming a user completes an operation in the projector lamp application and chooses to return to the 3D desktop, the projector lamp application sends a return-to-desktop request to the 3D rendering service via IPC. The 3D rendering service parses the request, determines the initial camera position and background to return to the 3D desktop, calculates the path from the projector lamp application's camera position to the initial camera position on the 3D desktop, generates and executes a camera movement animation to smoothly move the camera to the initial position. It also loads the initial background resources for the 3D desktop, generates and executes a background gradient animation to smoothly transition from the projector lamp application's scene to the 3D desktop's background. Finally, the 3D rendering service renders the new 3D scene and outputs it to the display device, providing the user with a seamless visual transition back to the 3D desktop.
[0063] Thus, through smooth camera movement and background gradation, the visual interruption during traditional application switching is eliminated. The smooth transition between the 3D rendered camera and the background enhances the user's immersion, and by sharing the 3D rendered camera and background, redundant loading and rendering of resources are reduced, improving system efficiency. In this way, the intelligent cockpit system can provide a smooth and consistent visual experience between applications and the 3D desktop, while ensuring that all views and scenes are presented through the same 3D rendered camera, thereby providing a richer and more intuitive user experience.
[0064] According to one embodiment of this application, the method for switching 3D interfaces further includes: when the target application exits, controlling the window background transparency of the target application to increase to a preset transparency based on a third preset transparency. The third preset transparency and the preset transparency can be determined according to actual circumstances.
[0065] Specifically, when the target application exits, the window background transparency of the target application can be increased to a preset transparency based on a third preset transparency setting. Here, the target application is the application the user is currently using and about to exit, such as a projector light application. Window background transparency refers to the transparency of the target application window's background, controlling whether the background is visible. The third preset transparency refers to the rate at which the target application window's background transparency increases from its current value to the preset transparency when the application exits. This rate determines the speed at which the transparency increases, affecting the smoothness and duration of the animation.
[0066] In other words, when a user exits the target application (e.g., clicks the back button), the application sends an exit request to the 3D rendering service via the IPC module. Upon receiving the exit request, the 3D rendering service parses it and prepares to execute the exit animation. The animation control unit within the 3D rendering service determines the starting transparency of the animation (the transparency of the current window background) and the ending transparency (e.g., a preset transparency of 100%). Based on a third preset transparency change rate, it generates an animation from the current transparency to the preset transparency, executes the animation, and updates the window background transparency in real time. After completing the transparency increase animation, the 3D rendering service renders the final 3D scene and outputs it to the display device.
[0067] For example, suppose a user uses the Projector Light app in the smart cockpit system and then chooses to return to the 3D desktop. First, the user clicks the "Return to Desktop" button in the Projector Light app. The Projector Light app sends an exit request to the 3D rendering service via IPC. Upon receiving the request, the 3D rendering service prepares to increase the window background transparency. The 3D rendering service gradually increases the transparency of the Projector Light app's background from completely opaque to completely transparent. For example, if the current transparency is zero, it increases to 25% in the first frame, 50% in the second frame, 75% in the third frame, and 100% in the fourth frame. As the background transparency increases, the 3D desktop gradually appears, and eventually the user returns to the 3D desktop.
[0068] Thus, by smoothly increasing transparency, visual interruptions such as black screens or flickering are eliminated when exiting the application, and the smooth transition of the window background enhances the user's immersion, making application exit more natural and engaging. In this way, the intelligent cockpit system can provide a smooth and consistent visual experience when exiting applications, while ensuring that all views and scenes are presented through the same 3D rendering lens, thereby providing a richer and more intuitive user experience.
[0069] In summary, as Figure 2As shown, in one embodiment of this application, the 3D rendering service is a background service that uses the Unity Engine to render 3D scenes and outputs them as images to various 3D applications. The Unity Engine is a 3D game development engine that provides tools and libraries for creating and rendering 3D content. In this architecture, the engine, as part of the 3D rendering service, is responsible for the actual 3D scene rendering work, and the 3D rendering service can provide rendering services to multiple applications simultaneously, achieving resource sharing and optimization.
[0070] In 3D applications, GWMUnityView is a custom View component used to embed and display 3D content. Each GWMUnityView instance communicates with the 3D rendering service via a unique Token to specify the 3D scene to be displayed. The Token is an identifier used within the 3D rendering service to specify and identify a particular 3D scene or "camera" viewpoint. Each GWMUnityView establishes a connection with the 3D rendering service via the Token, telling the service which 3D scene it needs to render. 3D applications (such as 3D Application A and 3D Application B) are applications running on the smart cockpit system, such as vehicle control applications and navigation applications. APK refers to an Android application package; the APK file represents 3D Application A and 3D Application B, both Android applications that can be installed on devices within the smart cockpit system. These applications interact with the 3D rendering service through GWMUnityView to display 3D content. Each 3D application can contain one or more GWMUnityView instances to display different 3D scenes. When a user first opens a 3D application or switches from one 3D application to another, the system creates a new Activity instance. This typically involves loading the user interface layout and initializing data. When the user finishes their interaction with the application and exits, or when the system needs to reclaim resources, the Activity can be destroyed or stopped. Destruction means the Activity instance is completely terminated, and all resources are released; stopping means the Activity is temporarily invisible but retains its state and data so that it can be restored when the user returns. For example, when a user clicks the headlight application icon, the system creates an Activity instance for the headlight application and loads the application interface. The user then performs actions within the headlight application, such as adjusting headlight settings. After completing the action and clicking the back button, the system destroys the headlight application's Activity instance, releases resources, and the user returns to the 3D home screen. Thus, by creating and destroying Activities, the system can effectively manage resources, avoid memory usage, and achieve smooth switching between applications.
[0071] In a 3D rendering service, a camera is a virtual device used to define the angle and method of viewing the 3D world. A 3D world can have multiple camera views, each corresponding to a specific token. This illustrates two 3D applications (3D application A and 3D application B), each containing one or more GWMUnityView instances. Each GWMUnityView communicates with the 3D rendering service via a token, requesting the rendering of a specific 3D scene. The 3D rendering service uses the Unity engine to render the corresponding 3D scene based on the token and returns the rendering result to the corresponding GWMUnityView, which is then displayed in the 3D application.
[0072] Therefore, this architecture allows for the sharing of 3D rendering resources, reducing the resource consumption of each application rendering 3D scenes independently, while enabling seamless switching and display of 3D scenes.
[0073] The following is combined with Figure 3 The method described in this application is used to describe the method.
[0074] As a specific example, the 3D interface switching method of this application may include the following steps: S101, Receive target switching request.
[0075] S102, determine whether the current display device's desktop mode is 3D desktop mode. If yes, proceed to step S103; if no, proceed to step S101.
[0076] S103, determine whether the target switching request is an inter-application switch. If yes, proceed to step S104; if no, proceed to step S108.
[0077] S104, determine the target camera position and target scene based on the target request.
[0078] S105, determine the camera movement path based on the initial camera position and the target camera position, and determine the camera movement speed based on the camera movement path and the preset movement animation duration, wherein the initial camera position is the position of the 3D rendering camera on the 3D desktop.
[0079] S106, determine the camera movement animation based on the camera movement path, camera movement speed and target animation, so as to move the 3D rendering camera to the target camera position based on the camera movement animation, and gradually change the initial 3D background of the current 3D desktop to the target scene.
[0080] S107, receive the request to return to the desktop, control the 3D rendering camera to move from the target camera position to the initial camera position, and gradually change the target scene to the initial 3D background.
[0081] S108, determine whether the target switching request is an in-application function switch. If yes, proceed to step S109; if no, proceed to step S101.
[0082] S109, Determine the target display function based on the switching request.
[0083] S110, based on the target display function, determines the target lens of the 3D rendering lens in the target display function.
[0084] S111, control the 3D rendering camera to move from the initial camera position to the target camera position, wherein the initial camera position is the position of the 3D rendering camera in the current display function, and proceed to step S107.
[0085] In summary, the 3D interface switching method according to the embodiments of this application receives a target switching request. When the current desktop mode of the display device is 3D desktop mode, if the target switching request is an application-to-application switch, the 3D rendering camera is controlled to move from the initial camera position to the target camera position, and the initial 3D background of the current 3D desktop is gradually transitioned to the target scene. The target switching request includes the target camera position and the target scene. The 3D desktop and the target application share a single 3D rendering camera, and the initial camera position is the position of the 3D rendering camera on the 3D desktop. Therefore, this method can provide a continuous and uninterrupted visual experience, enhancing the user's immersion and engagement, and improving the technological and luxurious feel of the vehicle cabin.
[0086] Corresponding to the above embodiments, this application also proposes a computer-readable storage medium.
[0087] The computer-readable storage medium of this application embodiment stores a program that, when executed by a processor, implements the above-described method for switching 3D interfaces.
[0088] According to the computer-readable storage medium of the present application embodiment, by performing the above-described 3D interface switching method, a continuous and uninterrupted visual experience can be provided, enhancing the user's immersion and participation, and improving the technological and luxurious feel of the vehicle cabin.
[0089] Corresponding to the above embodiments, this application also proposes a vehicle.
[0090] like Figure 4 As shown, the vehicle 200 in this embodiment may include: a memory 210, a processor 220, and a program stored in the memory 210 and executable on the processor 220. When the processor 220 executes the program, it implements the above-described method for switching 3D interfaces.
[0091] The vehicle according to the embodiments of this application, by executing the above-described 3D interface switching method, can provide a continuous and uninterrupted visual experience, enhance the user's sense of immersion and participation, and improve the technological and luxurious feel of the vehicle cabin.
[0092] Corresponding to the above embodiments, this application also proposes a device for switching 3D interfaces.
[0093] like Figure 5 As shown, the 3D interface switching device 100 of this application embodiment includes: a receiving module 110 and a control module 120.
[0094] The receiving module 110 is used to receive a target switching request. The control module 120, when the current desktop mode of the display device is 3D desktop mode, if the target switching request is an application switching request, controls the 3D rendering camera to move from the initial camera position to the target camera position, and gradually transitions the initial 3D background of the current 3D desktop to the target scene. The target switching request includes the target camera position and the target scene. The 3D desktop and the target application share a 3D rendering camera, and the initial camera position is the position of the 3D rendering camera on the 3D desktop.
[0095] According to one embodiment of this application, the control module 120 is further configured to: if the target switching request is an application-in-application function switching, determine the target display function based on the switching request, and control the 3D rendering lens to move from the initial lens position to the target lens position, wherein the initial lens position is the position of the 3D rendering lens in the current display function, the target lens is the position of the 3D rendering lens in the target display function, and different display functions share one 3D rendering lens.
[0096] According to one embodiment of this application, the control module 120 controls the 3D rendering lens to move from an initial lens position to a target lens position. Specifically, it is used to: determine a lens movement path based on the initial lens position and the target lens position; determine a lens movement speed based on the lens movement path and a preset movement animation duration; and determine a lens movement animation based on the lens movement path, the lens movement speed, and the target animation, so as to move the 3D rendering lens to the target lens position based on the lens movement animation. The target animation includes keyframes, which represent the state of the 3D rendering lens at different points in time. The state includes the rotation state, focal length state, and position state of the 3D rendering lens.
[0097] According to one embodiment of this application, the control module 120 is further configured to: when the target application is started, control the window background transparency of the target application to be reduced to zero based on a first preset transparency.
[0098] According to one embodiment of this application, the control module 120 is further configured to: after the window background transparency of the control target application is reduced to zero, control the user interface elements within the target application to reduce their transparency to zero based on a second preset value.
[0099] According to one embodiment of this application, the control module 120 is further configured to: receive a switching request to return to the desktop, control the 3D rendering lens to move from the target lens position to the initial lens position, and gradually change the target scene to the initial 3D background.
[0100] According to one embodiment of this application, the control module 120 is further configured to: when the target application exits, control the window background transparency of the target application to increase to a preset transparency based on a third preset transparency.
[0101] It should be noted that for details not disclosed in the 3D interface switching device of this application embodiment, please refer to the details disclosed in the 3D interface switching method of this application embodiment, which will not be repeated here.
[0102] According to an embodiment of this application, a 3D interface switching device includes a receiving module for receiving a target switching request and a control module for controlling the 3D rendering camera to move from its initial camera position to the target camera position when the current desktop mode of the display device is 3D desktop mode, and the target switching request is an application switching request. The control module also controls the initial 3D background of the current 3D desktop to gradually transition to the target scene. The target switching request includes a target camera position and a target scene. The 3D desktop and the target application share a single 3D rendering camera, and the initial camera position is the position of the 3D rendering camera on the 3D desktop. Therefore, this device can provide a continuous and uninterrupted visual experience, enhancing the user's immersion and engagement, and improving the technological and luxurious feel of the vehicle cabin.
[0103] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0104] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0105] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0106] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0107] In this application, unless otherwise expressly specified and limited, the terms "installation," "connection," "joining," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise expressly limited. Those skilled in the art can understand the specific meaning of the above terms in this application according to the specific circumstances.
[0108] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.
Claims
1. A method for switching 3D interfaces, characterized in that, The method includes: Receive target switching request; When the current desktop mode of the display device is 3D desktop mode, if the target switching request is an application switching request, the 3D rendering camera is controlled to move from the initial camera position to the target camera position, and the initial 3D background of the current 3D desktop is gradually changed to the target scene. The target switching request includes the target camera position and the target scene. The 3D desktop and the target application share a 3D rendering camera, and the initial camera position is the position of the 3D rendering camera on the 3D desktop.
2. The method for switching 3D interfaces according to claim 1, characterized in that, The method further includes: If the target switching request is an in-application function switch, then the target display function is determined based on the switching request, and the 3D rendering lens is controlled to move from the initial lens position to the target lens position. The initial lens position is the position of the 3D rendering lens in the current display function, and the target lens is the position of the 3D rendering lens in the target display function. Different display functions share one 3D rendering lens.
3. The method for switching 3D interfaces according to claim 1 or 2, characterized in that, The control of moving the 3D rendering camera from the initial camera position to the target camera position includes: The lens movement path is determined based on the initial lens position and the target lens position; The camera movement speed is determined based on the camera movement path and the preset movement animation duration. The camera movement animation is determined based on the camera movement path, the camera movement speed, and the target animation, so that the 3D rendering camera moves to the target camera position based on the camera movement animation. The target animation includes keyframes, which represent the state of the 3D rendering camera at different points in time. The state includes the rotation state, focal length state, and position state of the 3D rendering camera.
4. The method for switching 3D interfaces according to claim 1, characterized in that, The method further includes: When the target application is launched, the window background transparency of the target application is reduced to zero based on a first preset transparency control.
5. The method for switching 3D interfaces according to claim 4, characterized in that, The method further includes: After reducing the transparency of the target application's window background to zero, the user interface elements within the target application are then reduced to zero based on a second preset transparency.
6. The method for switching 3D interfaces according to claim 1, characterized in that, The method further includes: Upon receiving a request to return to the desktop, the system controls the 3D rendering camera to move from the target camera position to the initial camera position and then transitions the target scene to the initial 3D background.
7. The method for switching 3D interfaces according to claim 4, characterized in that, The method further includes: When the target application exits, the window background transparency of the target application is increased to the preset transparency based on a third preset transparency control.
8. A computer-readable storage medium, characterized in that, It stores a program that, when executed by a processor, implements the method for switching 3D interfaces according to any one of claims 1-7.
9. A vehicle, characterized in that, include: A memory, a processor, and a program stored in the memory and executable on the processor, wherein the processor, when executing the program, implements the method for switching 3D interfaces according to any one of claims 1-7.
10. A device for switching 3D interfaces, characterized in that, The device includes: The receiving module is used to receive target switching requests; The control module is configured to, when the current desktop mode of the display device is 3D desktop mode, if the target switching request is an application switching request, control the 3D rendering lens to move from the initial lens position to the target lens position, and gradually transition the initial 3D background of the current 3D desktop to the target scene. The target switching request includes the target lens position and the target scene. The 3D desktop and the target application share a 3D rendering lens, and the initial lens position is the position of the 3D rendering lens on the 3D desktop.