(Short) instructions on how to make your object visible in the Neighborhood View
Hope these would be helpful to someone
I already almost forgotten to write this, so I decided that I'd better write short instructions, since it might take months before I get to write a normal tutorial
These instructions assume that you are already familiar with package structure; experience of renaming/adding/color-enabling mesh parts will be handy also.
So, to make object visible in Neighborhood View, you need a (specially prepared) copy of scenegraphic resources, and a small correction in the 'original' package. I guess they can be safely added to 'original' package, but preferred to save them in separate one.
So, say, you already have a working object, with that unique name part (which you change via Fix Integrity dialog), for example, 'myobject-10.08.2006'; your object's mesh has 1 subset which named, for example, 'mesh1'. (By the way, you can pass not all mesh subsets to the 'neighborhood version' of the object - from now on, I'll refer to this version as LOD90 object.) Say, this object has 1 recolor - TXMT name is 'myobject-10.08.2006_mesh1_color_txmt'.
First, let's make the changes in the original package.
1) to GMND, add cDataListExtension, Name = tsDesignModeSlaveSubsets, values of type String, number of items is the number of items which will be included in LOD90 object; for each item, Name is the name of existing subset, String is Name+LOD90 suffix. Example (as it would be displayed in item list): mesh1 = (String)mesh1LOD90.
2) in CRES, add cDataListExtension, Name = GameData (it may already exist, if does, modify existent). Add item of type String, Name = LODs, String = 90. (Item with such name may be already present - with empty value - modify value, if so.)
3) in SHPE, on Content/Level of Detail Listing tab, add value 0x0000005A.
Done with original package, let's create the LOD90 package.
LOD90 package must contain no joints (at least it's so for Maxis objects). If your object has no joints, you probably can just clone it and delete extra resources; if it has joints (my object had), clone (by CRES name - use Resource Finder to find all resources with name ending on lod90_cres, and choose appropriate one) an existing chain of LOD90 resources - I picked the one with the same number of subsets as I need, it's up to you which would be easier to adjust.
When doing Fix Integrity, it's important that LOD90 object name is 'original' object name plus LOD90 suffix - i.e. 'myobject-10.08.2006LOD90'. Note 1: well, I guess it's important for CRES only to have exactly the same name (with just lod90 addition) as original suffix; I had SHPE names with more differences than just lod90, and game eaten it. Note 2: since LOD90 object has only these resources, you would be able to do FixIntegrity just once - I mean, if you'd do it again, SimPE wouldn't detect the 'unique name' part of resource name, and will just add new name as prefix, instead of replacing the old name.
So, making changes in this new package:
1) in GMDC, mesh subsets should have names with LOD90 - i.e. 'mesh1lod90' - use this name in all related resources, such as TXMT and Parts tab of SHPE; usually, though not required, lod90 meshes have less vertices than normal ones
2) GMND doesn't need the tsDesignModeEnabled block, but list of available TXMTs for a mesh subsets is present and correct, so I suggest to update it - not sure if it's required, though
3) adjust TXMTs. Important: you must have TXMTs matching all available recolors for 'inherited' subsets, and default materials for non-recolorable 'inherited' subsets; if a material without lod90 match is selected for object, it'll have the usual glowing blue material in Neighborhood View. Also, TXMT name should have lod90 in subset name part only, not in object name part! For my example - 'myobject-10.08.2006_mesh1lod90_color_txmt', not 'myobject-10.08.2006lod90_mesh1lod90_color_txmt'. That's the reason why lod90 materials are usually pulled with normal materials when recoloring an object with LOD90 version. By the way, bump maps, reflection maps, and by-tile animation don't work in lod90 materials (figured it while writing another tutorial), so there's no use to set them. Alpha settings, like blend or cutting holes via stdMatAlphaTestEnabled=1, do work, though.
Well, that's all good luck with adding your objects to Neighborhood View!
I tried to thank you for this post but get this error when I click the thanks button:
This user has not registered and therefore does not have a profile to view.
Thanks very much for the help with this Jasana.
Is there another way to find the lod90_cres items. My resource finder does not find any even if I use the search option to search contains. I also opened the objects.package but it doesn't seem to contain the cres items except for body types. TIA
The problem with the thank you button may be an intermittent. It did work for me.
I am using SimPE 0.64 and I too was unable to locate any LOD90_cres or LOD90 items in the resource finder. Since I was interested in attempting to make an almost exact copy of a game object I got stuck at this point.
However, thank you Jasana for giving me a clue in answer to my query Connecting a Slave Subset to a Repository Object. Jasana pointed out that if you know what LOD90 object you are looking for, you may go to Object Workshop and clone it from there, as follows:
Firstly, be sure that you are operating SimPE in "Advanced Mode". If you can see a box at the bottom of the Object Workshop that is titled "Advanced" you are good to go. Otherwise, select the Extras menu and then the Preferences option. When the Preferences box opens, select SimPE Settings. Put a check by Advanced mode, then click OK. Restart SimPE and you should see the Advanced box in Object Workshop.
Secondly, note that there are three text boxes in the Object Workshop's "Advanced" group. In the lowest box enter the name of the object you are interested in, but append LOD90_cres to the end of it. For example, I was interested in an object with a CRES name of columnCentralAsian, so to retreive its LOD90 file I typed in columnCentralAsianLOD90_cres.
Lastly, press the Open by CRES-Name button and clone in the usual way. Please see the attached picture.
I followed the tutorial and have not tested my object yet, but was just wondering about something. You say "If your object has no joints, you probably can just clone it and delete extra resources" What resources can be deleted if we clone an object? Also, does the new file have to have a different guid, or is that something you can delete?
I try to take one day at a time, but sometimes several days attack me at once. ~Jennifer Yane
Erm, if you followed the tutorial, then you have a cloned LOD90 object before your eyes, don't you? If not - search some via Resource Finder (search in namemaps, by a string, for example, 'lod90_cres'), and then clone it via Object Workshop - just for reference.
LOD90 objects are very simple, they contain only scenegraphic chain - CRES, SHPE, GMND, GMDC and maybe texture-related resources - it's up to you in which package to store them. So, if you are making LOD90 from 'normal' object - you'll have to delete everything else. And no, it wouldn't need a new guid, because it has no resources to store it
I have been following this tutorial and I am a bit lost; once I have cloned the LOD90 object what do I do with the original package? I don't want a neighbourhood object, rather I want an object to show on my lot when I view it from the neighbourhood. Is the answer to clone an object that is visible from the neighbourhood in the first place?
After you have made the changes to the original object and cloned it, you should not have to do anything else to it but place it in your Downloads folder. Make the changes to the clone and put it there also. At least that's how it worked for me. Thanks Jasana.
"Part of being a mesher is being persistent through your own confusedness" - HystericalParoxysm
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Yes. I followed the tutorial just like it is written fully expecting not to work the first time. Started the game and there it was. Made recolors of the original object and they showed up also. I was so happy
Just checking: If my GMDC has two groups (e.g. "frame" and "fabric"), they can't both be in the neighborhood view of the object? Or can they? I'm a little confused when you say "By the way, you can pass not all mesh subsets to the 'neighborhood version' of the object..." and then say "...number of items is the number of items which will be included in LOD90 object; for each item, Name is the name of existing subset...."
I don't mind if you call me "MSD" or something for short.
Certainly the two recolourable subsets can have their LOD90 equivalents - I have done that frequently. I don't recall putting any of the non-recolourables in the neighbourhood view, but I don't see why it wouldn't work. Its certainly worth a try, although if they are minor details they wouldn't detectable in the neighbourhood's low resolution.