Supported Until: [support ended] January 21, 2016
What is Mouse 3D Interaction?
Mouse 3D Interaction provides an easy-to-setup system that will convert 2D window coordinates into 3D space. It provides the ability to monitor multiple positions at once as well as multiple 3D projections at various viewports.
What Does This Extension Provide?
This extension provides you with several scripts to define pointers and projections. These two can then be paired in order to detect polygonal collisions between the 3D world and the pointer. You are provided with a way to test for collisions on 3D triangles as well as infinite planes. If there is a collision, you can then retrieve the exact 3D coordinate that it occurred at. This provides a means to detect when the mouse clicks on a 3D object, as well as project the mouse onto an arbitrary 3D plane.
Full documentation is also included as well as a brief getting started guide in the form of a PDF file.
Do I Have To Change How I Handle 3D Projections To Use This?
No. The system supports rendering your projections for you if you like since it requires all the same data. However, as this is optional you can simply add the necessary scripts for mouse interaction and leave the actual rendering to your current scripts without any problems.
What Platforms Are Supported?
Everything is written in native GML that is compatible with all platforms.
Version 1.0.1. Published August 11, 2015
Created with GameMaker: Studio v1.4.1629
You can only review assets you've bought.
Nice one Binskified. Thank you.
Just what I was looking for. Documentation got me set right on my way, very straightforward and has all the functionality you'd want to be able to click on objects in your 3D game. Great job, Binksified!
I should add that I only used this in GameMaker: Studio 1.99 Beta. I have not used this at all in GameMaker: Studio 2; I cannot attest to its usability in that version.
Easy and Straightforward with the doc included!
Just what I needed
Kudos for making this free!
It took me a little bit of time to get it working but thanks to your included documentation I've sorted it out. Works great!
thank you its very useful