ONLINE CONFERENCE DESIGN.BUILD.DELIVE R with WINDOWS PHONE THURSDAY 24 MARCH 2011.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Preface Demo A Quick Thank You How Did We Do It?
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Payroll and HR Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
ONLINE CONFERENCE DESIGN.BUILD.DELIVE R with WINDOWS PHONE THURSDAY 24 MARCH 2011.
Co- location Mass Market Managed Hosting ISV Hosting.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Multitenant Model Request/Response General Model.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Announcing Demo Announcing.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: SmartList Usability Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
WinHEC /22/2017 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
Windows Azure Connect Name Title Microsoft Corporation.
NEXT: Overview – Sharing skills & code.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: Employee Self Service Timecard Entry © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
announcing Dev Manager Do I understand what we’ve built? Developer Can I bet on using this shared component? Testers What’s changed since I last.
Ian Ellison-Taylor General Manager Microsoft Corporation PC27.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
Feature: Void Historical/Open Transaction Updates © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
ONLINE CONFERENCE DESIGN.BUILD.DELIVE R with WINDOWS PHONE THURSDAY 24 MARCH 2011.

IoCompleteRequest (Irp);... p = NULL; …f(p);
MIX 09 4/17/2018 4:41 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Возможности Excel 2010, о которых следует знать
Title of Presentation 11/22/2018 3:34 PM
Title of Presentation 12/2/2018 3:48 PM
1/3/2019 1:21 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows 8 Security Internals
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Math Chapter 2 Lessons 2.1, 2.3, and 2.4
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
Title of Presentation 7/24/2019 8:53 PM
WCL425 App Compat for Nerds Chris Jackson.
Presentation transcript:

ONLINE CONFERENCE DESIGN.BUILD.DELIVE R with WINDOWS PHONE THURSDAY 24 MARCH 2011

Edward Powell Vectric XNA-UK Blog 3D Collisions

Assumptions You have reasonable understand basic 3D rendering with BasicEffect, Components, Services and the Content Pipeline. You have had a crack at some 2D games You have some ideas about the principles 2D collision detection. You’re probably better at C# than me!

Content 15 mins - A bit of theory 15 mins - Building a simple, but flexible system 5 mins - The Full Isaac Newton!

Elements of a collision system Collision detection – Have any objects collided? – Which object pairs have collided? – In what way have the objects collided? Collision Resolution – Simple event? – Complex interaction? – Correcting for detection lag?

Collision Detection

Discrete time step between checks The actual moment of collision is never going to coincide with the checking algorithm. So Two Options: – Look forward to find collisions about to occur Complex interactions, complex algorithm Never quite sure when the next check will be – Look back at collisions that have already occurred Simple algorithm (relatively!) Know time since the last check But, have to correct things that have already occurred

Looking back (hopefully not in anger) Things to watch out for: – Some overlap already at the point of detection- ‘Drill through’... – Complete containment – boundaries no longer intersect Swept volumes? – Multiple apparently ‘simultaneous’ collisions

Have objects collided – the lessons from 2D? Pixel perfect collision was too expensive – We checked for overlapping bounding rectangle or circle – Multiple collision shapes per object – Use hierarchy of collision areas to reduce the pixel perfect search to a manageable area

Same principles apply in 3D - Especially under WP7! triangle-triangle is the new pixel perfect! Same solutions, but replace 2D areas with 3D entities...

Collision Entities XNA Intrinsics – BoundingBox (AABB) – BoundingFrustum – BoundingSphere – Plane – Ray – Model (via spheres) Other common ones – Capsule – swept volumes – Oriented Bounding Box (OBB) – Height map – ‘Slabs’ – Discrete Oriented Polytopes (DOP)!! – Triangle Mesh

Reduced Poly Collision Skin

Collision Primitives Summary... We don’t need a one-to- one mapping of collision primitive to drawable object Several simple volumes is generally cheaper than a single more complicated one. We can still do high- accuracy collision tests, but limit the volume with cheaper tests first. (Image Source: )

Pruning the Collision Search Space Brute force Refining Bounding Volumes Sweep & Prune (SAP) – Insertion sort, relies on the fact that objects tend to be in a similar state between time steps. Grid Registration BSP, kd-tree, quad-tree, oct-tree...

Collision Resolution Wotcha gonna do about it...

Approaches to Resolvers Distinct Resolver Class – Single location for all your resolution code – Needs to be modified as new entities are added – What collision information is needed? Entities Resolve their own collisions – Collision entities are self-contained – Entities need to ‘know’ about at least some others – Easily extensible

Common Collision Situations Entities: – Player – Non-players – Scenery – ‘bullets’ Up to 14 distinct collision pairs which may each require unique resolution algorithms

How much information do you need about the collision? When did the collision occur? Which point (or points) contacted? Other significant properties of the object? – Velocity – Mass – Angular Momentum, coefficient of restitution... etc. etc.!

Implementation Simple Collision Manager Component – Brute force check each update for... ICollidable Interface – Collision check – Collision resolution 2 Basic Classes: – CollidableSphere – CollidablePlane

Implementation

Simple start, but... Bounding Spheres are calculated by the pipeline for meshes Discrete Oriented Polytope (DOP) – defining convex volumes using only planes. (Image Source: epicgames.com)

Defining a volume with Planes

Has a sphere collided with a plane? Distance = Plane.DotCoordinate(sphere.Centre) 1.If the distance is positive, the sphere is in front of the plane 2.If the distance is negative, the sphere is behind the plane 3.If the distance from the plane is less than the radius of the sphere - COLLISION

Collision with Volume In front of 1 plane, but intersecting 0. No collision In front = 2 Intersecting = 0 No Collision In front = 2 Intersecting = 1 No Collision Rule: Must be intersecting all the planes we’re in front of...?

Collision with Volume In front = 1 Intersecting = 1 COLLISION In front = 2 Intersecting = 2 COLLISION Rule: Must be intersecting all the planes we’re in front of...? In front = 0 COLLISION

Volume Edges & Corners In front = 2 Intersecting = 2 But no collision

Simple Collision System Demo XNACollisions_1 Duration: 1:14s

Using a Full Physics Engine Examples – Jitter (jitter-physics.com) Full & free use of dll Source code access US$400 – BEPUPhysics ( Free for non-commercial use Open Source as of last week!! – JigLibX (jiglibx.codeplex.com) Free Open-source

JigLibX Phyics Demo XNACollisions_2 Duration: 1:00s

 Thank You for attending today’s Tech.Days Online Conference.  Today’s Online Conference will be recorded. It will be made available on-demand very soon.  Your Feedback Matters! Please complete the online evaluation form which will be ed to you.

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. ONLINE CONFERENCE