armedunity.com uses cookies to improve user experience.

By continuing to use this site, you agree to allow us to store cookies on your computer.

# Search the Community

Showing results for tags 'quatranion'.

• ### Search By Tags

Type tags separated by commas.

### Forums

• GENERAL
• Introduce yourself
• Discussions
• Showcase
• Need help?
• Seeking team members?
• Offtopic
• RESOURCES
• Example Projects
• Scripts
• Unity Tutorials
• FPS Kit Tutorials
• 3D models
• Animated 3D Models
• Graphic design
• Textures
• Sounds
• Other
• SELL | REQUEST
• Sell
• Request
• Mars' Modular Multiplayer Photon FPS Kit's Topics
• Mars' Modular Multiplayer Photon FPS Kit's Reviews
• Mars' Modular Multiplayer Photon FPS Kit's Updates
• Mars' Modular Multiplayer Photon FPS Kit's Tutorials
• Busy People's Introductions
• Photon's Tutorials
• Photon's Photon General
• Photon's Showcase

### Categories

• Free Projects
• Free Assets
• Game Demos
• Photon's Files

### Calendars

• Community Calendar

• 0 Replies

• 0 Reviews

• 0 Views

Found 1 result

1. ## Calculate bounds of a box including rotation

Hi I working on collision system for my game i have custom colliders. I used "http://answers.unity3d.com/questions/777855/bounds-finding-box.html" to create bounding box for collisions. I am getting problem for the boxes where right and forward values have been used to create box. Otherwise its working fine. Anybody has any idea how to include right and forward vectors in calculating 8 points for the cube. Below is my code for calculating points. public static void GetBoundsPointsNoAlloc(BoxRegion bx, Matrix4x4 colliderBox4x4,Vector3[] points, Matrix4x4 mx) { Transform tr = Utils.FromMatrix4x4(ref DebugCollisionTestSphere.trans,mx); Vector3 v3Center = bx.center; Vector3 v3ext = bx.GetExtents(); Vector3 right = bx.right; Vector3 forw = bx.forward; //Quaternion qua = Quaternion.LookRotation (bx.forward,Vector3.Cross (bx.forward, bx.right)); // tr.TransformDirection (bx.forward); //tr.localRotation = qua; tr.forward = bx.forward; tr.right = bx.right; //tr.rotation = qua; points [0] = tr.TransformPoint (new Vector3 (v3Center.x - v3ext.x, v3Center.y + v3ext.y, v3Center.z - v3ext.z)); // Front top left corner points [1] = tr.TransformPoint (new Vector3 (v3Center.x + v3ext.x, v3Center.y + v3ext.y, v3Center.z - v3ext.z)); // Front top right corner points [2] = tr.TransformPoint (new Vector3 (v3Center.x - v3ext.x, v3Center.y - v3ext.y, v3Center.z - v3ext.z)); // Front bottom left corner points [3] = tr.TransformPoint (new Vector3 (v3Center.x + v3ext.x, v3Center.y - v3ext.y, v3Center.z - v3ext.z)); // Front bottom right corner points [4] = tr.TransformPoint (new Vector3 (v3Center.x - v3ext.x, v3Center.y + v3ext.y, v3Center.z + v3ext.z)); // Back top left corner points [5] = tr.TransformPoint (new Vector3 (v3Center.x + v3ext.x, v3Center.y + v3ext.y, v3Center.z + v3ext.z)); // Back top right corner points [6] = tr.TransformPoint (new Vector3 (v3Center.x - v3ext.x, v3Center.y - v3ext.y, v3Center.z + v3ext.z)); // Back bottom left corner points [7] = tr.TransformPoint (new Vector3 (v3Center.x + v3ext.x, v3Center.y - v3ext.y, v3Center.z + v3ext.z)); // Back bottom right corner }
×
×
• Create New...