Control method and apparatus of electronic device, terminal, and storage medium
By acquiring controller sensor data and adjusting the controller vibration feedback in VR games, the problem of fixed controller vibration data in existing technologies has been solved, improving the user experience and the realism of game feedback.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING ZITIAO NETWORK TECH CO LTD
- Filing Date
- 2022-10-27
- Publication Date
- 2026-05-01
AI Technical Summary
In existing VR games, the vibration data of the controllers cannot be adaptively adjusted according to the actual usage scenario, resulting in a poor user experience.
By acquiring sensor data from the controller, a preset multiple corresponding to a preset threshold associated with the sensor data is determined, and the controller's vibration feedback is adjusted based on the image and vibration data rendered by the server.
It achieves adaptive adjustment of controller vibration data, improving the user experience and providing personalized game feedback effects.
Smart Images

Figure CN115607950B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of information technology, and in particular to control methods and apparatuses, terminals and storage media for electronic devices. Background Technology
[0002] Typically, during virtual reality (VR) gaming, the vibration data of the controller remains constant and cannot be adaptively adjusted according to the actual usage scenario. Therefore, further improvements in this area are expected to enhance the user experience. Summary of the Invention
[0003] To address the existing problems, this disclosure provides a control method, apparatus, terminal, and storage medium for an electronic device.
[0004] The following technical solution is adopted in this disclosure.
[0005] Embodiments of this disclosure provide a control method for an electronic device, the electronic device including a head-mounted device and a handle, the control method comprising: acquiring sensor data of the handle in response to an operation on the handle; sending the sensor data to a server and determining a preset multiple corresponding to a preset threshold associated with the sensor data; receiving an image rendered by the server based on the sensor data; obtaining second vibration data based on first vibration data corresponding to the image and the preset multiple; and sending the second vibration data to the handle to perform a vibration response.
[0006] Another embodiment of this disclosure provides a control device for an electronic device, the electronic device including a head-mounted device and a handle, the control device comprising: a data acquisition module configured to acquire sensor data of the handle in response to an operation on the handle; a multiplier determination module configured to send the sensor data to a server and determine a preset multiplier corresponding to a preset threshold associated with the sensor data; a receiving module configured to receive an image rendered by the server based on the sensor data; a data adjustment module configured to obtain second vibration data based on first vibration data corresponding to the image and the preset multiplier; and a data transmission module configured to send the second vibration data to the handle for vibration response.
[0007] In some embodiments, this disclosure provides a terminal, including: at least one memory and at least one processor; wherein the memory is used to store program code, and the processor is used to call the program code stored in the memory to execute the control method of the above-described electronic device.
[0008] In some embodiments, this disclosure provides a storage medium for storing program code for executing the control method of the above-described electronic device.
[0009] The embodiments of this disclosure achieve adaptive adjustment of vibration data based on sensor data by determining a preset multiple corresponding to a preset threshold associated with sensor data, and obtaining second vibration data based on first vibration data corresponding to an image and the preset multiple, thereby improving the user experience. Attached Figure Description
[0010] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and elements are not necessarily drawn to scale.
[0011] Figure 1 A flowchart illustrating a control method for an electronic device according to an embodiment of the present disclosure is shown.
[0012] Figure 2 A flowchart illustrating a control method for an electronic device according to an embodiment of the present disclosure is shown.
[0013] Figure 3 A portion of a control device for an electronic device according to an embodiment of the present disclosure is shown.
[0014] Figure 4 A schematic diagram of the structure of an electronic device according to an embodiment of the present disclosure is shown. Detailed Implementation
[0015] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0016] It should be understood that the various steps described in the method embodiments of this disclosure can be performed in sequence and / or in parallel. Furthermore, method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0017] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0018] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0019] It should be noted that the use of the word "a" in this disclosure is illustrative rather than restrictive, and those skilled in the art should understand that it should be understood as "one or more" unless otherwise expressly indicated in the context.
[0020] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0021] OpenVR provides a unified data interface for VR games, eliminating the need for games to directly interact with vendors' software development kits (SDKs). Therefore, it can add new external devices independently of the game. This means that adding a new controller or headset only requires modifying the OpenVR client, without needing to modify the existing VR game. If using a vendor's SDK, each added peripheral would require modifying the VR game's interface. OpenVR's application programming interfaces (APIs) are presented as C++ interface classes and are all pure virtual functions. When an application initializes its system, it returns the corresponding interface from the SDK header files used by the application. Newly released interface versions are compatible with previous versions, so applications do not need to update to the latest SDK to function correctly.
[0022] SteamVR is installed on your computer via Steam, while OpenVR provides an API. Through SteamVR, different VR systems (e.g., Unity, UE, etc.) call OpenVR's API to develop applications, and drivers can be added to OpenVR to interface with VR hardware. The SteamVR platform primarily serves Vive, but it is also compatible with OSVR, Rift, and Touch drivers. In other words, SteamVR relies on OpenVR. Currently, most mainstream VR game hardware manufacturers need to write drivers that conform to OpenVR requirements to connect to SteamVR, thereby enabling them to obtain rendered game image data and various event data (e.g., safety boundaries, vibration events (including amplitude, frequency, and duration)) from the Steam game platform.
[0023] Vibration events acquired from SteamVR via the OpenVR interface output vibration data (including amplitude, frequency, and duration) that remains largely constant. For example, in the popular VR game Beat Saber, this data remains unchanged throughout the entire game. This is because the game platform can only analyze whether the user has struck or used the lightsaber to cut a moving block in the game. If the target object is hit or cut, then vibration data with fixed values (including amplitude, frequency, and duration) is provided.
[0024] Currently, mainstream VR gaming hardware manufacturers transmit vibration data (including amplitude, frequency, and duration) to the VR headset in their SteamVR-compatible PC drivers. The headset then sends this data to the controllers, ultimately resulting in the controllers vibrating. These manufacturers also provide users with a configuration interface for controller vibration intensity, allowing for adjustments based on user preferences. However, neither the controller response phase after data transmission nor the user-defined vibration configuration phase achieves truly "adaptive" vibration adjustment. In other words, it cannot provide real-time feedback on the actual vibration effect based on data such as controller movement amplitude and acceleration within the game scene.
[0025] Figure 1A flowchart of a control method for an electronic device according to embodiments of the present disclosure is provided. In some embodiments, the electronic device of the present disclosure includes a head-mounted device (e.g., virtual reality (VR) glasses, etc.) and a controller. The control method of the electronic device of the present disclosure may include step S101, acquiring sensor data of the controller in response to an operation on the controller. In some embodiments, for example, when a user plays a VR game, a rendered first frame image is first acquired from a server platform (e.g., SteamVR). Taking Beat Saber as an example, that is, a first frame image with blocks is rendered, referred to as image I. When the user sees image I from the head-mounted device and swings the controller in their hand, for example, by making a cutting or slashing motion, thereby cutting or breaking the blocks seen on the game screen. At this time, as the controller moves, the controller's sensors collect corresponding data, that is, the controller's sensor data is acquired.
[0026] In some embodiments, the method of this disclosure may further include step S102, sending sensor data to a server and determining a preset multiple corresponding to a preset threshold associated with the sensor data. In some embodiments, sending sensor data to a server allows the server to render an image based on the sensor data. For example, in the case of a rhythm lightsaber, sending sensor data to the server allows the server to determine whether a square has been cut, thus facilitating the server to render an updated image of whether the square has been cut or not. In some embodiments, different users have different usage habits with the controller, and the same user may operate the controller with different force in different usage scenarios. By pre-setting a preset threshold associated with the sensor data, the level of the corresponding parameter in the sensor data can be determined. Based on this level, a preset multiple can be assigned. For example, assuming that the threshold range corresponding to the controller's movement speed corresponds to a multiple of 2, the preset multiple corresponding to this threshold range associated with the sensor data can be determined to be 2.
[0027] In some embodiments, the method of this disclosure may further include step S103, receiving an image rendered by the server based on sensor data. As described above, after receiving the sensor data, the server can render a corresponding updated image. For example, taking a rhythm lightsaber as an example, by sending the sensor data to the server, the server can determine whether the square has been cut, thereby facilitating the server to render an updated image showing whether the square has been cut or not.
[0028] In some embodiments, the method disclosed herein may further include step S104, obtaining second vibration data based on first vibration data corresponding to the image and a preset multiplier. In some embodiments, the image rendered by the server corresponds to the first vibration data; for example, when the controller is not cutting a block, no vibration occurs, or the parameters in the vibration data can all be 0; when the controller is cutting a block, the image rendered by the server corresponds to fixed or user-defined first vibration data. In some embodiments, if the previously determined preset multiplier is 2, the corresponding parameters in the first vibration data can be multiplied by 2 to obtain the second vibration data; for example, the vibration time is doubled, the vibration frequency is doubled, and / or the amplitude is doubled.
[0029] In some embodiments, the method disclosed herein may further include step S105, sending the second vibration data to the handle to generate a vibration response. In some embodiments, after the second vibration data is determined, the second vibration data is sent to the handle to generate a vibration response, that is, the handle generates a corresponding vibration response based on the second vibration data.
[0030] This enables adaptive adjustment of vibration data based on sensor data, enhancing the user experience. Specifically, the controller's vibration information is adjusted in real time based on sensor data. Furthermore, the force and speed at which different users operate the controller are reflected in the sensor data, resulting in different vibration effects. In addition, different gaming experiences can be provided to different users within the same game scenario.
[0031] In some embodiments, sensor data includes at least one of the following: position information, rotation angle information, linear velocity information, linear acceleration information, and angular velocity information. In some embodiments, this data can be obtained by corresponding sensors installed in the controller. In some embodiments, the position information of the controller is the position information of the controller relative to the head-mounted device, which can be obtained by, for example, a camera in the head-mounted device. Taking the simplest position information as an example: calculate the absolute difference of the position data corresponding to two adjacent frames. If the absolute difference in a certain axis direction or the absolute position difference between two points is greater than a preset threshold, for example, 50cm, it can be determined that the controller movement is large and fast (the time interval between two frames is the distance of the large movement). Then, for controller games such as "block cutting" or "drumming", the current multiplier can be configured to a high level.
[0032] In some embodiments, the preset threshold includes multiple threshold ranges, and the preset multiple includes multiple multiples, with different threshold ranges corresponding to different multiples. For example, the preset range may include 5 threshold ranges, each corresponding to a preset multiple. When a preset parameter in the sensor data falls within the corresponding threshold range, it may correspond to a corresponding multiple. For example, as shown in Table 1 below:
[0033] Table 1
[0034] NO. Threshold range Level Multiplier 1 Zmin-Z0 K0 2 Z0-Z1 K1 …… …… N Zmax Kmax
[0035] Wherein, Kn is a floating-point number greater than 0, which can be a decimal less than 1, and its multiple expression can represent a multiple relationship of less than one. The processing methods for data such as rotation angle, linear velocity, and acceleration are also set according to the preset threshold-level multiple relationship, which will not be listed here one by one.
[0036] In some embodiments, the first vibration data includes vibration time, vibration frequency, and amplitude. In some embodiments, obtaining second vibration data based on the first vibration data corresponding to the image and a preset multiplier includes: adjusting at least one of the vibration time, vibration frequency, and amplitude in the first vibration data using the preset multiplier, thereby obtaining the second vibration data. Therefore, changing the vibration effect of the handle can change one or more of the vibration time, vibration frequency, and amplitude, providing users with more vibration effect options. For example, as shown in Table 2 below:
[0037] Table 2
[0038]
[0039]
[0040] Where *1 represents the original data multiplied by 1, *K0 represents the original data multiplied by K0, and m, h, and s represent constants, thus allowing sub-elements of the vibration data (including vibration time, vibration frequency, amplitude, etc.) to be adjusted in their respective dimensions on top of the level multiple. For example, only the amplitude can be adjusted, as shown in Table 3 below:
[0041] Table 3
[0042] Level Multiplier Vibration time Vibration frequency amplitude K0 *1 *1 *K0 K1 *1 *1 *K1 …… …… …… …… Kmax *1 *1 *Kmax
[0043] In some embodiments, the electronic device further includes a processing device. In some embodiments, the processing device may include a mobile phone and / or a computer. By providing a separate processing device, the power consumption and standby time of the headset and controller can be improved compared to having corresponding processing units in the headset and controller. Furthermore, a separate processing device can have more powerful computing capabilities and shorter processing times, thereby reducing latency.
[0044] In some embodiments, sending sensor data to a server includes: sending sensor data to a processing device via a head-mounted device, and having the processing device send the sensor data to the server. In some embodiments, determining a preset multiple corresponding to a preset threshold associated with the sensor data includes: having the processing device determine the preset multiple corresponding to the preset threshold associated with the sensor data. In some embodiments, receiving an image rendered by the server based on the sensor data includes: having the processing device receive the image rendered by the server based on the sensor data. In some embodiments, obtaining second vibration data based on first vibration data corresponding to the image and a preset multiple includes: having the processing device obtain the second vibration data based on the first vibration data corresponding to the image and the preset multiple. In some embodiments, sending the second vibration data to a handle for vibration response includes: having the processing device send the second vibration data to a head-mounted device, and having the head-mounted device send the second vibration data to a handle for vibration response.
[0045] By employing the method disclosed herein, the vibration feedback experience of the controller varies depending on the force applied by the same user. For example, the faster the cutting speed, the greater and more noticeable the feedback force should be. However, current user device interfaces have vibration settings that are constant, failing to achieve real-time adjustment. Furthermore, different users have different controller handling habits, resulting in varying gaming experiences, which can be used to build user profiles. This enriches the layers of the user experience, better aligns with actual user operation, and enhances the virtual reality experience. The method disclosed herein effectively utilizes the controller's sensor data without affecting the server's output vibration data, enabling real-time adjustment of the controller's vibration data. It also allows for differentiated adjustments based on different sensor data, providing differentiated vibration experiences for different users and more realistically mimicking the force feedback of actions such as "hitting" in real-world scenarios, thus improving the realism of the virtual reality experience. Additionally, by setting different threshold ranges, tiered adjustments to the vibration data are achieved, reflecting the user's controller handling characteristics in the game scene and providing a multi-layered user experience.
[0046] The following description, in conjunction with specific embodiments, will provide a better understanding of this disclosure. For example... Figure 2As shown, in step 201, the first frame image after rendering is obtained from a server (e.g., SteamVR). Taking Beat Saber as an example, this means rendering the first frame image with blocks, referred to as image I. In step 202, the driver of the processing device (e.g., a computer) sends this frame image to the head-mounted device for display via a network communication protocol (e.g., TCP). At this time, the user can see image I on the head-mounted device. In the game scene, the user needs to swing the controller in their hand to make slashing or cutting actions, thereby cutting or breaking the blocks seen on the game screen. In step 203, sensor data is obtained in response to the operation of the controller. In some embodiments, the sensor data includes: updated position information (x,y,z), rotation angle information (x,y,z,w), linear velocity information (x,y,z), linear acceleration information (x,y,z), angular velocity information (x,y,z), etc. In step 204, the sensor data of the controller after the current operation is sent to the head-mounted device, and then from the head-mounted device to the processing device. In step 205, the processing device sends the controller's sensor data to a server, such as SteamVR, by calling an interface provided by OpenVR. Simultaneously, in step 207, the processing device performs segmented thresholding on the sensor data to obtain a multiplier relationship that matches the current user's behavioral habits.
[0047] In step 206, the server renders a new image based on the sensor data from the input headset and controller. The processing device then retrieves the updated rendered image II from the server. For example, if the block in image I hasn't been cut yet, then the lightsaber in image II has already cut the block. In step 208, the processing device processes the vibration data corresponding to the updated image according to a multiplier relationship, obtaining processed vibration data. This processed vibration data accurately reflects the vibration data in image II. In step 209, the processed vibration data is sent to the headset and then to the controller. In step 210, the controller responds with vibration based on the received processed vibration data, completing the vibration action.
[0048] Embodiments of this disclosure also provide a control device 400 for an electronic device. The electronic device includes a head-mounted device and a handle. The control device 400 for the electronic device includes a data acquisition module 401, a magnification determination module 402, a receiving module 403, a data adjustment module 404, and a data transmission module 405. In some embodiments, the data acquisition module 401 is configured to acquire sensor data of the handle in response to an operation on the handle. In some embodiments, the magnification determination module 402 is configured to send the sensor data to a server and determine a preset magnification corresponding to a preset threshold associated with the sensor data. In some embodiments, the receiving module 403 is configured to receive an image rendered by the server based on the sensor data. In some embodiments, the data adjustment module 404 is configured to obtain second vibration data based on first vibration data corresponding to the image and a preset magnification. In some embodiments, the data transmission module 405 is configured to send the second vibration data to the handle for vibration response.
[0049] It should be understood that the description of the control method for electronic devices also applies to the control device 400 for electronic devices described herein, but for simplicity, it will not be described in detail here.
[0050] In some embodiments, sensor data includes at least one of the following: position information, rotation angle information, linear velocity information, linear acceleration information, and angular velocity information. In some embodiments, the preset threshold includes multiple threshold ranges, and the preset multiplier includes multiple multipliers, with different threshold ranges corresponding to different multipliers. In some embodiments, the first vibration data includes vibration time, vibration frequency, and amplitude. In some embodiments, obtaining second vibration data based on the first vibration data corresponding to the image and the preset multiplier includes: adjusting at least one of the vibration time, vibration frequency, and amplitude in the first vibration data using the preset multiplier, thereby obtaining the second vibration data. In some embodiments, the electronic device further includes a processing device, and sending sensor data to a server includes: sending sensor data to the processing device via a head-mounted device, and the processing device sending the sensor data to the server; determining a preset multiple corresponding to a preset threshold associated with the sensor data includes: the processing device determining the preset multiple corresponding to the preset threshold associated with the sensor data; receiving an image rendered by the server based on the sensor data includes: the processing device receiving the image rendered by the server based on the sensor data; obtaining second vibration data based on first vibration data corresponding to the image and the preset multiple includes: the processing device obtaining the second vibration data based on the first vibration data corresponding to the image and the preset multiple; sending the second vibration data to a handle for vibration response includes: the processing device sending the second vibration data to the head-mounted device, and the head-mounted device sending the second vibration data to the handle for vibration response. In some embodiments, the processing device includes at least one of a mobile phone and a computer.
[0051] Furthermore, this disclosure also provides a terminal, comprising: at least one memory and at least one processor; wherein the memory is used to store program code, and the processor is used to call the program code stored in the memory to execute the control method of the above-described electronic device.
[0052] In addition, this disclosure also provides a computer storage medium storing program code for executing the control method of the above-described electronic device.
[0053] The control method and apparatus for the electronic device of this disclosure have been described above based on embodiments and application examples. Furthermore, this disclosure also provides a terminal and a storage medium, which are described below.
[0054] The following is for reference. Figure 4 The diagram illustrates a structural schematic of an electronic device (e.g., a terminal device or a server) 500 suitable for implementing embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 4 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0055] like Figure 4 As shown, the electronic device 500 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage device 508 into a random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of the electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0056] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 4An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0057] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it performs the functions defined in the methods of embodiments of this disclosure.
[0058] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0059] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0060] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0061] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods of the present disclosure.
[0062] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0063] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0064] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.
[0065] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0066] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0067] According to one or more embodiments of this disclosure, a control method for an electronic device is provided. The electronic device includes a head-mounted device and a handle. The control method includes: acquiring sensor data of the handle in response to an operation on the handle; sending the sensor data to a server and determining a preset multiple corresponding to a preset threshold associated with the sensor data; receiving an image rendered by the server based on the sensor data; obtaining second vibration data based on first vibration data corresponding to the image and the preset multiple; and sending the second vibration data to the handle to perform a vibration response.
[0068] According to one or more embodiments of this disclosure, the sensor data includes at least one of the following: position information, rotation angle information, linear velocity information, linear acceleration information, and angular velocity information.
[0069] According to one or more embodiments of this disclosure, the preset threshold includes multiple threshold ranges, and the preset multiple includes multiple multiples, with different threshold ranges corresponding to different multiples.
[0070] According to one or more embodiments of this disclosure, the first vibration data includes vibration time, vibration frequency, and amplitude.
[0071] According to one or more embodiments of this disclosure, obtaining second vibration data based on first vibration data corresponding to the image and the preset multiplier includes: adjusting at least one of the vibration time, vibration frequency, and amplitude in the first vibration data using the preset multiplier, thereby obtaining the second vibration data.
[0072] According to one or more embodiments of this disclosure, the electronic device further includes a processing device, wherein sending the sensor data to a server includes: sending the sensor data to the processing device via the head-mounted device, and the processing device sending the sensor data to the server; determining a preset multiple corresponding to a preset threshold associated with the sensor data includes: the processing device determining a preset multiple corresponding to the preset threshold associated with the sensor data; receiving an image rendered by the server based on the sensor data includes: the processing device receiving the image rendered by the server based on the sensor data; obtaining second vibration data based on first vibration data corresponding to the image and the preset multiple includes: the processing device obtaining the second vibration data based on the first vibration data corresponding to the image and the preset multiple; and sending the second vibration data to the handle for vibration response includes: the processing device sending the second vibration data to the head-mounted device, and the head-mounted device sending the second vibration data to the handle for vibration response.
[0073] According to one or more embodiments of this disclosure, the processing device includes at least one of a mobile phone and a computer.
[0074] According to one or more embodiments of this disclosure, a control device for an electronic device is provided. The electronic device includes a head-mounted device and a handle. The control device includes: a data acquisition module configured to acquire sensor data of the handle in response to an operation on the handle; a multiplier determination module configured to send the sensor data to a server and determine a preset multiplier corresponding to a preset threshold associated with the sensor data; a receiving module configured to receive an image rendered by the server based on the sensor data; a data adjustment module configured to obtain second vibration data based on first vibration data corresponding to the image and the preset multiplier; and a data transmission module configured to send the second vibration data to the handle for vibration response.
[0075] According to one or more embodiments of the present disclosure, a terminal is provided, comprising: at least one memory and at least one processor; wherein the at least one memory is used to store program code, and the at least one processor is used to invoke the program code stored in the at least one memory to execute the method described in any one of the above descriptions.
[0076] According to one or more embodiments of the present disclosure, a storage medium is provided for storing program code for performing the methods described above.
[0077] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0078] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0079] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A method for controlling an electronic device, the electronic device comprising a head-mounted device and a handle, characterized in that, The control method for the electronic device includes: In response to an operation on the handle, sensor data of the handle is acquired; The sensor data is sent to the server, and a preset multiple corresponding to a preset threshold associated with the sensor data is determined; Receive an image rendered by the server based on the sensor data; Based on the first vibration data corresponding to the image and the preset multiple, the corresponding parameters in the first vibration data are multiplied by the preset multiple to obtain the second vibration data; The second vibration data is sent to the handle to generate a vibration response.
2. The control method for an electronic device according to claim 1, characterized in that, The sensor data includes at least one of the following: position information, rotation angle information, linear velocity information, linear acceleration information, and angular velocity information.
3. The control method for an electronic device according to claim 1, characterized in that, The preset threshold includes multiple threshold ranges, and the preset multiple includes multiple multiples, with different threshold ranges corresponding to different multiples.
4. The control method for an electronic device according to claim 1, characterized in that, The first vibration data includes vibration time, vibration frequency, and amplitude.
5. The control method for an electronic device according to claim 4, characterized in that, Based on the first vibration data corresponding to the image and the preset multiplier, multiplying the corresponding parameters in the first vibration data by the preset multiplier to obtain the second vibration data includes: The vibration time, vibration frequency, and amplitude in the first vibration data are adjusted using the preset multiplier to obtain the second vibration data.
6. The control method for an electronic device according to claim 1, characterized in that, The electronic device further includes a processing device, and sending the sensor data to the server includes: sending the sensor data to the processing device via the head-mounted device, and the processing device sending the sensor data to the server; Determining the preset multiple corresponding to the preset threshold associated with the sensor data includes: the processing device determining the preset multiple corresponding to the preset threshold associated with the sensor data; Receiving an image rendered by a server based on the sensor data includes: the processing device receiving the image rendered by the server based on the sensor data; Obtaining second vibration data based on first vibration data corresponding to the image and the preset multiple includes: obtaining the second vibration data by the processing device based on the first vibration data corresponding to the image and the preset multiple; Sending the second vibration data to the handle for vibration response includes: the processing device sending the second vibration data to the head-mounted device, and the head-mounted device sending the second vibration data to the handle for vibration response.
7. The control method for an electronic device according to claim 6, characterized in that, The processing device includes at least one of a mobile phone and a computer.
8. A control device for an electronic device, the electronic device comprising a head-mounted device and a handle, characterized in that, The control device for the electronic device includes: The data acquisition module is configured to acquire sensor data of the handle in response to an operation on the handle; The multiple determination module is configured to send the sensor data to the server and determine a preset multiple corresponding to a preset threshold associated with the sensor data; The receiving module is configured to receive an image rendered by the server based on the sensor data; The data adjustment module is configured to multiply the corresponding parameters in the first vibration data by the preset multiple based on the first vibration data corresponding to the image and the preset multiple to obtain the second vibration data; The data transmission module is configured to send the second vibration data to the handle to respond to vibration.
9. A terminal, comprising: At least one memory and at least one processor; The at least one memory is used to store program code, and the at least one processor is used to call the program code stored in the at least one memory to execute the control method of the electronic device according to any one of claims 1 to 7.
10. A storage medium for storing program code for executing the control method of the electronic device according to any one of claims 1 to 7.
Citation Information
Patent Citations
Vibration feedback processing method and device for virtual scene, equipment, medium and program product
CN114356097A