Pseudo-haptic weight perception method, apparatus, device, and storage medium

By acquiring the controller's pose and dynamic model in virtual reality and rendering nonlinear bending rays, the problem of inaccurate weight perception in long-distance interaction is solved, and the accuracy and intuitiveness of weight perception are improved.

CN122431515APending Publication Date: 2026-07-21HONG KONG UNIV OF SCI & TECH (GUANGZHOU)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610248858.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-03-02
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

In virtual reality, in long-distance ray interaction scenarios, it is difficult for users to perceive the weight of objects stably and intuitively through visual feedback. Existing methods are inaccurate and unintuitive in long-distance interaction.

Method used

By acquiring the real-time pose of the controller, calculating the length of the interactive ray and the virtual mass, establishing a dynamic model, rendering a nonlinear bending ray, and using the virtual mass and dynamic model, the weight perception is transformed from visual simulation to physical simulation, maintaining the stability of the controller's visual representation.

Benefits of technology

It improves the accuracy and intuitiveness of weight perception in long-distance ray interaction scenarios, allowing users to accurately distinguish the differences in virtual mass through the motion feedback of the target object, and the visual feedback is consistent with the physical simulation logic.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122431515A_ABST
    Figure CN122431515A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a pseudo-haptic weight perception method, device, equipment and storage medium, and relate to the technical field of virtual reality. When it is identified that a target object is selected, the length of an interaction ray is calculated and fixed according to a real-time pose and an initial position of the target object, in each time frame according to a preset time frame interval, a ray ideal end point position is calculated according to the real-time pose and the length of the interaction ray, a dynamics model is established according to a virtual mass, an actual rendering position of the target object is calculated based on the dynamics model, a spatial deviation vector of the ray ideal end point position and the actual rendering position is obtained, a non-linear curved ray is generated and rendered based on the spatial deviation vector, the actual rendering position is applied to the target object or a local anchor point of the target object, and a visual representation of a controller at the real-time pose is maintained. A user distinguishes the difference of different virtual masses through the motion retardation degree of the target object and the curved deformation of the ray, and the accuracy of virtual reality weight perception is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of virtual reality technology, and in particular to pseudo-tactile weight sensing methods, apparatus, devices, and storage media. Background Technology

[0002] Virtual Reality (VR) is a virtual world that integrates 3D graphics, multimedia, simulation, display, and servo technologies, using computers and other devices to generate a realistic multi-sensory experience encompassing sight, touch, and smell. In VR interaction, weight perception is a crucial factor in enhancing realism, immersion, and the credibility of the interaction. However, most head-mounted displays lack realistic force feedback, making it difficult for users to perceive the weight of objects through physical forces during virtual tasks such as moving, dragging, and lifting.

[0003] Related technologies construct "weight illusions" by manipulating visual feedback, such as controlling the display-to-diffraction (C / Datio) modulation, introducing tracking delay, or applying vertical offset, thus achieving visual weight feedback without additional hardware. However, most of these methods have only been validated in near-field direct hand interaction. In far-field ray interaction scenarios, due to the lack of intuitive analogies and tactile information, users find it difficult to consistently map the delay into weight perception, resulting in an inability to stably and intuitively express weight in far-field ray interaction. Summary of the Invention

[0004] The main objective of this application is to propose a pseudo-tactile weight perception method, apparatus, device, and storage medium to improve the accuracy of weight perception in virtual reality under long-distance ray interaction scenarios.

[0005] To achieve the above objectives, a first aspect of this application proposes a pseudo-tactile weight sensing method, comprising: The controller's real-time pose is obtained. When a target object is detected as selected, the interaction ray length is calculated and fixed based on the real-time pose and the initial position of the target object. The virtual mass of the target object is obtained, and the velocity parameters of the target object are initialized. According to the preset time frame interval, in each time frame, the ideal endpoint position of the ray is calculated based on the real-time pose and the length of the interactive ray, a dynamic model is established based on the virtual mass, and the actual rendering position of the target object is calculated based on the dynamic model. Obtain the spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position, and generate and render a nonlinear curved ray based on the spatial deviation vector; The actual rendering position is applied to the target object or a local anchor point of the target object, and the visual representation of the controller under the real-time pose is maintained.

[0006] In some embodiments, calculating the ideal endpoint position of the ray based on the real-time pose and the interaction ray length includes: The controller position vector and forward unit vector for the current time frame are obtained based on the real-time pose. The first intermediate value is obtained by multiplying the length of the interactive ray and the forward unit vector. The ideal endpoint position of the ray is obtained by adding the first intermediate value to the controller position vector.

[0007] In some embodiments, establishing a dynamic model based on the virtual mass includes: The intermediate value of the spring force is obtained based on the difference between the actual rendering position and the ideal endpoint position of the ray in the current time frame. The spring force parameter is obtained based on the intermediate value of the spring force and the preset spring stiffness. The initial value of the actual rendering position is the initial position of the target object. The gravity parameters are obtained based on the virtual mass and the preset gravitational acceleration, and the damping force parameters are obtained based on the velocity parameters of the current time frame and the preset damping coefficient. The resultant force parameters of the current time frame are obtained based on the spring force parameters, the gravity parameters, and the damping force parameters, so as to construct the motion differential equations of the dynamic model.

[0008] In some embodiments, calculating the actual rendering position of the target object based on the dynamic model includes: The acceleration parameters are obtained by dividing the resultant force parameters by the virtual mass. The velocity parameters for the next time frame are obtained based on the velocity parameters, acceleration parameters, and time frame interval of the current time frame. The actual rendering position of the next time frame is obtained based on the actual rendering position of the current time frame, the speed parameter of the next time frame, and the time frame interval.

[0009] In some embodiments, generating and rendering a nonlinear curved ray based on the spatial deviation vector includes: The controller position vector for the current time frame is obtained based on the real-time pose. In the current time frame, the quadratic Bezier control point is obtained based on the corresponding spatial deviation vector, the controller position vector, the preset curvature scaling factor, and the ideal endpoint position of the ray. In the current time frame, a quadratic Bézier curve is generated as the nonlinear bending ray based on the quadratic Bézier control point, the controller position vector, and the actual rendering position. The nonlinear bending ray is then discretely sampled into a preset number of line segments for rendering and display.

[0010] In some embodiments, obtaining the quadratic Bezier control point based on the corresponding spatial deviation vector, the controller position vector, the curvature scaling factor, and the ideal endpoint position of the ray includes: The product of the curvature scaling factor and the spatial deviation vector is calculated as the second intermediate value, and the product of the preset parameter and the ideal endpoint position of the ray is calculated as the third intermediate value. The quadratic Bessel control point is obtained by calculating the sum of the controller position vector, the second intermediate value, and the third intermediate value.

[0011] In some embodiments, the method further includes: when it is detected that the actual rendering position of the target object penetrates the preset boundary between the target object and the virtual environment, projecting the actual rendering position of the target object back into the feasible area along the normal direction, and attenuating or clearing the normal component of the velocity parameter of the target object in the current time frame.

[0012] To achieve the above objectives, a second aspect of this application provides a pseudo-tactile weight sensing device, comprising: Initial calculation module: used to obtain the real-time pose of the controller. When the target object is detected to be selected, the interaction ray length is calculated and fixed according to the real-time pose and the initial position of the target object, the virtual mass of the target object is obtained, and the velocity parameters of the target object are initialized. Position update module: used to calculate the ideal endpoint position of the ray in each time frame according to the real-time pose and the length of the interactive ray, establish a dynamic model according to the virtual mass, and calculate the actual rendering position of the target object based on the dynamic model; Ray rendering module: used to obtain the spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position, and to generate and render a nonlinear curved ray based on the spatial deviation vector; Visual representation module: used to apply the actual rendering position to the target object or the local anchor point of the target object, and maintain the visual representation of the controller under the real-time pose.

[0013] To achieve the above objectives, a third aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the method described in the first aspect.

[0014] To achieve the above objectives, a fourth aspect of the present application provides a storage medium that stores a computer program, which, when executed by a processor, implements the method described in the first aspect.

