IP Library › Granted Patent US 12,427,411
Granted Patent B2
US 12,427,411 · App. 18/137,029 · Granted Sep 30, 2025

Method of displaying shooting for virtual firearm, apparatus, and computer-readable storage medium

Inventors: Lingyun Lin (Shenzhen, CN); Jinhao Yang (Shenzhen, CN)
Assignee: Tencent Technology (Shenzhen) Company Limited
A63F13/52A63F13/55A63F13/837A63F2300/8076
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,427,411
App. No.
18/137,029
Granted
Sep 30, 2025
Kind
B2
Abstract

This application discloses a shooting display method and apparatus for a virtual firearm, a computer device and a storage medium, and relates to the technical field of virtual scenes. The method includes: displaying a virtual firearm in a virtual scene; controlling the virtual firearm for continuous shooting in a virtual scene; and displaying, in response to the virtual firearm performing one shot during the continuous shooting, at least one of a body recoil animation and a muzzle recoil animation of the virtual firearm, where the body recoil animation is an animation in which a body of the virtual firearm fluctuates according to a fluctuation curve in at least one direction of an X axis and a Y axis.

Claims (73)

1. A displaying method, the method comprising:

displaying a virtual firearm in a virtual scene;

controlling the virtual firearm for continuous shooting in the virtual scene; and

displaying, in response to the virtual firearm performing one shot during the continuous shooting, at least one of a body recoil animation and a muzzle recoil animation of the virtual firearm, the body recoil animation being an animation in which a body of the virtual firearm fluctuates according to a fluctuation curve in at least one direction of an X axis and a Y axis,

the muzzle recoil animation being an animation in which a muzzle of the virtual firearm fluctuates according to the fluctuation curve with a root node of the virtual firearm as a center,

the X axis being a horizontal recoil direction of the virtual firearm, and

the Y axis being a vertical recoil direction of the virtual firearm.

2. The method according to claim 1 , comprising displaying the body recoil animation of the virtual firearm by:

displaying, in response to the virtual firearm performing one shot during the continuous shooting, the body recoil animation in which the body of the virtual firearm fluctuates according to a sinusoid in at least one direction of the X axis and the Y axis.

3. The method according to claim 2 , wherein displaying, in response to the virtual firearm performing one shot during the continuous shooting, the body recoil animation in which the body of the virtual firearm fluctuates according to the sinusoid in at least one direction of the X axis and the Y axis comprises:

determining, according to a shot count corresponding to a current shot in the continuous shooting, a base amplitude of the virtual firearm and a recoil factor of the virtual firearm, the recoil factor being positively correlated with the shot count;

determining a first sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm; and

displaying the body recoil animation in which the body of the virtual firearm fluctuates according to the first sinusoid in the X axis direction.

4. The method according to claim 3 , further comprising:

determining, during a current shot, a movement direction of the virtual firearm along the X axis; and

changing a sign of the first sinusoid when the movement direction of the virtual firearm along the X axis is inconsistent with a fluctuation direction of the first sinusoid.

5. The method according to claim 3 , wherein determining the first sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm comprises:

calculating a first product of the base amplitude of the virtual firearm and the recoil factor, the first product being taken as a maximum fluctuation amplitude of the first sinusoid; or

taking the base amplitude of the virtual firearm as a maximum fluctuation amplitude of the first sinusoid and the recoil factor as an angular velocity of the first sinusoid.

6. The method according to claim 2 , comprising displaying the body recoil by:

determining, according to a shot count corresponding to a current shot in the continuous shooting, a base amplitude of the virtual firearm and a recoil factor of the virtual firearm, the recoil factor being positively correlated with the shot count;

determining a second sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm; and

displaying the body recoil animation in which the body of the virtual firearm fluctuates according to the second sinusoid in the Y axis direction.

7. The method according to claim 6 , wherein determining the second sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm comprises:

calculating a second product of the base amplitude of the virtual firearm and the recoil factor, the second product being taken as a maximum fluctuation amplitude of the second sinusoid;

or

taking the base amplitude of the virtual firearm as a maximum fluctuation amplitude of the second sinusoid and the recoil factor as an angular velocity of the second sinusoid.

8. The method according to claim 2 , comprising displaying the body recoil animation by:

determining, according to a shot count corresponding to a current shot in the continuous shooting, a base amplitude of the virtual firearm and a recoil factor of the virtual firearm, the recoil factor being positively correlated with the shot count;

determining a first sinusoid and a second sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm; and

displaying the body recoil animation in which the body of the virtual firearm fluctuates according to the first sinusoid in the X axis direction and fluctuates according to the second sinusoid in the Y axis direction.

