Resources: hippoVEND: Holovending
All hippoVEND vendors (version 1.6 or higher) have the ability to function in “holovendor” mode. This means that as well display a picture of a product, they can also, if you wish, rez a temporary model of it for the customer to inspect. For certain types of products houses and vehicles, for example a customer might like to actually see what they are about to buy in more detail before they spend any L$.
Here’s an example of a vendor running in holovendor mode and having rezzed a small model to illustrate the product being browsed ...
Setting up a vendor to work as a holovendor is fairly simple.
- Use the Second Life build window and rename your model object so that it has the same name as the product it relates to, but ends in “_model". Ensure you name it absolutely correctly the naming is case sensitive, so if the product is called “Electric Toaster” and your model “electric toaster_model” it will not work.
- Drag the “Holovendor Model Script” from your hippoVEND folder to the contents tab of your model.
- By default, your model will rotate slowly when the vendor rezzes it. If you don’t wish this to happen, edit the “Holovendor Model Script” that you added to the model and change line 11 so it looks like this:
float gSpinRate = 0;
Advanced users can tweak all the rotation settings for various effects as well as adjust how long a model will remain rezzed before deleting itself (the gDieAfterSeconds setting).
- Close and save the script and take the model, complete with script, back into your inventory.
- From your inventory, add it to the vendor’s inventory. (If you’d prefer a server to hold the model, see the Advanced Holovending section below).
- Edit the “_config” notecard that lives inside the vendor’s inventory and start by ensuring holovendor mode is turned from “No” to “Yes” ...
HOLOVENDOR MODE: Yes
- You also may need to adjust the point at which the model will be rezzed by the vendor. This is done using the HOLOVENDOR REZ OFFSET setting. You need to provide a vector, like this ...
HOLOVENDOR REZ OFFSET: <1, 0, -0.3>
(In that example, the model would be rezzed 1 metre along the north-south axis and 0.3 metres below the centre of the vendor. It may take a little trial and error to find the best point for your models).
- If you wish, you can tell a vendor not to rez a model when it is a slideshow that has changed the current product being displayed, rather than a human being using the vendor. (This can help reduce lag in malls). Use this setting ...
SLIDESHOW MODE DISABLES MODELS: Yes
... to turn on this feature.
- Finally, close and save the notecard. Reset the vendor and turn it online. When you bring up the product with the same name (minus “_model” of course) onto the main panel of the vendor, the model should appear. When you turn the vendor offline, or move to a different product, it should vanish.
|Useful Tip You might like to consider setting your model to “temporary” via the Second Life build window before taking it inventory inventory in step 4 above.
This means it will automatically de-rez after a minute or two and models won’t clog up your store when the vendor is not being browsed.
|Another Useful Tip It’s also worth setting models to “phantom” (again, via the Second Life build window) so that if your model happens to rez on or near an avatar, it won’t push them aside.
Advanced Holovending Techniques
Holding Models in a Server
If you wish, it is possible to have holovendor models held in a server, where they can supply several vendors. This is easy to achieve, but there is one limitation: servers can only provide holovendor models to vendors in the same sim as them. This is simply a Second Life limitation on the way that objects are able to give objects to each other.
To supply holovendor models from a server, follow steps 1-4 above and then ...
- Add the model object to your server’s inventory rather than the vendor’s. It must be a server that also supplies the inventory for the product the model is associated with (hippoVEND will remember up to three servers for any given product).
- Unless you specifically want your model uploaded to the website inventory list, leave the server “_config” setting UPLOAD DEMOS AND MODELS set to “No”.
- Follow steps 6 and 7 above but also ensure that the vendor’s “_config” notecard has this setting applied:
MODELS MAY BE IN LOCAL SERVER: Yes
- Close and save the notecard and reset the vendor. Once it is online again, it will first look for any _model objects in its own inventory. If it fails to find them, it will ask any servers that supply the product inventory to provide the model, provided they are in the same sim as the vendor.
Rezzing Multiple Models
Version 2 (or higher) vendors can rez multiple models per product. Simply add your various models to the vendor’s contents: name the first in the usual way, then number the additional models sequentially starting from 1. So, for example, if your product was the “Inflatable Linden Detector” and you wanted a vendor to rez three models when showing it, you’d add objects called “Inflatable Linden Detector_model”, “Inflatable Linden Detector_model1” and “Inflatable Linden Detector_model2” to your vendor’s inventory ...
Useful tips ...
- Remember to put the Holovendor Model Script inside each model!
- Sequentially numbered models can only be held locally, in the vendor, not remotely on a server.
Rezzing a Model at a Specific Position and Rotation
Version 2 vendors can rez each model at a specific position (relative to the vendor) and rotation if you wish. Doing this simply requires a bit of careful model naming ...
- To rez a model at a specific position relative to the vendor, add a colon (:) and an offset vector to its name. So, for example, if we were selling a product called “Electric Penguin” and wanted to rez just this particular model 2 metres above the vendor, you’d name your model “Electric Penguin_model:<0,0,2>”; like this:
- To rez a model at a specific rotation, add the at symbol (@) and a vector expressing the rotation in degrees to its name. So, for example, if we wanted to rez our Electric Penguin model rotated 45 degrees around the x-axis, 35 around the y-axis and 10 around the z-axis, you’d name the model object “Electric Penguin_model@<45,35,10>”; like this:
- You can combine a specific position and rotation in the one product name; so, for example, to create a model that appears 2 metres above the vendor and rotated as we described above, you’d name it “Electric Penguin_model:<0,0,2>@<45,35,10>”, like this:
- You can combine this technique with the multiple model method described above, to have a given product rez several different models, all at different positions. However, you will need to number each model, starting from 1; for example:
Remember that multiple model rezzing requires each model to be in the vendor. Howver, it is possible to have a single model on a server rez at a specific location and rotation using this technique.