[0015] The pseudo-tactile weight sensing method, apparatus, device, and storage medium proposed in this application acquire the real-time pose of the controller. When a target object is detected as selected, the length of the interaction ray is calculated and fixed based on the real-time pose and the initial position of the target object. The virtual mass of the target object is acquired, and the velocity parameters of the target object are initialized. At each preset time frame interval, the ideal endpoint position of the ray is calculated based on the real-time pose and the length of the interaction ray. A dynamic model is established based on the virtual mass, and the actual rendering position of the target object is calculated based on the dynamic model. The spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position is acquired. A nonlinear bending ray is generated and rendered based on the spatial deviation vector. The actual rendering position is applied to the target object or a local anchor point of the target object, and the visual representation of the controller under the real-time pose is maintained. This application first establishes a virtual rigid connection between the controller and the target object by fixing the length of the interaction ray, avoiding perceptual confusion caused by fluctuations in the ray length, allowing users to establish a clear spatial association and force transmission perception even when operating remotely. Next, virtual mass and dynamics models are used to transform weight perception from visual simulation to physical simulation. Position calculations are performed based on physical laws, allowing users to intuitively perceive weight differences through the motion feedback of the target object when operating virtual objects of different masses, achieving a physical-level restoration of weight perception. Simultaneously, nonlinear bending rays based on spatial deviation vector rendering are used for intuitive weight perception. In long-distance interaction scenarios, the nonlinear bending rays directly map spatial deviation through the degree of deformation. The larger the virtual mass, the larger the deviation vector, and the more obvious the ray bending. Therefore, users can clearly capture the visual effect of resistance feedback when pulling heavy objects, transforming abstract dynamic parameters into visual signals that users can perceive in real time, making the distinction of weight differences more accurate and intuitive. Finally, the actual rendering position is applied only to the target object or its local anchor points, maintaining the controller's visual representation in real-time pose. This ensures that the target object's motion conforms to dynamic laws, and avoids perceptual misalignment caused by pose drift by fixing the controller's visual position, ensuring a high degree of consistency between the user's visual feedback and the physical simulation logic. This allows users to accurately distinguish differences in virtual mass by observing the slowness of the target object's motion and the bending deformation of the ray, thereby improving the accuracy of virtual reality weight perception in long-distance ray interaction scenarios. Attached Figure Description

[0016] Figure 1 This is a flowchart of the pseudo-tactile weight sensing method provided in the embodiments of this application.

[0017] Figure 2 This is a schematic diagram of an application scenario for pseudo-tactile weight sensing provided in an embodiment of this application.

[0018] Figure 3This is a flowchart provided in an embodiment of the present application for calculating the ideal endpoint position of a ray based on the real-time pose and the length of the interactive ray.

[0019] Figure 4 This is a flowchart of establishing a dynamic model based on virtual mass, provided in an embodiment of this application.

[0020] Figure 5 This is a flowchart illustrating the calculation of the actual rendering position of a target object based on a dynamic model, provided in an embodiment of this application.

[0021] Figure 6 This is a flowchart of generating and rendering a nonlinear bending ray based on a spatial deviation vector, provided in an embodiment of this application.

[0022] Figure 7 These are visual renderings of target objects of different weights provided in the embodiments of this application.

[0023] Figure 8 This is a structural block diagram of a pseudo-tactile weight sensing device provided in another embodiment of this application.

[0024] Figure 9 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0025] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0026] It should be noted that although functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart.

[0027] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0028] Virtual Reality (VR) is a virtual world that integrates 3D graphics, multimedia, simulation, display, and servo technologies, using computers and other devices to generate a realistic multi-sensory experience encompassing sight, touch, and smell. In VR interaction, weight perception is a crucial factor in enhancing realism, immersion, and the credibility of the interaction. However, most head-mounted displays lack realistic force feedback, making it difficult for users to perceive the weight of objects through physical forces during virtual tasks such as moving, dragging, and lifting.

[0029] In related technologies, on the one hand, hardware force feedback or haptic devices can be used to provide realistic force or resistance through mechanical actuation, structural deformation, or mass transfer; on the other hand, "weight illusions" can be constructed by manipulating visual feedback, such as controlling the display ratio (C / D ratio) modulation, introducing tracking delay, or applying vertical offset, achieving visual weight feedback without additional hardware. However, hardware force feedback or haptic devices suffer from high cost, complex wearing and deployment, and poor adaptability. Controlling the display ratio modulation creates the illusion of greater weight by reducing the displacement of objects on the display side. This method is closer to changes in manipulation efficiency and is not intuitive in expressing the inertia and gravity cues of weight. When applied to long-distance ray interaction, it is easily perceived by users as a slowdown or insensitivity of the system. Tracking delay uses visual delay to simulate inertial resistance, which may reduce controllability in operations requiring continuous coupling. Furthermore, long-distance ray interaction lacks real reference motion, making it difficult for users to consistently map the delay into a weight perception. Vertical offset along the gravity axis creates misalignment to enhance the sense of effort, usually achieved through misalignment of the hand and object. This can reduce body ownership and immersion, and if not handled properly in ray-based interaction, it can also cause inconsistency between visual and operational intentions. Most near-field pseudo-haptic solutions assume that users have near-field action references such as grasping and lifting, which are difficult to directly transfer to ray-based interaction. Ray-based interaction lacks intuitive analogies and tactile information, and its system structure (ray origin – ray segment – ​​endpoint) differs from near-field interaction, making simple transfer prone to perceptual inconsistency and a decline in experience. Therefore, these weight illusion methods are difficult to achieve stable and intuitive weight expression in far-field ray-based interaction.

[0030] Based on this, embodiments of this application provide a pseudo-tactile weight perception method, apparatus, device, and storage medium. First, a virtual rigid connection is established between the controller and the target object by fixing the length of the interactive ray, avoiding perceptual confusion caused by fluctuations in ray length. This allows users to establish a clear spatial association and force transmission perception even when operating remotely. Next, a virtual mass and dynamic model is used to transform weight perception from visual simulation to physical simulation. Position calculation is performed based on physical laws, allowing users to intuitively perceive weight differences through the motion feedback of the target object when operating objects of different virtual masses, achieving a physical-level restoration of weight perception. Simultaneously, a nonlinear bending ray based on spatial deviation vector rendering is used for intuitive weight perception. In remote interaction scenarios, the nonlinear bending ray directly maps spatial deviation through the degree of deformation. The larger the virtual mass, the larger the deviation vector, and the more obvious the ray bending. Therefore, users can clearly capture the visual effect of resistance feedback when pulling heavy objects, transforming abstract dynamic parameters into visual signals that users can perceive instantly, making the distinction of weight differences more accurate and intuitive. Finally, the actual rendering position is applied only to the target object or its local anchor points, while maintaining the controller's visual representation in real-time pose. This ensures that the target object's motion conforms to dynamic laws, and avoids perceptual misalignment caused by pose drift by fixing the controller's visual position, making the user's visual feedback highly consistent with the physical simulation logic. Thus, users can accurately distinguish differences in virtual mass by observing the target object's motion sluggishness and the bending deformation of the ray, improving the accuracy of virtual reality weight perception in long-distance ray interaction scenarios.

[0031] This application provides a pseudo-tactile weight sensing method, apparatus, device, and storage medium, which are specifically described through the following embodiments. First, the pseudo-tactile weight sensing method in the embodiments of this application is described.

[0032] The pseudo-haptic weight sensing method provided in this application relates to the field of virtual reality technology. This method can be applied to a terminal, a server, or a computer program running on either the terminal or the server. For example, the computer program can be a native program or software module in an operating system; it can be a native application (APP), i.e., a program that needs to be installed in the operating system to run, such as a client supporting pseudo-haptic weight sensing, i.e., a program that only needs to be downloaded to a browser environment to run; or it can be a small program that can be embedded into any APP. In short, the above-mentioned computer program can be any form of application, module, or plugin. The terminal communicates with the server via a network. The pseudo-haptic weight sensing method can be executed by the terminal or the server, or by the terminal and the server working together.

[0033] In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, or smartwatch, etc. The server can be a standalone server, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms; it can also be a service node in a blockchain system, where the service nodes form a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol running on top of the Transmission Control Protocol (TCP). The terminal and server can connect via Bluetooth, Universal Serial Bus (USB), or a network, etc., and this embodiment does not impose any limitations.