9. The method according to claim 8 , wherein determining the first sinusoid and the second sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm comprises:

calculating a first product of the base amplitude of the virtual firearm and the recoil factor, and taking the first product as a maximum fluctuation amplitude of the first sinusoid; and

calculating a second product of the base amplitude of the virtual firearm and the recoil factor, and taking the second product as a maximum fluctuation amplitude of the second sinusoid.

10. The method according to claim 8 , wherein determining the first sinusoid and the second sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm comprises:

taking the base amplitude of the virtual firearm as a maximum fluctuation amplitude of the first sinusoid, and taking the recoil factor as an angular velocity of the first sinusoid; and

taking the base amplitude of the virtual firearm as a maximum fluctuation amplitude of the second sinusoid, and taking the recoil factor as an angular velocity of the second sinusoid.

11. The method according to claim 1 , comprising displaying the muzzle recoil animation of the virtual firearm comprises by:

displaying, in response to the virtual firearm performing one shot during the continuous shooting, the muzzle recoil animation in which the muzzle of the virtual firearm fluctuates according to a sinusoid with a root node of the virtual firearm as a center.

12. The method according to claim 11 , wherein the displaying, in response to the virtual firearm performing one shot during the continuous shooting, the muzzle recoil animation in which the muzzle of the virtual firearm fluctuates according to a sinusoid with a root node of the virtual firearm as a center comprises:

determining, according to a shot count corresponding to a current shot in the continuous shooting, a base amplitude of the virtual firearm and a recoil factor of the virtual firearm, the recoil factor being positively correlated with a shot count;

determining a third sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm; and

displaying the muzzle recoil animation in which the muzzle of the virtual firearm fluctuates according to the third sinusoid with the root node of the virtual firearm as the center.

13. The method according to claim 12 , wherein determining the third sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm comprises:

calculating a third product of the base amplitude of the virtual firearm and the recoil factor, and taking the third product as a maximum fluctuation amplitude of the third sinusoid;

or

taking the base amplitude of the virtual firearm as a maximum fluctuation amplitude of the third sinusoid, and taking the recoil factor as an angular velocity of the third sinusoid.

14. The method according to claim 12 , further comprising:

determining a first muzzle position and a second muzzle position of the virtual firearm according to the muzzle recoil animation, the first muzzle position being a position where the muzzle of the virtual firearm being located at a current moment, and the second muzzle position being a position where the muzzle of the virtual firearm is located at a next moment; and acquiring a body position of the virtual firearm;

constructing a first vector of the body position pointing to the first muzzle position and a second vector of the body position pointing to the second muzzle position; and

determining an included angle between the first vector and the second vector as a rotation amount of the muzzle of the virtual firearm relative to the body of the virtual firearm.

15. The method according to claim 1 , wherein displaying, in response to the virtual firearm performing one shot during the continuous shooting, at least one of the body recoil animation and the muzzle recoil animation of the virtual firearm comprises:

displaying a basic animation of the virtual firearm performing the continuous shooting when a shot count of the continuous shooting is less than or equal to a count threshold, the basic animation being an animation of the body of the virtual firearm moving back and forth during the continuous shooting; and

superimposing at least one of the body recoil animation and the muzzle recoil animation on the basis of the basic animation of the virtual firearm performing the continuous shooting when the shot count of the continuous shooting exceeds the count threshold, and displaying a superimposed animation.

16. A non-transitory computer-readable storage medium having stored therein program instructions, configured to, when executed by a processor, cause an apparatus to perform steps comprising:

displaying a virtual firearm in a virtual scene;

controlling the virtual firearm for continuous shooting in the virtual scene; and

displaying, in response to the virtual firearm performing one shot during the continuous shooting, at least one of a body recoil animation and a muzzle recoil animation of the virtual firearm, the body recoil animation being an animation in which a body of the virtual firearm fluctuates according to a fluctuation curve in at least one direction of an X axis and a Y axis,

the muzzle recoil animation being an animation in which a muzzle of the virtual firearm fluctuates according to the fluctuation curve with a root node of the virtual firearm as a center,

the X axis being a horizontal recoil direction of the virtual firearm, and

the Y axis being a vertical recoil direction of the virtual firearm.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the program instructions are configured to, when executed by the processor, cause the apparatus to display the body recoil animation of the virtual firearm by:

displaying, in response to the virtual firearm performing one shot during the continuous shooting, the body recoil animation in which the body of the virtual firearm fluctuates according to a sinusoid in at least one direction of the X axis and the Y axis.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the program instructions are configured to, when executed by the processor, cause the apparatus to display, in response to the virtual firearm performing one shot during the continuous shooting, the body recoil animation in which the body of the virtual firearm fluctuates according to the sinusoid in at least one direction of the X axis and the Y axis by:

