How can I supercharge & automate complex hotspots?

Q&A about the latest versions
Post Reply
User avatar
jobes
Posts: 87
Joined: Fri Mar 07, 2008 2:34 am
Contact:

OK, I hope you don't think I'm double-posting here, but I wanted to expand upon a long-standing wish I added to the Object2VR wishlist.
http://gardengnomesoftware.com/forum/vi ... 810#p25810
As I was posting about it on that thread I thought it might be useful to discuss in more detail here… or ask if there's an easier way to do what I want to achieve :)


I'm still looking to find a quick and reproducible way to 'batch add' hotspots. Adding hotspots is kinda hard work when adding several to more complex multi-row & column Object2VR projects. Manually drawing regular or irregular shapes is a real killer, so I was thinking about how this could be sped up. I've thought of 2 possible options.

1. Use an alpha inside the source image (e.g. a labelled alpha channel in a source TIFF/PSD file
2. Use a separate image, which is a greyscale image which can be derived from a mask

I think this could be a major bonus for both photographers, and for my original focus, which was for CG artists using Object2Vr to create powerful interactive product demos.

Here's a photographic example… if I shoot a 12x12 row/column set of a doll's house, and want to add separate hotspots for each of the five windows and the door on the front of the house, and the windows on the side and back walls. I might find it easier to use the various tools in Photoshop to create a mask for each frame where the target is in shot. I could use colour selections, refining edges much more powerfully, pen or linear marquee tool.

Most photographers know PS or a similar app well, and the drawing tools are more sophisticated than in Object2Vr / Pano2VR. No need to get Thomas to re-invent the wheel… most of us already have these kind of tools in our bitmap editors. I've also though about using tracking/roto/matchmoving tools on photographic work (something like Mocha Pro would probably be able to quickly do this, especially for fairly regular objects like the doors & windows) but I have no firsthand experience of using them.

Likewise, say I was working on a 3D/CG project-based instead, like http://gardengnomesoftware.com/object2v ... wcase_html the great car demo you've had on the site for some time. In most 3D packages you can render out masks for certain items… so I could render out the main image, but also an alpha of each of the car doors, then apply a different hotspot to each door. That would be amazing… a different hotspot automatically set up for each key on a keyboard, or on a electric razor or MP3 player. You get what I'm saying…

I've tried doing this with some simple CG setups, but in a very long workaround way… and even then it comes with challenges and issues!

One workaround I've tried (and it's not a lot of fun) is to change each of the hotspot PNG files which are outputted on publishing. Open PNG, drag alpha from other file, make selection, fill with colour, save. Rinse and repeat for each view and hotspot. Am I right in thinking the PNG only gets generated if the user's defined some kind of hotspot? So if i have 6 hotspots, for a max 12 row by 12 column project, that's 864 different PNGs required? Phew!

The main problem about the workaround is it's all being done in post, after the file is output. Change the scaling, or object shape at all, and the hotspots may not correspond. Plus you need to remember to save the images somewhere else too, so they don't get overwritten every time you run a new output from O2VR.

Alternatively what about using separate files instead, straight into O2VR? If you used separate files you could then perhaps add them to the hotspot editor, using a light table-like device, much like the main window. Do this on a 'per hotspot' basis and you could then super-quickly add a whole range of accurate hotspots. As the light table functionality already exists, I hope it might not be too much of a stretch to add that into the hotspot editor.

You might argue one shouldn't add too many hotspots: it could be confusing for the user, or make the file bigger. I think even with LOADS of hotspots, this shouldn't increase load time as for both HTML5 and Flash hotspots they're called from external PNGs. So if I did create an objectVR with dozens of hotspots then it wouldn't make the main file more unwieldy.

Have I got this all wrong… am I missing something obvious… or alternatively is this something which could be implemented easily? If any of the GardenGnome team want a practical demo I'm happy to share some CG renders I've used to test the theory… just email/PM me. Thanks for taking the time to read this :)
User avatar
Hopki
Gnome
Posts: 13005
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

Garden Gnome Support
If you send an e-mail to support please send a link to the forum post for reference.
support@ggnome.com
https://ggnome.com/wiki/documentation/
User avatar
jobes
Posts: 87
Joined: Fri Mar 07, 2008 2:34 am
Contact:

Thanks Hopki. Your advice helped me to get back on the right track, and I've got it doing what I want it to do.

The hardest part was scripting & automating all the alphas in Photoshop, but understanding the hex colour pattern used to generate hotspots helped. Now I can process 144 TIFFs, each with up to 6x different alphas, in a matter of seconds. Then a quick batch rename and everything just works. This has really helped, thank you again…
drjanson
Posts: 24
Joined: Thu Feb 05, 2015 7:12 pm

hi there,

this is quite an old post, but it covers one of my major problems.
Is this solution:
viewtopic.php?f=14&t=1437&p=25813#p25813

still working for obj2vr v3.x?
I can't find any xxx_hs images...

thx for any help!
User avatar
jobes
Posts: 87
Joined: Fri Mar 07, 2008 2:34 am
Contact:

This method (using the generated images) only applies to area hotspots… which I found out a few months ago are deprecated. The developers are encouraging us to use either point or area hotspots instead. Neither of those generate files to change or define as alpha masks or lend themselves easily to an automated process.

However I have been working on another solution for a recent project, using point hotspots, which I have outlined here
viewtopic.php?f=13&t=9868

As it's a CG object I have been able to render out positional markers in 3d space, then use them to align the point hotspots to, before swapping out the final rendered images in the light table. Also (with the text hacking described in the topic) can apply those point hotspots to different view states. By virtue of having to move multiple points for poly hotspots, that is probably not as good a solution.

Hope that might help…
drjanson
Posts: 24
Joined: Thu Feb 05, 2015 7:12 pm

Ah. Thanks.
Working with poly-hotspots I prefer not to set the "use in all cols/rows" option - on most objects there are less frames/images where a hotspot is visible. I think even on a tin it's more or less the same number of visble hotspot as the hidden ones... :roll:

Unfortunately point hotspots are beeing changed to polys on "customer requirement", so that's not an option for me right now.

But I thought of rendering out a hotspot-target that is fixed to the the 3d-model and take it as a visual guide for placing the hotspots by hand.
I guess that's what you did (sorry, sometimes i don't understand things right in english.. :wink: ), and if so, it's nice to read someone else had the same idea.

Did you think of taking the coordinates (directly from the 3D scene) and somehow translate them and use for the "text-hack"??
I remember something like there was the possibility in Cinema4D to export position data... I have to check that after I placed those poly-hotspots...

cheers,
jan
Post Reply