[0034] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0035] The pseudo-tactile weight sensing method in the embodiments of this application is described below.

[0036] Figure 1 This is an optional flowchart of the pseudo-tactile weight sensing method provided in the embodiments of this application. Figure 1 The method may include, but is not limited to, steps 110 to 140. It is also understood that this embodiment... Figure 1 The order of steps 110 to 140 is not specifically limited. The order of steps can be adjusted or some steps can be reduced or added according to actual needs.

[0037] Step 110: Obtain the real-time pose of the controller. When the target object is detected as selected, calculate and fix the length of the interaction ray based on the real-time pose and the initial position of the target object, obtain the virtual mass of the target object, and initialize the velocity parameters of the target object.

[0038] In one embodiment, reference is made to Figure 2 , Figure 2 This is a schematic diagram illustrating an application scenario of pseudo-tactile weight perception provided in this application embodiment. As shown in the diagram, the user is in an immersive virtual reality environment, wearing a VR headset and sitting in a chair, holding a controller in their right hand for remote operation. The user does not need to move close to the object but interacts remotely via rays. In one interaction scenario, the user can generate grasping-related input commands by pressing the grasp button on the VR controller or performing specific gestures, such as "pinch," and use the rays emitted by the controller to grasp and lift a target object on a distant shelf. The moment the ray emitted by the controller selects or grasps the target object, it is recognized as the target object being selected.

[0039] In one embodiment, the system can cyclically detect user input commands in each frame, emit a virtual ray from the controller along the forward direction, and perform bounding box collision detection with interactive objects in the virtual scene. When the ray hits a target object and the user triggers a grab command, the system determines that "the target object is selected," sets the interaction state to "weight feedback enabled," and records the timestamp t0 at this moment. Then, at the instant of selection, the system can read the controller's position vector P0(t0) in the world coordinate system and the normalized forward unit vector f(t0) through the VR headset's positioning and tracking interface. The controller position vector is determined by the controller's position in the current time frame, and the forward unit vector indicates the controller's control direction. When the user rotates their wrist, raises their arm, or tilts the controller in virtual reality, the direction the controller points changes, and the value of the forward unit vector is updated immediately. Furthermore, to prevent inaccurate initial data due to user hand tremors, the acquired real-time pose can be low-pass filtered or exponentially smoothed.

[0040] Understandably, at the level of extended input interaction devices, the method of obtaining the real-time pose of the controller is not limited to physical VR controllers, but can also be extended to bare-hand tracking input: the system can obtain the spatial coordinates of the center of the user's palm or the tip of the index finger as the controller position, and extract the natural direction of the finger as the forward unit vector. In order to reduce high-frequency input noise caused by physiological hand tremors, the system can preferentially perform first-order low-pass filtering or exponential smoothing on the acquired real-time pose data, thereby ensuring the stability of visual feedback without changing the core mapping relationship.

[0041] Then, after obtaining the real-time pose of the controller, it is also necessary to read the current actual physical position or rendering position of the hit target object as the initial position of the target object in the world coordinate system: at the same time, the system, denoted as the initial position Pobj(t0).

[0042] Next, using the Euclidean distance formula, the interaction ray length is calculated and fixed based on the real-time pose and the initial position of the target object. The interaction ray length is L = ||Pobj(t0). P0(t0)||, and then, until the user releases the grab button, the value of the interaction ray length L remains constant. Regardless of how the user moves or rotates the controller during dragging, this fixed L value is used in the rendering calculation. The purpose of fixing the interaction ray length is to ensure the stability of the intended endpoint, ensuring that the ideal landing point expected by the user—that is, the stable position the object should be in when there is no weight influence—is achieved. This effectively reduces the cognitive confusion caused by the endpoint drifting back and forth during operation. Only after fixing the interaction ray length can the visual deviations such as motion lag and vertical drop caused by the target object due to gravity and spring force be accurately calculated, thus generating a dynamically curved ray to convey the sense of weight.

[0043] In one embodiment, since the target objects vary in type and size, the system reads a preset virtual mass from a pre-configured attribute table for the target object. It is understood that if the target object's attribute table is not found, a default mass value is automatically assigned, or a mass value is automatically generated based on the object's volume parameters and material type. Simultaneously, to ensure smooth calculation of the dynamic model from a static state, the velocity parameter v(t0) of the visual rendering of the target object corresponding to that timestamp is initialized to a zero vector.

[0044] Step 120: According to the preset time frame interval, in each time frame, calculate the ideal endpoint position of the ray based on the real-time pose and the length of the interactive ray, establish a dynamic model based on the virtual mass, and calculate the actual rendering position of the target object based on the dynamic model.

[0045] In one embodiment, when the target object is selected, the system starts a background update loop and calculates the real-time rendering position in each time frame according to the engine's preset time frame interval Δ(t).

[0046] The following explanation uses time frame t as an example. First, the ideal endpoint position of the ray is calculated based on the real-time pose and the length of the interactive ray, referring to... Figure 3 , Figure 3 This is a flowchart of calculating the ideal endpoint position of a ray based on the real-time pose and the length of the interactive ray, provided in an embodiment of this application. The flowchart specifically includes the following steps: Step 310: Obtain the controller position vector and forward unit vector for the current time frame based on the real-time pose.

[0047] Step 320: Calculate the product of the interactive ray length and the forward unit vector to obtain the first intermediate value, and add the first intermediate value to the controller position vector to obtain the ideal endpoint position of the ray.

[0048] In one embodiment, the controller position vector in the real-time pose corresponding to the current time frame t is P0(t), and the forward unit vector is f(t). Therefore, the product of the interaction ray length L and the forward unit vector f(t) is calculated to obtain the first intermediate value L·f(t). The controller position vector P0(t) is added to the first intermediate value L·f(t) to obtain the ray ideal endpoint position P2_ideal(t), which is expressed as: P2_ideal(t)=P0(t)+L·f(t). This ray ideal endpoint position represents the absolute spatial position of the object that the user intends to place with their current hand gesture.

[0049] Next, the system models the target object as a point-mass system and constructs a force model for it. (Refer to...) Figure 4 , Figure 4 This is a flowchart of establishing a dynamic model based on virtual mass provided in an embodiment of this application, specifically including the following steps: Step 410: Obtain the intermediate value of the spring force based on the difference between the actual rendering position of the current time frame and the ideal endpoint position of the ray, and obtain the spring force parameters based on the intermediate value of the spring force and the preset spring stiffness.

[0050] In one embodiment, at the current time frame t, the current actual rendering position P2_actual(t) of the target object and the ideal endpoint position P2_ideal(t) of the interaction ray are first obtained, and the spatial vector difference between the two is calculated to obtain the intermediate value of the spring force (P2_actual(t)). P2_ideal(t)). This intermediate spring force value physically represents the dynamic stretching of the target object from the user's intended position. Subsequently, the preset spring stiffness k is read, and the spring force parameter Fs is calculated using this intermediate spring force value, expressed as: Fs= k·(P2_actual(t) P2_ideal(t)) This embodiment uses spring force parameters to simulate the elastic traction of a virtual ray attempting to pull a target object back to its ideal endpoint. It is understood that at the initial moment the target object is hit by the ray, since no relative motion or delay has yet occurred, the initial position of the target object in the virtual environment is used as the initial value of the actual rendered position. The actual rendered position will be updated in other time frames.

[0051] Step 420: Obtain gravity parameters based on virtual mass and preset gravitational acceleration, and obtain damping force parameters based on velocity parameters of the current time frame and preset damping coefficient.

[0052] In one embodiment, in order to simulate the realistic feeling of falling of the target object, it is necessary to read the virtual mass m of the target object and multiply it by the preset gravity acceleration vector g in the virtual engine to obtain the gravity parameter Fg=mg, where the value of the gravity acceleration vector can be the default value.

[0053] Next, to prevent visual oscillations of the target object under elastic traction, this embodiment introduces a damping mechanism. The velocity parameter v(t) of the target object in the current time frame is obtained, where the initial value of the velocity parameter can be zero. Then, the damping force parameter Fd is calculated using the damping coefficient c, expressed as: Fd= c·v(t)= c· 2_actual(t) v(t) = 2_actual(t) It is understandable that the damping coefficient c is preferably determined according to the formula. Dynamic calculation, in which, The preset damping ratio, for example, can be set to 1, to indicate the critical damping state, so as to ensure that the target object's motion trajectory is smooth, stable and without oscillation.

