Hello everyone, over one year I’m trying to add some physical features to the melee combat in VR games because of the amazing experience that VR bring to me. The basic idea is that the position and rotation of the VR controller will be the target position and rotation of the weapon in game, but some physical properties are added to limit the movement of the weapon for preventing meaningless wielding. Now the list below are the features that I’m try to do, and perhaps it make sense in VR games. 1. The weapon in hand is a rigidbody that all external force and torque will change its movement and rotation state, including force and torque applied by hand, gravity or collision. So weapon’s position and rotation will not always be the position and rotation of controller. 2. While there are no collision happened, the movement of weapons will based on the A. the controller’s position and rotation, B. weapon’s intrinsic property, C. weapon’s intrinsic property, D. strength of the character’s arm and wrist, and F. gravity B. Weapon’s intrinsic property included (1) mass, (2) position of the center of mass, (3) moment of inertia, (4) principle axes. C. Weapon’s extrinsic properties included (1) velocity and (2) angular velocity. D. Strength of the character’s arm and wrist included (1) maximum torque the shoulder can applied, (2) maximum torque the wrist can applied and (3) maximum force the arm can applied. 3. The parameters mentioned above will be used to calculate the final force and torque that should be applied to the weapon and make it move. 4. While there are collisions happened, the movement of weapons will based on the previous two principles but an external force from the collisions will be consider in calculation. So a strongly external force from collision will totally change the movement of weapon in hand from the target the player want. 5. For the weapons with blades which have the ability to penetrate somethings, the (1) contact points of the weapon, (2) weapon’s direction of movement, and (3) component of collision impulse in the direction of blade edge, are used to determine if penetration happened or not when collision is happened. 6. When penetration is happened, the weapons movement and rotation directions will be restrained depended on (1) the materials of the object, (2) the geometry of the weapon (blade thickness etc.). 7. To prevent the weapon flying away when it hit a high speed (moment) object, a joint is used to restrain the maximum distance from character to the weapon. From 1 to 7 I have made some scripts to realize those concept, but it is still a rough prototype. The two video will demo those features I mentioned above. This video demonstrates the penetration determination when collision is happened. And the movement restrain during penetrations. Penetrations happened at 0’28’’, 0’39’’ and 1’22’’. This video demonstrates the collision reactions between weapon and an accelerated object. Surely the scripts I made and parameters I set are far from ideal and many details should be utilized, but it presented the basic features I wanted. The code that I used contain some physical calculations and math, so if anyone have an interest in the scripts I have made, just let me know, I’m glad to share all the scripts and to explain the physical principles behind the code. Otherwise, there are some other features (written below) I want to realize and share with people, but it cost time to transform the concept to the scripts and will take all my efforts. For now I’m still a graduate student and not major in programming, it’s will take long time to make them come true (if they have meanings ). So… if anyone have the same hobby and want to finish those things I want to realize. You are welcome to contact me lol. 8. Calculate the reasonable position of the character’s elbow in game use the position and rotation of the controller (same as the position and rotation of hand). If done, we won’t need other motion detector on our arms at all to define the position of the full arms (but we can’t control the character’s elbow position by our elbows too). And the player’s character in the VR games may finally have its all arm be presented, not just hands only lol. 9. If feature 8 is done, the weapon’s movement should be limited by the movement limitations of joints of wrist, elbow and shoulder. This feature may make the movement (also position and rotation) of the weapon be more reasonable. 10. Base on the concepts 1 to 3, make a reasonable script to define the movement of a two-hand melee weapon. I already have some basic ideas for the above three features. If I have time to make the corresponding script, I will update here lol. PS: Thanks to Mikalai Naletska for sharing the great 3D sword model. It’s a pretty nice work!