Hello, I am considering using Urho3D with C# Visual Studio Xamarin.Forms to create an App that will be used on both Windows PCs and iPads. I would like to ask if Urho3D (Urhosharp) is the right choice for what I intend to make, as follows:
I need to build an app that checks whether machines of different sizes can fit into given spaces. I will represent the machines with simple objects like boxes, rhombohedrons, and cylinders. I will also be modeling rectangular rooms with 1 or 2 door openings, and the thickness of the walls must also be modeled. All these things are simple enough to be modeled with vertices directly in the code, and there will only be a small number of these template objects whose dimensions (including door placement and size in the case of rooms) will be changed by entering numbers for each object in text fields for each project.
I don’t want textures. The objects will be colored wireframes (blue, green, or purple) with translucent colored sides, so that I can see through them but still tell which side is facing me.
Here is the part that I am wondering whether Urho3D can do (Edit: Also wondering if the above colored wireframe + colored translucent sides is possible):
The objects can be moved around freely, and can move through each other. But whenever they move through each other, I want the intersection of the objects to be modeled in red. That is, the polyhedron that represents the 3d intersection of the objects should be colored with a red wireframe and red translucent sides. This way, I can see the intersection even if it is behind my line of sight.
Also, whenever an intersection occurs, I want a 2D yellow HUD reticle - either a circle or a rectangle - to bring attention to the intersection. This is like a targeting reticle in games or fighter jets, and it will change sizes to accommodate the size of the intersection, although it will have a minimum size so I can find intersections that might be very small. There can be multiple intersections and thus multiple reticles. I also want to be able to tap the display (or click in Windows) on the red intersection in the yellow reticle to bring up information about the objects that are intersecting – to be displayed on a side of the screen split from the rendering area – with the option to change the models’ sizes or position. It would also be nice if text labels would appear in the HUD for relevant objects, with a line pointing from the text to the object.
The intersections and reticles should appear, disappear, and mutate in real-time as I move machines around the room or change the dimensions of the room.
It would also be convenient to be able to rotate the model space by dragging and pinch to zoom in/out, although I will probably want to limit that to one axis at a time and I will have sliders as backup.
So my specific questions are:
- Can the 3D intersection be done in Urho3D?
- Can the HUD reticle (sized to enclose the intersection snugly) be done?
- Can the HUD text labels be done?
- Can I tap the screen to select the intersections?
- Can all of this be done with the rendering done on one side of the screen, and the data entry text fields for each object on the other side?
- Can all this be done in real-time?
- Can all the modeling be done in code without a separate CAD program?
- Will it be easy to develop and update this program in both iPad and Windows using all the same code?
- And of course, can it all be done easily? If not, can somebody recommend a better solution?
Edit 10. Can the colored wireframe rendering with translucent colored sides be done in Urho3d?
Thanks!