[0054] Step 430: Obtain the resultant force parameters of the current time frame based on the spring force parameters, gravity parameters, and damping force parameters, in order to construct the motion differential equations of the dynamic model.

[0055] In one embodiment, the spring force parameter Fs, gravity parameter Fg, and damping force parameter Fd obtained above are summed to obtain the resultant force parameter Fg+Fs+Fd acting on the target object in the current time frame. Next, based on Newton's second law, a second-order differential equation of motion describing the motion state of the target object is constructed using this resultant force parameter, expressed as: m· 2_actual(t)+c· 2_actual(t)+k(P2_actual(t) P2_ideal(t))=mg in, 2_actual(t) represents the acceleration parameter of the current time frame. It can be seen that by constructing the motion differential equation, the simple spatial geometric binding relationship is transformed into a complete mass-driven physical simulation system.

[0056] It is understandable that the construction of the dynamic model is not strictly limited to the basic uniaxial mass-spring-damped system. The dynamic model can be equivalently replaced by other types of second-order or multi-degree-of-freedom physical motion models. For example, an anisotropic spring mechanism, a nonlinear damping mechanism strongly correlated with velocity parameters, or a gravity gain based on dynamic adjustment in spatial direction can be introduced into the force calculation logic. While maintaining the technical principle of "using virtual mass as the core parameter to drive the displacement trajectory," any of the above-mentioned alternative models that can produce visual lag and vertical drop offset effects positively correlated with virtual mass are applicable to this embodiment.

[0057] In one embodiment, numerical integration is used to update the real-time rendered position of the target object using a dynamic model. (See also...) Figure 5 , Figure 5 This is a flowchart illustrating the calculation of the actual rendering position of a target object based on a dynamic model, provided in an embodiment of this application. The flowchart specifically includes the following steps: Step 510: Obtain the acceleration parameters based on the quotient of the resultant force parameters and the virtual mass.

[0058] In one embodiment, since the resultant force parameters acting on the target object in the current time frame have already been calculated, the second-order differential equation of motion can be rearranged according to Newton's second law. The obtained resultant force parameters are then divided by the virtual mass m of the target object to obtain the acceleration parameter a(t) of the target object in the current time frame, expressed as: a(t) = (Fg + Fs + Fd) / m Step 520: Obtain the velocity parameters for the next time frame based on the velocity parameters, acceleration parameters, and time frame interval of the current time frame.