determining, according to a shot count corresponding to a current shot in the continuous shooting, a base amplitude of the virtual firearm and a recoil factor of the virtual firearm, the recoil factor being positively correlated with the shot count;

determining a first sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm; and

displaying the body recoil animation in which the body of the virtual firearm fluctuates according to the first sinusoid in the X axis direction.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the program instructions are further configured to, when executed by the processor, cause the apparatus to perform steps comprising:

determining, during a current shot, a movement direction of the virtual firearm along the X axis; and

changing a sign of the first sinusoid when the movement direction of the virtual firearm along the X axis is inconsistent with a fluctuation direction of the first sinusoid.

20. The non-transitory computer-readable storage medium of claim 18 , wherein the program instructions are configured to, when executed by the processor, cause the apparatus to determine the first sinusoid according to the base amplitude of the virtual firearm and the recoil factor of the virtual firearm by:

calculating a first product of the base amplitude of the virtual firearm and the recoil factor, the first product being taken as a maximum fluctuation amplitude of the first sinusoid; or

taking the base amplitude of the virtual firearm as a maximum fluctuation amplitude of the first sinusoid and the recoil factor as an angular velocity of the first sinusoid.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2023
From: LIN, LINGYUN; YANG, JINHAO
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 063407/0585 →
Priority Claims (1)
CN 202110679160.3 · Jun 18, 2021 · national
Continuity (2)
Continuation PCTCN2022092416 · May 12, 2022
Related Publication 20230271084A1 · Aug 31, 2023
References Cited (28)
US 10712116B1 · Baxter · 2020 [cited by examiner]
US 11410592B1 · Chiang · 2022 [cited by examiner]
US 20180050268A1 · Jones · 2018 [cited by applicant]
US 20210394045A1 · Park · 2021 [cited by examiner]
US 20240019224A1 · O'Dell · 2024 [cited by examiner]
CN 108815851A · 2018 [cited by applicant]
CN 110841292A · 2020 [cited by applicant]
CN 111589148A · 2020 [cited by applicant]
CN 111870963A · 2020 [cited by examiner]
CN 112121416A · 2020 [cited by applicant]
CN 112121424A · 2020 [cited by applicant]
CN 112169325A · 2021 [cited by applicant]
CN 112755526A · 2021 [cited by applicant]
CN 113230654A · 2021 [cited by applicant]
WO WO2022166483A1 · 2022 [cited by applicant]
WO WO2022262489A1 · 2022 [cited by applicant]
Jokoon, “How would you simulate gun recoil in a FPS”, gamedev.net/forums/topic/621878-how-would-you-simulate-gun-recoil-in-a-fps/4923201/, Mar. 15, 2012 (Year: 2012). [cited by examiner]
International Search Report and Written Opinion for priority application No. PCT/CN2022/092416 dated Aug. 11, 2022, 7p. [cited by applicant]
English language translation of the International Search Report for priority application No. PCT/CN2022/092416 dated Aug. 11, 2022, 3p. [cited by applicant]
First Office Action and Search Report for corresponding Chinese application No. 202110679160.3 dated Oct. 19, 2022, 9p, in Chinese language. [cited by applicant]
Concise Explanation of Relevance for A13 and the Written Opinion of A11. [cited by applicant]
Office Action issued in Japanese Patent Application No. 2023-558858 dated Feb. 10, 2025, w/English translation, 10 pages. [cited by applicant]
“Advanced Recoil System Using Unreal Engine 5 & C++ (Part Four)”: https://www.youtube.com/watch?v=UWrbMkX4xhU, 2021. [cited by applicant]
“The animation and the firing effect of contribution after a long time and for the time being counteraction where attached,” https://www.tiktok.com/@santa01254/video/6676699003213630722, 2019. [cited by applicant]
“A difference in the reaction of a gun” https://www.nicovideo.jp/watch/sm37I375I8, 2020. [cited by applicant]
Iijima Kishi, “Considerations for production of animation” Human Body, Nov. 2005, w/English translation, 28 pages. [cited by applicant]
Office Action issued in Japanese Patent Application No. 2023-558858 dated Aug. 26, 2024, 10 pages. [cited by applicant]
Game Development, “Advanced Recoil System Using Unreal Engine 5 & C++ (Part Four)” Youtube [online] [video], Jun. 15, 2021, https://www.youtube.com/watch?v=UWrbMkX4xhU, [retrieved Aug. 26, 2024]. [cited by applicant]