How do I locate a particular asset instance if they do not have a name field?
The addition of a name field to all instances would be 99.9% unused in the most common case where they are simply things the in world and would consume memory for little to no benefit. If you need to find particular game objects, you can always associate them to some other node with a different association type (soft association for example named: rotatingThingers) to make it easier to find them. Though again, I recommend the replicated object route instead.
After purchasing a license for a clean engine, can my custom area be ported to the new clean server?
We do stress that the evaluation world is a throwaway world where nothing will be kept. There are a variety of reasons that prevent us from simply taking work done in an evaluation and porting it to a "clean" world setup where you will build your own game.
- Repository structures (paths etc) for an evaluation world are not compatible with the "clean" setup for a prototype world. Any assets created for an evaluation world will need to be reexported with the proper paths embedded for textures
- The evaluation world contains all of the content for our game Hero's Journey
- The area you built may rely on some art that belongs to Hero's Journey (textures, skydomes, assets etc)
- There is large potential for ID space conflicts (affecting instances, scripts, DOM definitions etc)
We should be able to keep the evaluation world running for a short time after your prototype world is spun up so that you have the opportunity to copy any script work you have done (if we find we need the evaluation slot, we'll give you sufficient warning).
Our game system associates an asset instance to another node, but now the asset no longer appears when you enter the area, why is this?
There is a fundamental assumption by the engine that instances of area assets are "owned" (via a hard association) by the room in which they are located. Consequently, things will not work properly if you disturb that fundamental assumption. Hard associations are unique, meaning that a child instance may be "owned" by one and only one parent no matter what type of hard association that might be. By using a hard association, you have changed the underlying structure of the area geometry hierarchy for that asset instance causing the C++ to ignore it.
Rather than using a hard association to provide convenient reference to your objects, we use soft associations (and recommend that you do so as well) to create your collection of triggerobjects. Optionally, you could create a field that stores a list of noderefs that you update as you add/remove your objects that you add to the area root for example. Convenience and ease of use would argue for the soft association route however. :)
Is there a tool that allows me to preview how an asset will look like in HeroEngine?
There is no stand-alone viewer for assets to see them exactly how they will appear in the engine.
However, one of the unique aspects of HeroEngine is its capability to update virtually everything on the fly without requiring a restart or any kind of installation/patching process. Our own artists and those of our current licensees generally run their modeling programs, the repository browser and HeroBlade simultaneously allowing a very smooth flow between creating the model in max and seeing the finished product inside the engine.
- Model in Max (and soon optionally in Maya)
- Export the asset and drop it into the repository using the repository browser
- Use HeroBlade to add it to a test area to view
Once you have added your asset to an area, its incredibly easy to iterate on it because you see the updates almost instantly after exporting and dropping the new version in the repository.
The Menu Option "Add Item..." is used to add an item to the asset library itself, not to the world directly. The Asset Library provides access to the (generally) vast number of models that make up a game, supporting a great search and the ability to arbitrarily categorize objects into conceptual "libraries".
When you add an item to the library, it is inserted with a default Icon which you may update by right-clicking on it and either using a stage to position the object for a snapshot, using an artist crafted image, or a snapshot of the object in an environment.
You do have several options for adding objects to an environment that do not require you first add the object to a library.
- The Assets Panel
- Create Menu Option
The Assets Panel
The assets panel displays a list of all assets currently part of an area, and when you click on a particular asset will display a list of all instances of that asset in the current area. Adding a new asset can be accomplished by first adding the asset to the area, and then creating an instance of that asset.
Create Menu Option
You can also load and instance assets using the Create Menu Option located in the menu bar.
If the instance you create does not render when added, it probably is an issue with the source file itself (improperly exported, bad paths etc) and errors with the file will be reported in the Errors Panel.
Is there a way to take more than one object, group them together to become a new asset?
When duplicating a parent instance, if you would also like the children to be duplicated use "ctrl-shift-D" instead of just "ctrl-D". If you multiselect the parent and its children instances it should duplicate all of them and establish a parent child relationship between the new children and the new parent instance.
There is no grouping mechanism whereby you can take N asset instances and group them together to be one instance. However, the Asset Library does support complex library entries composed of multiple instances and will recreate them with the same relative position (and parenting if applicable).
Documentation on the Asset Library is found at Asset library
How do I dynamically add asset instances to what is visualized for a client?
There are several different methods that might be used to dynamically add asset instances to what is visualized for a client.
- $EDIT much like HeroBlade's Edit commands are handled - most appropriate for longterm or persisted additions
- Prop Buckets which are capable of instantiating local only asset instances - most appropriate for transitory additions
- FX system best used for extremely transitory additions for uses like spell effects
How can you find all of the instances in one room?
There are multiple ways to do this. If you simply want to select all of them at once, so you can delete them or move them to another room:
- Select the appropriate room in the Rooms Toolbar
- In the Assets Panel, click on Instances Menu, and choose "Select All Instances In Room".
If you would like to select all visible assets, one method is this:
- First, ensure that in the viewport you are seeing only the instances that are in the selected room. Check that:
- "All" is de-selected in the Rooms Toolbar
- The Room Name to be deleted is in the dropdown menu
- In the "Visibility Menu", all other rooms are unchecked
- At this point, you should be seeing only instances that are in the current room. Back up your viewpoint, and using the mouse, click and drag to try and select all instances in the viewport.
Another method to find all of a room's instances, is via the Assets panel:
- Check each category of asset. Look for the ones that are not greyed out. Any that are still dark, mean that there are instances of this asset in the current room. To locate this asset:
- Click on one of the "dark", aka "enabled" assets.
- In the Instances subpanel, click on an instance number to select it.
- Go to it via the Instances Menu, choosing "Go to Position"