[0059] In one embodiment, to ensure the real-time performance and stability of the physics simulation in high frame rate rendering of virtual reality, this embodiment employs a semi-implicit Euler method, a fixed-step integral algorithm, for state updates. First, the fixed time frame interval Δt currently set by the engine is obtained. The acceleration parameter a(t) of the current time frame is multiplied by this time frame interval Δt to obtain the velocity change. Then, this velocity change is accumulated onto the velocity parameter v(t) of the target object in the current time frame, thereby calculating the velocity parameter v(t+Δt) for the next time frame, expressed as: v(t+Δt)=v(t)+a(t·Δt Step 530: Obtain the actual rendering position of the next time frame based on the actual rendering position of the current time frame, the speed parameters of the next time frame, and the time frame interval.

[0060] In one embodiment, after obtaining the velocity parameter v(t+Δt) for the next time frame, the position integration stage begins. Following the logic of the semi-implicit Euler method, the latest obtained velocity parameter v(t+Δt) for the next time frame is multiplied by the time frame interval Δt to obtain the spatial displacement increment v(t+Δt)·Δt of the target object. This spatial displacement increment is then added to the actual rendering position P2_actual(t) of the target object in the current time frame to obtain the actual rendering position P2_actual(t+Δt) for the next time frame, expressed as: P2_actual(t+Δt)=P2_actual(t)+v(t+Δt)·Δt It can be seen that when the virtual mass m is large, the calculated actual rendering position will be unable to keep up with the ideal endpoint of the ray due to the small acceleration and slow speed update. This will result in obvious "drag lag" and "downward vertical offset" in the visuals. Therefore, the updated actual rendering position will be drawn by the rendering pipeline to visually and intuitively display the weight information.

[0061] Accordingly, in the step of calculating the actual rendering position of the target object frame by frame based on the dynamic model, the integration algorithm used is not limited to the semi-implicit Euler method. It can be equivalently replaced by other stable numerical integration methods such as the Welley integration method, the second-order or fourth-order Runge-Kutta integration method. At the same time, in the selection of the integration step size, either a preset fixed time frame interval or an adaptive step size strategy can be adopted. As long as the selected numerical integration scheme can calculate and continuously output the actual rendering position of the target object in each time frame in real time and stably in the high frame rate operation environment of the virtual reality system, it falls within the equivalent implementation range of the core logic of this embodiment.

[0062] Step 130: Obtain the spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position, and generate and render the nonlinear curved ray based on the spatial deviation vector.

[0063] In one embodiment, at the current time frame t, the ideal endpoint position of the ray derived from kinematics, P2_ideal(t), and the actual rendered position of the target object, P2_actual(t), calculated by numerical integration from the dynamic model are obtained respectively. The spatial deviation vector Δ(t)' is calculated by subtracting these two spatial coordinates, and is expressed as: Δ(t)'=P2_ideal(t) P2_actual(t) Among them, the spatial deviation vector Δ(t)' can quantify the lag and fall of the target object due to its own weight and inertial resistance, which prevents it from fully keeping up with the user's hand movements.

[0064] Next, curve rendering is performed based on this spatial deviation vector. (Refer to...) Figure 6 , Figure 6 This application provides a flowchart for generating and rendering nonlinear bending rays based on spatial deviation vectors, which specifically includes the following steps: Step 610: Obtain the controller position vector for the current time frame based on the real-time pose. In the current time frame, obtain the quadratic Bezier control point based on the corresponding spatial deviation vector, controller position vector, preset curvature scaling factor, and ideal ray endpoint position.

[0065] In one embodiment, at the current time frame, the real-time pose of the controller is acquired through the VR hardware interface, and its controller position vector P0(t) in the world coordinate system is extracted. Simultaneously, the previously calculated ideal endpoint position of the ray P2_ideal(t) and the spatial deviation vector Δ(t)' are read. Furthermore, a preset curvature scaling factor s is read. To ensure that the ray is a straight line when there is no deviation and curved proportionally when there is deviation, a quadratic Bezier control point is obtained based on the corresponding spatial deviation vector, controller position vector, preset curvature scaling factor, and ideal endpoint position of the ray, expressed as: P1(t)=P0(t)+P2_ideal(t) / 2+s·Δ(t)' It is understandable that the curvature scaling factor s determines the strength of the visibility of ray bending. When the user moves a large object, causing the spatial deviation vector Δ(t)' to be significantly amplified, the control point P1(t) will be offset more by the above formula. Therefore, the preset curvature scaling factor can be set in advance according to the actual type of the target object.

[0066] Step 620: In the current time frame, generate a quadratic Bézier curve as a nonlinear bending ray based on the quadratic Bézier control points, controller position vector, and actual rendering position. Discretize the nonlinear bending ray into a preset number of line segments for rendering and display.

[0067] In one embodiment, at the current time frame, the acquired controller position vector P0(t) is used as the starting point of the curve, and the actual rendering position of the target object P2_actual(t) is used as the ending point of the curve. Combined with the quadratic Bézier control point P1(t), the standard quadratic Bézier curve equation is substituted to generate a quadratic Bézier curve, expressed as: B(t,u)=(1 u)²P0(t)+2u(1 u)P1(t)+u²P2_actual(t) Where the parameter u ∈ [0,1]. A quadratic Bézier curve describes the nonlinear curved ray geometric trajectory of a target object in continuous space. Since 3D graphics engines, such as Unity or Unreal Engine, cannot directly draw absolutely smooth continuous mathematical curves, a discrete sampling step is performed to sample the interval of parameter u at preset intervals of N, where N can be 16, 24, or 32, etc., calculating N+1 sequentially arranged, discrete 3D space vertex coordinates. These discretely sampled vertex coordinates are submitted to the line segment rendering component of the rendering engine, connecting these N line segments end-to-end for rendering and display. Therefore, referring to... Figure 2 In the user's VR view, the originally straight ray presents a pseudo-tactile visual effect of dynamically bending according to the weight and movement deviation of the target object.

[0068] Understandably, in terms of visual rendering extension, the specific geometric form of nonlinear curved rays generated based on spatial deviation vectors is not absolutely limited to quadratic Bézier curves. While maintaining the core technical principle that the curvature of the nonlinear curved ray dynamically increases with the increase of the spatial deviation vector, the system can also use cubic Bézier curves, spline curves, or piecewise continuous curves for alternative drawing. In this case, the control points required to generate the curve (such as multiple higher-order control points that replace quadratic Bézier control points) can be constructed through nonlinear functions of the spatial deviation vector, filtered smooth deviations, or multi-point interpolation combinations, thereby providing richer and more delicate visual representations for different virtual reality applications.

[0069] Step 140: Apply the actual rendering position to the target object or a local anchor point of the target object, and maintain the visual representation of the controller in real-time pose.

[0070] In one embodiment, at each time frame, the 3D rendering engine obtains the actual rendering position of the target object, solved by the dynamic model. For regularly shaped target objects, the actual rendering position is directly assigned to the geometric center or centroid level of the target object, causing the target object to appear as if it is falling and lags due to its weight in the rendered image. For irregularly shaped target objects or specific interactive scenes, the actual rendering position can be applied only to the surface points hit by rays or preset local grab anchor points on the target object. In this case, the local anchor point is used as the reference endpoint for displacement update, and through the rigid body constraint mechanism in the physics engine, the displacement cascade of the anchor point drives the update of the overall posture of the target object, thereby producing a more physically intuitive deflection and suspension effect.

[0071] Meanwhile, maintaining the controller's visual representation ensures that any positional deviations, velocity lags, and ray bending deformations calculated by the dynamic model are applied only to the target object at the ray's end and the ray itself. This forces the controller's rendering coordinates and rotation angles to be strictly and instantaneously synchronized with the real-time pose returned by the underlying tracking hardware. The controller's visual representation does not participate in the aforementioned lag calculations and will not undergo any unnatural positional misalignment or visual distortion to accommodate the curved interactive ray. This is because long-distance ray interaction lacks the real contact reference of near-field grasping. If even the user's own hand or the controller experiences delays or distortions, it may trigger a strong sense of dizziness and disrupt the control experience. Therefore, by maintaining the controller's visual representation in real-time pose and avoiding hand-object mismatch, the risk of disrupting the user's body ownership and control consistency is effectively reduced, thus safely and intuitively transmitting the illusion of weight to the brain without compromising immersion.

[0072] Reference Figure 2 The ray connecting the controller's front end to the target object is a smooth curve with a distinct downward sloping arc. This vertical offset in the direction of gravity is the result of the descent calculated in real time by the dynamic model based on the virtual mass of the cup. This curved ray visually conveys to the user that the target object has a certain weight. When the user swings the handle in this state to try to move the cup, the cup not only exhibits a sense of descent in the vertical direction but also shows motion lag in the horizontal direction due to simulated damping and elasticity. At the same time, the curvature of the ray changes dynamically in real time with the speed and angle of the user's swing. The user's brain automatically converts this visual effort and bending deformation into a pseudo-tactile sensation, thus realistically feeling the weight of the virtual cup without any real physical counterweight. In the image, the user's virtual hand and controller posture remain normal, without any unnatural distortion to accommodate the curvature of the ray.

[0073] In one embodiment, when it is detected that the actual rendering position of the target object penetrates the preset boundary between the target object and the virtual environment, the actual rendering position of the target object is projected back into the feasible area along the normal direction, and the normal component of the velocity parameter of the target object in the current time frame is attenuated or cleared.

[0074] Specifically, after the numerical integration of each time frame is completed, the calculated actual rendering position is not directly submitted to the rendering pipeline. Instead, a collision interception judgment is triggered first. The 3D physics engine is used to detect whether the target object, if it is at the actual rendering position, will geometrically intersect or penetrate a preset static boundary in the virtual environment, such as the ground, tabletop, wall, or shelf. When a penetration event is detected, the geometric normal vector of the contact surface and the penetration depth of the object are immediately extracted. To prevent the visual error of the object being embedded in the wall or floor, the actual rendering position of the target object is forcibly translated outward along the normal direction. The translation distance can be equal to the penetration depth, thus accurately projecting it back into the feasible area where no geometric collision has occurred. However, the velocity parameter of the target object in the current time frame may still have a huge momentum pointing into the wall. Therefore, it is not enough to just correct the position. If the velocity is not modified, the target object will crash into the wall again in the next time frame, causing the target object to experience violent visual high-frequency oscillations at the boundary. Therefore, it is also necessary to decompose the velocity parameter of the target object into a normal component perpendicular to the contact surface and a tangential component adhering to the contact surface. The normal component of the velocity is attenuated, for example, by multiplying it by a very small coefficient, to simulate the energy loss caused by an inelastic collision or by forcibly zeroing it out. After the velocity normal is zeroed out, the target object will no longer have the dynamic tendency to continue penetrating the boundary, which visually appears as the target object being steadily blocked or placed smoothly on the table / ground. This effectively ensures the visual rationality and task completion in immersive interactive scenes, avoiding the risk of clipping caused by direct teleportation.

[0075] In one embodiment, the event status of the input device is continuously monitored in each time frame. When the user releases the grasp button or ends a specific virtual gesture, the current selection and dragging cycle is determined to have ended. In the same time frame where the release event is detected, the mass-spring-damped dynamic connection between the target object and the ideal endpoint of the interaction ray is immediately severed, and frame-by-frame numerical integration calculations are completely stopped. At the same time, the state variables such as the interaction ray length L and the velocity parameters of the target object locked in memory during this selection cycle are cleared to prepare for the next interaction. After the connection is severed, the spatial deviation vector is no longer updated, the calculation of the control points of the quadratic Bézier curve is stopped, the ray is restored to the default straight line or normal shape, and the object enters the normal physical state or is placed according to the application logic. If gravity and collision are enabled in the scene, the target object will enter the normal physical state with the residual momentum at the moment of release, for example, falling to the ground in a parabolic free fall.

[0076] The following describes several specific application scenarios of embodiments of this application.

[0077] In one embodiment, a user wears a VR headset and holds a 6DoF controller to perform long-distance grasping interactions in a virtual environment built using a common 3D engine such as Unity or Unreal Engine. Initially, the user has not selected any object. When a target object is detected as selected, the system obtains the real-time pose of the controller and the initial position of the target object, calculates and fixes the interaction ray length based on both, obtains the virtual mass of the target object, and initializes the velocity parameters of the target object.

[0078] During continuous drag-and-drop interactions, the system calculates the ideal endpoint position of the ray at preset time frame intervals, based on the controller's real-time pose and a fixed interaction ray length at each time frame. Subsequently, the system establishes a current dynamic model based on virtual mass: specifically, it calculates the resultant force parameters for the current time frame by calculating spring force parameters, gravity parameters, and damping force parameters to construct the motion differential equation; then, it obtains the acceleration parameters based on the quotient of the resultant force parameters and the virtual mass, and updates the velocity parameters frame-by-frame based on the time frame intervals. Finally, based on this dynamic model, it calculates the actual rendering position of the target object in the next time frame. To maintain user immersion, this calculated actual rendering position is applied only to the target object or its local anchor points, maintaining the controller's native visual representation in real-time pose. Furthermore, when the actual rendering position detects that the target object penetrates a preset boundary in the virtual environment, the system constrains the target object, projects it back into the feasible region, and attenuates or zeroes the normal component of its velocity parameters. During visual presentation, the spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position is obtained. Based on this spatial deviation vector, the current position of the controller, the preset curvature scaling factor, and the ideal endpoint position of the ray, a quadratic Bezier control point is calculated. This is then used to generate and discretely sample a nonlinear curved ray for rendering, dynamically increasing the curvature of the nonlinear curved ray as the spatial deviation vector increases. When the user completes the transport and deselects, the system stops calculating the dynamic model, smoothly restoring the nonlinear curved ray to its default straight-line shape. The target object then enters its normal physical state or is placed according to the application logic, thus fully realizing a pseudo-tactile weight perception interaction.

[0079] In one embodiment, a pseudo-tactile weight perception method is applied to a weight discrimination task to verify weight distinguishability. In this application scenario, the virtual environment contains preset boundaries and multiple target objects with the same appearance but different virtual masses. The user needs to select and move the target objects sequentially to a designated area using a controller, thereby judging the weight differences of the objects. To provide additional weight cues to avoid physical collisions, when the actual rendered position of a target object is not successfully placed in the designated area, it is automatically restored to its initial position.

[0080] Specifically, this embodiment employs a set of preferred parameter configurations to optimize the pseudo-tactile perception effect. When constructing the dynamic model, the preset spring stiffness is 20 N / m, the preset gravitational acceleration is set to the standard gravity vector, and the damping ratio is set to 0.9, close to the critical damping, to calculate the preset damping coefficient, thereby effectively reducing numerical oscillations during the interaction process. Simultaneously, the preset curvature scaling factor used to calculate the quadratic Bezier control points is set to 0.5. During the interaction process, the actual rendering position and spatial deviation vector of the target object are calculated frame by frame, and nonlinear bending rays are rendered and displayed in real time.

[0081] Among them, reference Figure 7 , Figure 7 These are visual representations of target objects of different weights provided in this application's embodiments. With the user maintaining the same operational amplitude, the greater the virtual mass of the target object, the more significant the lag and downward offset of the actual rendered position calculated by the dynamic model relative to the ideal endpoint of the ray. Furthermore, the curvature of the nonlinear bending ray dynamically increases with the increase of the spatial deviation vector. The left image illustrates vertical offset; as the target object's mass changes from light to heavy, the visual downward displacement of the target object in the direction of gravity gradually increases. Correspondingly, the relative positional relationship between the ray endpoint and the target object changes, thus creating a "heavier and downwarder" weight indication. The right image illustrates mass-related drag lag: when the user moves the controller, the visual position of the target object lags relative to the ideal endpoint of the ray; the greater the mass, the more pronounced the lag, which can manifest as a longer motion afterimage / trajectory and a more significant ray bending response, thus creating an "heavier and harder to move" inertial weight indication. Therefore, with this multi-dimensional visual-physical feedback, users can intuitively use the curvature of the ray and the object's response speed as reliable cues for accurately identifying weight.

[0082] In another specific embodiment, the pseudo-tactile weight sensing method can also be applied to interactive scenarios involving the picking and placing of lightweight objects, such as picking fruit or parts from virtual trees or shelves and placing them into a specific container. In this scenario, the virtual mass of the target object is typically set within a small range, such as 0.05 to 0.32. To still convey a subtle sense of gravity to the user under lightweight interaction, while ensuring agility and stability of operation, the system adaptively adapts the underlying parameters of the dynamic model: when calculating the spring force parameters, the preset spring stiffness is significantly reduced to 5 N / m; at the same time, the damping ratio is maintained at 0.9 to calculate the damping coefficient, and the preset curvature scaling factor used to calculate the quadratic Bezier control points is set to 0.5. Since the difference between the actual rendered position of a lightweight object, calculated frame-by-frame from the dynamic model, and the ideal endpoint position of the ray may be very small, to improve the visual perceptibility of weight perception, the system can increase the preset curvature scaling factor or perform nonlinear amplification processing on the acquired spatial deviation vector when generating nonlinear curved rays. For example, it can use the compensation formula Δ'=sign(Δ)·|Δ|^γ, where the exponential parameter γ∈(0,1). While performing the above visual amplification, the system will still limit the actual rendered position of the target object in combination with the preset maximum displacement threshold to prevent uncontrollable visual drift. In addition, to further improve the efficiency of picking and placing tasks and reduce the reliance on high-precision control, an adsorption trigger can be set during placement. During dragging, when the distance between the actual rendered position of the target object and the preset container entrance in the virtual environment is less than the preset threshold, the system immediately stops the force calculation and deformation rendering of the current time frame, restores the nonlinear curved ray to a straight line, and automatically places the target object successfully into the container.

[0083] In another specific embodiment, the pseudo-tactile weight perception method can also be applied to interactive scenarios involving the handling and transportation of heavy objects, such as when a user drags a heavy target object like a table, chair, or box to a designated location. In this scenario, the virtual mass of the target object is typically set within a wide range. To emphasize the stability of the interaction and the predictability of the spatial position while conveying a sense of heaviness, specific adaptations can be made to the parameters of the dynamic model: when calculating the spring force parameters, the preset spring stiffness is set to 20 N / m or higher to improve the tracking performance of the target object and avoid the user's difficulty in accurately aligning the heavy object to the target position due to excessive visual lag; simultaneously, the damping ratio is set to 0.9 or closer to the critical damping of 1.0 to calculate the damping coefficient and obtain the damping force parameters, ensuring absolute smoothness during the dragging process; and when generating nonlinear bending rays, the preset curvature scaling factor used to calculate the quadratic Bezier control points is set to 0.5, and can be slightly lowered if necessary to reduce the exaggerated visual deformation of the ray, thereby assisting the user in precise placement operations. Specifically, to address the clipping issue that is prone to occur during heavy object handling, this embodiment introduces a collision and constraint strategy: If the target object is handled by the underlying physics engine, the actual rendered position output frame-by-frame by the dynamic model is used as the target driving position. Physical constraints are used to pull the rigid body, avoiding physical penetration caused by direct teleportation. If the full simulation of the physics engine is not enabled, real-time collision detection is implemented. When the actual rendered position of the target object, calculated in the above steps, is detected to cause geometric penetration between it and a preset boundary in the virtual environment, the system forcibly constrains the target object, projecting the actual rendered position back into the feasible area along the normal direction. Simultaneously, the normal component of the velocity parameter of the target object in the current time frame is attenuated or forcibly cleared to zero. Through this mechanism, while providing users with a realistic feeling of dragging heavy objects, clipping is effectively avoided, ensuring the stable execution of the handling task.

[0084] In another specific embodiment, in order to address the problem that in the same virtual reality application scenario, there may be both a task of quickly picking up lightweight target objects and a task of accurately placing heavy target objects, and that using uniform parameters may easily lead to the inconspicuous perception of lightweight objects or excessive lag in the perception of heavy objects, the pseudo-tactile weight perception method of this embodiment introduces a task-driven parameter switching and calibration mechanism.

[0085] Specifically, configuration tables containing multiple sets of associated parameters are pre-defined for different interactive task types or target object categories. These parameters include preset spring stiffness and damping ratio for building dynamic models, preset curvature scaling factors for calculating quadratic Bezier control points, and maximum limiting thresholds for actual rendering position and velocity parameters. When a target object is selected, the system automatically matches and calls the corresponding parameter combinations from the configuration table based on the target object's preset category, the range of virtual mass values, or the current task mode. For example, when triggering the light object mode, a smaller preset spring stiffness is automatically used, while maintaining or using a larger preset curvature scaling factor to fully amplify the visual representation of gravity traction with minimal mass. When triggering the heavy object mode, a larger preset spring stiffness is automatically used to improve drag tracking, the damping ratio is set to a value close to the critical damping value to ensure stability, and the preset curvature scaling factor is appropriately reduced, thereby assisting in the precise alignment and placement of heavy objects while avoiding excessive visual exaggeration.

[0086] Furthermore, this embodiment provides an optional individualized perception calibration mechanism. In the initial training scenario, a visual adjustment control, such as a virtual slider, is provided, allowing users to dynamically adjust the intensity of the weight feedback based on their subjective feelings. The user's adjustment input is then mapped to an individual scaling factor for a preset spring stiffness or a preset curvature scaling coefficient, and saved to the user's local configuration file. This provides a highly customized and comfortable pseudo-haptic interaction experience for different users during the calculation and rendering process of each subsequent time frame.

[0087] In another specific embodiment, extended applications supporting multi-target, local anchor point capture, and various interaction methods are supported. For multi-target continuous operation scenarios, when a user continuously selects different target objects in the virtual environment, an independent set of state variables is maintained at the underlying level for each selected target object, including but not limited to its independent actual rendering position, velocity parameters, virtual mass, and corresponding dynamic parameter set. When the target object is released, its corresponding interaction state is immediately cleared, and when a new target object is selected next, the corresponding interaction ray length is recalculated and fixed, while the velocity parameter of the new target object is initialized to zero.

[0088] In addition, for target objects with irregular shapes, the actual rendering position calculated by the dynamic model can be accurately applied to the local anchor point of the target object. In this mode, the force calculation and deformation generation are based on the local anchor point as the endpoint reference, and the overall spatial posture of the target object is updated by the displacement of the local anchor point based on the rigid body constraint cascade.

[0089] As described above, this embodiment breaks away from the conventional method of rigidly locking objects to the endpoints of raycasts in traditional VR interaction after the user selects a target object via a ray. Instead, it models the target object as a point-mass system connected to the controller via an "interactive ray." Based on a mass-spring-damped (MSD) dynamics model, under the combined action of gravity, spring force, and damping force, it calculates and generates motion hysteresis and vertical offset strongly correlated with virtual mass frame by frame, thus providing the user with intuitive and perceptible visual cues of "weight and inertia." Simultaneously, the interactive ray is visualized as a quadratic Bézier curve, and the geometric control points are updated in real time based on the spatial deviation between the ideal endpoint and the actual rendered position. This makes the ray exhibit more pronounced bending deformation when carrying "heavier" objects, serving as a continuous weight indication. To ensure a good user experience, visual displacement is applied only to the target object at the ray endpoint, strictly avoiding visual mismatch between the user's hand and the controller, thereby maintaining a high degree of immersion and control consistency while providing pseudo-haptic feedback. Without relying on any additional force feedback hardware, it can be seamlessly integrated into mainstream 3D rendering engines such as Unity and Unreal as a software development kit (SDK) or plugin, and is widely applicable to VR training simulation, remote control, digital twins and immersive content interaction and other application scenarios.

[0090] Compared with related technologies, this embodiment has the following significant advantages.

[0091] Firstly, the illusion of weight can be stably induced during ray interaction. By constructing a low-level MSD dynamic model, visual lag and vertical drop offset positively correlated with the target object's mass are generated, while continuously providing visual deformation cues using dynamically bending nonlinear rays. In a specific experiment, users were still able to accurately distinguish objects of different virtual masses without any physical force feedback hardware assistance. The overall accuracy rate remained at a high level, with an accuracy rate of approximately 90% under the lowest mass condition and a median accuracy rate of 100% across multiple conditions. Subjective scales further confirmed that this embodiment significantly outperforms traditional straight-ray baseline schemes in terms of weight perception support, interaction naturalness, responsiveness, and user confidence, among other sense of presence indicators.

[0092] Secondly, the structure significantly reduces the risk of disrupting immersion. In related technologies, pseudo-haptic feedback often leads to a disconnect between the user's visual hand coordinates and their actual physical coordinates. However, this embodiment employs a perception decoupling strategy, applying the calculated visual displacement and deformation only to the target object at the ray endpoint and the ray itself. This strictly avoids any unnatural distortions in the visual representation of the user's hands or controller, minimizing the probability of disrupting the user's body ownership and control consistency from a system structure perspective, effectively preventing VR motion sickness.

[0093] Furthermore, it boasts high engineering usability and task-adjustable parameters. This embodiment extracts core control parameters such as spring stiffness, damping ratio, and curvature scaling factor, enabling the system to flexibly balance weight realism and interaction efficiency for different interactive tasks. In a specific experiment, simple parameter adaptation perfectly adapts to two extreme application tasks: for example, in the task of picking up lightweight objects, a lower stiffness can be configured to amplify the feeling of falling small objects; while in the task of sorting and moving heavy objects, a higher stiffness, a damping ratio close to the critical state, and a moderate curvature scaling can be configured to ensure the stability of dragging heavy objects and the safety of preventing mold penetration.

[0094] Finally, it offers significant economic and social benefits. Economically, this embodiment employs a pure software algorithm to achieve complex weight-sensing feedback, completely avoiding the hardware costs and post-maintenance complexity of adding expensive force feedback peripherals or wearable devices. Its algorithm is highly encapsulated, facilitating large-scale deployment as an engine plugin in various commercial XR products. Socially, this embodiment enhances the realism and physical usability of metaverse scenarios such as VR training simulations, remote collaboration, and digital twins, contributing to improved training effectiveness in professional skills and enhanced security in virtual space interactions.

[0095] The technical solution provided in this application embodiment acquires the real-time pose of the controller. When a target object is detected as selected, the length of the interactive ray is calculated and fixed based on the real-time pose and the initial position of the target object. The virtual mass of the target object is acquired, and the velocity parameters of the target object are initialized. At each preset time frame interval, the ideal endpoint position of the ray is calculated based on the real-time pose and the length of the interactive ray. A dynamic model is established based on the virtual mass, and the actual rendering position of the target object is calculated based on the dynamic model. The spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position is acquired. A nonlinear bending ray is generated and rendered based on the spatial deviation vector. The actual rendering position is applied to the target object or a local anchor point of the target object, and the visual representation of the controller under the real-time pose is maintained. This application embodiment first establishes a virtual rigid connection between the controller and the target object by fixing the length of the interactive ray, avoiding perceptual confusion caused by fluctuations in the ray length, allowing users to establish a clear spatial relationship and force transmission perception even when operating remotely. Next, virtual mass and dynamics models are used to transform weight perception from visual simulation to physical simulation. Position calculations are performed based on physical laws, allowing users to intuitively perceive weight differences through the motion feedback of the target object when operating virtual objects of different masses, achieving a physical-level restoration of weight perception. Simultaneously, nonlinear bending rays based on spatial deviation vector rendering are used for intuitive weight perception. In long-distance interaction scenarios, the nonlinear bending rays directly map spatial deviation through the degree of deformation. The larger the virtual mass, the larger the deviation vector, and the more obvious the ray bending. Therefore, users can clearly capture the visual effect of resistance feedback when pulling heavy objects, transforming abstract dynamic parameters into visual signals that users can perceive in real time, making the distinction of weight differences more accurate and intuitive. Finally, the actual rendering position is applied only to the target object or its local anchor points, maintaining the controller's visual representation in real-time pose. This ensures that the target object's motion conforms to dynamic laws, and avoids perceptual misalignment caused by pose drift by fixing the controller's visual position, ensuring a high degree of consistency between the user's visual feedback and the physical simulation logic. This allows users to accurately distinguish differences in virtual mass by observing the slowness of the target object's motion and the bending deformation of the ray, thereby improving the accuracy of virtual reality weight perception in long-distance ray interaction scenarios.

[0096] This application also provides a pseudo-tactile weight sensing device, which can implement the above-described pseudo-tactile weight sensing method, see reference. Figure 8 The device includes: Initial calculation module 810: used to obtain the real-time pose of the controller. When the target object is detected to be selected, it calculates and fixes the length of the interaction ray based on the real-time pose and the initial position of the target object, obtains the virtual mass of the target object, and initializes the velocity parameters of the target object.

[0097] Position update module 820: It is used to calculate the ideal endpoint position of the ray according to the real-time pose and the length of the interactive ray in each time frame according to the preset time frame interval, establish a dynamic model according to the virtual mass, and calculate the actual rendering position of the target object based on the dynamic model.

[0098] Ray rendering module 830: Used to obtain the spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position, and to generate and render a non-linear curved ray based on the spatial deviation vector.

[0099] Visual representation module 840: used to apply the actual rendering position to the target object or the local anchor point of the target object, and maintain the visual representation of the controller in real-time pose.

[0100] The specific implementation of the pseudo-tactile weight sensing device in this embodiment is basically the same as the specific implementation of the pseudo-tactile weight sensing method described above, and will not be repeated here.

[0101] This application also provides an electronic device, including: At least one memory; At least one processor; At least one program; The program is stored in a memory, and the processor executes the at least one program to implement the pseudo-tactile weight sensing method described above. The electronic device can be any smart terminal, including mobile phones, tablets, personal digital assistants (PDAs), and in-vehicle computers.

[0102] Please see Figure 9 , Figure 9 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes: The processor 901 can be implemented using a general-purpose central processing unit (CPU), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application. The memory 902 can be implemented as a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 902 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 902 and is called and executed by the processor 901 using the pseudo-tactile weight sensing method of the embodiments of this application. The input / output interface 903 is used to implement information input and output; The communication interface 904 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.). Bus 905 transmits information between various components of the device (e.g., processor 901, memory 902, input / output interface 903, and communication interface 904); The processor 901, memory 902, input / output interface 903, and communication interface 904 are connected to each other within the device via bus 905.

[0103] This application embodiment also provides a storage medium that stores a computer program, which, when executed by a processor, implements the above-described pseudo-tactile weight sensing method.

[0104] Memory, as a non-transitory storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0105] The pseudo-tactile weight sensing method, apparatus, device, and storage medium proposed in this application acquire the real-time pose of the controller. When a target object is detected as selected, the length of the interaction ray is calculated and fixed based on the real-time pose and the initial position of the target object. The virtual mass of the target object is acquired, and the velocity parameters of the target object are initialized. At each preset time frame interval, the ideal endpoint position of the ray is calculated based on the real-time pose and the length of the interaction ray. A dynamic model is established based on the virtual mass, and the actual rendering position of the target object is calculated based on the dynamic model. The spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position is acquired. A nonlinear bending ray is generated and rendered based on the spatial deviation vector. The actual rendering position is applied to the target object or a local anchor point of the target object, and the visual representation of the controller under the real-time pose is maintained. This application first establishes a virtual rigid connection between the controller and the target object by fixing the length of the interaction ray, avoiding perceptual confusion caused by fluctuations in the ray length, allowing users to establish a clear spatial association and force transmission perception even when operating remotely. Next, virtual mass and dynamics models are used to transform weight perception from visual simulation to physical simulation. Position calculations are performed based on physical laws, allowing users to intuitively perceive weight differences through the motion feedback of the target object when operating virtual objects of different masses, achieving a physical-level restoration of weight perception. Simultaneously, nonlinear bending rays based on spatial deviation vector rendering are used for intuitive weight perception. In long-distance interaction scenarios, the nonlinear bending rays directly map spatial deviation through the degree of deformation. The larger the virtual mass, the larger the deviation vector, and the more obvious the ray bending. Therefore, users can clearly capture the visual effect of resistance feedback when pulling heavy objects, transforming abstract dynamic parameters into visual signals that users can perceive in real time, making the distinction of weight differences more accurate and intuitive. Finally, the actual rendering position is applied only to the target object or its local anchor points, maintaining the controller's visual representation in real-time pose. This ensures that the target object's motion conforms to dynamic laws, and avoids perceptual misalignment caused by pose drift by fixing the controller's visual position, ensuring a high degree of consistency between the user's visual feedback and the physical simulation logic. This allows users to accurately distinguish differences in virtual mass by observing the slowness of the target object's motion and the bending deformation of the ray, thereby improving the accuracy of virtual reality weight perception in long-distance ray interaction scenarios.

[0106] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will understand that, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems. Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or a combination of certain steps, or different steps.

[0107] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0108] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0109] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0110] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0111] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0112] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, the functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.

[0113] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0114] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.

Claims

1. A pseudo-tactile weight sensing method, characterized in that, include: The controller's real-time pose is obtained. When a target object is detected as selected, the interaction ray length is calculated and fixed based on the real-time pose and the initial position of the target object. The virtual mass of the target object is obtained, and the velocity parameters of the target object are initialized. According to the preset time frame interval, in each time frame, the ideal endpoint position of the ray is calculated based on the real-time pose and the length of the interactive ray, a dynamic model is established based on the virtual mass, and the actual rendering position of the target object is calculated based on the dynamic model. Obtain the spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position, and generate and render a nonlinear curved ray based on the spatial deviation vector; The actual rendering position is applied to the target object or a local anchor point of the target object, and the visual representation of the controller under the real-time pose is maintained.

2. The pseudo-tactile weight sensing method according to claim 1, characterized in that, The step of calculating the ideal endpoint position of the ray based on the real-time pose and the interaction ray length includes: The controller position vector and forward unit vector for the current time frame are obtained based on the real-time pose. The first intermediate value is obtained by multiplying the length of the interactive ray and the forward unit vector. The ideal endpoint position of the ray is obtained by adding the first intermediate value to the controller position vector.

3. The pseudo-tactile weight sensing method according to claim 1, characterized in that, The step of establishing a dynamic model based on the virtual mass includes: The intermediate value of the spring force is obtained based on the difference between the actual rendering position and the ideal endpoint position of the ray in the current time frame. The spring force parameter is obtained based on the intermediate value of the spring force and the preset spring stiffness. The initial value of the actual rendering position is the initial position of the target object. The gravity parameters are obtained based on the virtual mass and the preset gravitational acceleration, and the damping force parameters are obtained based on the velocity parameters of the current time frame and the preset damping coefficient. The resultant force parameters of the current time frame are obtained based on the spring force parameters, the gravity parameters, and the damping force parameters, so as to construct the motion differential equations of the dynamic model.

4. The pseudo-tactile weight sensing method according to claim 3, characterized in that, The calculation of the actual rendering position of the target object based on the dynamic model includes: The acceleration parameters are obtained by dividing the resultant force parameters by the virtual mass. The velocity parameters for the next time frame are obtained based on the velocity parameters, acceleration parameters, and time frame interval of the current time frame. The actual rendering position of the next time frame is obtained based on the actual rendering position of the current time frame, the speed parameter of the next time frame, and the time frame interval.

5. The pseudo-tactile weight sensing method according to claim 1, characterized in that, The generation and rendering of the nonlinear curved ray based on the spatial deviation vector includes: The controller position vector for the current time frame is obtained based on the real-time pose. In the current time frame, the quadratic Bezier control point is obtained based on the corresponding spatial deviation vector, the controller position vector, the preset curvature scaling factor, and the ideal endpoint position of the ray. In the current time frame, a quadratic Bézier curve is generated as the nonlinear bending ray based on the quadratic Bézier control point, the controller position vector, and the actual rendering position. The nonlinear bending ray is then discretely sampled into a preset number of line segments for rendering and display.

6. The pseudo-tactile weight sensing method according to claim 5, characterized in that, The process of obtaining the quadratic Bezier control point based on the corresponding spatial deviation vector, the controller position vector, the curvature scaling factor, and the ideal endpoint position of the ray includes: The product of the curvature scaling factor and the spatial deviation vector is calculated as the second intermediate value, and the product of the preset parameter and the ideal endpoint position of the ray is calculated as the third intermediate value. The quadratic Bessel control point is obtained by calculating the sum of the controller position vector, the second intermediate value, and the third intermediate value.

7. The pseudo-tactile weight sensing method according to claim 1, characterized in that, The method further includes: when it is detected that the actual rendering position of the target object penetrates the preset boundary between the target object and the virtual environment, the actual rendering position of the target object is projected back into the feasible area along the normal direction, and the normal component of the velocity parameter of the target object in the current time frame is attenuated or cleared to zero.

8. A pseudo-tactile weight sensing device, characterized in that, include: Initial calculation module: used to obtain the real-time pose of the controller. When the target object is detected to be selected, the interaction ray length is calculated and fixed according to the real-time pose and the initial position of the target object, the virtual mass of the target object is obtained, and the velocity parameters of the target object are initialized. Position update module: used to calculate the ideal endpoint position of the ray in each time frame according to the real-time pose and the length of the interactive ray, establish a dynamic model according to the virtual mass, and calculate the actual rendering position of the target object based on the dynamic model; Ray rendering module: used to obtain the spatial deviation vector between the ideal endpoint position of the ray and the actual rendering position, and to generate and render a nonlinear curved ray based on the spatial deviation vector; Visual representation module: used to apply the actual rendering position to the target object or the local anchor point of the target object, and maintain the visual representation of the controller under the real-time pose.

9. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the pseudo-tactile weight sensing method according to any one of claims 1 to 7.

10. A storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the pseudo-tactile weight sensing method according to any one of claims 1 to 7.