- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Meshing >
- TESTERS WANTED: S3 RIG Maker (v1.0)
- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Meshing >
- TESTERS WANTED: S3 RIG Maker (v1.0)
Posts: 133
Thanks: 3570 in 220 Posts
Seriously now, this is my first tool upload, so go easy on me. Personally, I think that this tool needs A LOT more testing, and some definite improvements where the euclidean math is concerned, but I just don't have the time to do that with college project deadlines and final exams fast approaching. Plus, I just can't bear keeping this from the community any longer.
What you see below is basically a copy of the Read Me file that's included in the archive, only spruced up a bit with some tags and emotes for the forum. And before anyone asks, NO, I DID NOT INCLUDE THE GRANNY2.DLL IN THE ARCHIVES. I'm too paranoid to do something that could lead to negative consequences with the DMCA.
As explained in the Read Me below, my tool uses the same version of the granny2.dll that the Expotron Plugin for 3DS Max uses, which, up until now, has been the only way of creating custom rigs for the game.
Table of Contents:
- DISCLAIMER
- ABOUT
- REVISIONS
- ARCHIVE CONTENTS
- INSTALLATION
- USE
- TRANSFORM EDITOR DIALOG
- KNOWN BUGS/ISSUES
- ASSISTANCE WANTED
DISCLAIMER (READ OR ELSE!):
This tool is provided free of charge. By downloading it you are subject to this disclaimer. Except when otherwise stated in writing, the creators and distributors of this tool provide it 'as is' without warranty of any kind, either expressed or implied. The entire risk as to the performance of this tool is with you. In no event will the owners or distributors of this tool be liable to you for any damages caused by its use, including, but not limited to, any incidental or consequential damages to your computer, your copy of The Sims 3 or any of its expansion packs or stuff packs or other additions or modifications, third party or otherwise, or your computer bursting into a ball of flames visible from space.
about:
This is the S3 RIG Maker Tool by ChaosMageX
It uses the power of the granny2.dll to read grannyrig files (.gr2), which are used to store the data on the rigging for all objects in The Sims 3 and its expansion and stuff packs.
It then uses the power of Create-A-World's CSHostWrap.dll, which contains methods for writing grannyrig files.
This tool is still in the beta phase, so use at your own risk, as stated in the above disclaimer, WHICH YOU SHOULD HAVE READ BEFORE THIS!
REVISIONS:
- 1.0 - Initial Release
ARCHIVE CONTENTS:
- S3RIGMaker.exe - The main program that brings the power of the granny2.dll and CSHostWrap.dll together into a glorious Frankenstein combination with a lovely tree view UI for manually editing the rigs Mwahahahaha!
- ChaosMageX.Granny2.dll - The main library. Contains the C# Wrapper for the granny2.dll, the classes for storing the managed grannyrig data, the transform editor dialog, structures for storing and computing the euclidean geometry
- TransformEditorDialog.exe - A small program for opening up the Transform Editor dialog standalone, in order to debug its math functions.
INSTALLATION:
- Download the file S3RIGMaker.rar from this thread.
- Extract all files in S3RIGMaker.rar TO THE SAME FOLDER AS CAW.EXE
For windows users, this most likely will be:
C:\Program Files\Electronic Arts\The Sims 3 Create a World Tool\ - Download the Expotron Plugin for 3DS Max
It can be found here at the following URL, among other places:
Altervista Downloads - Find the granny2.dll file inside the Expotron Plugin's zip archive
Extract ONLY the granny2.dll to the SAME FOLDER you extracted the files in this archive
In other words, extract the Expotron's granny2.dll file TO THE SAME FOLDER AS CAW.EXE
I repeat, EXTRACT ONLY THE GRANNY2.DLL. DO NOT EXTRACT ANY OF THE OTHER FILES, AS THEY ARE USELESS
See step 1 for the place that CAW.exe is most likely to be found - Installation Complete. You should now be able to open and use the program without any problems.
USE:
- Extract the grannyrig file that you wish to clone/edit from its package using package editing program, such as S3PE.
- Change its file type suffix to .gr2 if it is not already, AS THIS IS THE ONLY FORMAT THAT THIS TOOL CAN CURRENTLY OPEN.
- Start the program, and either open the file you have extracted, or create a new one altogether,
and it will appear in the tree view, ready for editing. - Right click on the nodes of the tree.
If a context menu pops up with options for editing the field that node represents,
it means that the field can be edited.
If one does not pop up, it means that you can't edit that field or node. - Know the color codes used in the UI:
--NORMAL BLACK/WHITE means that the fields are unedited and nothing is wrong with them
--LIGHT BLUE means that the field is unsaved/uncommitted; its value is different from the original.
--LIGHT RED means that there is problem.
In the Transform Editor Dialog, it means that whatever's in the highlighted field
cannot be parsed into a floating point number. - When you are ready to save a rig, select its top-most node in the treeview
(the one with the name of the file it was opened from or "newRig" followed by a number).
This will enable the Save As button in the File Menu,
which will open up the dialog for saving the grannyrig that allows you to choose the location and name of the file.
NOTE: There is a check box in the upper right hand corner of the tool that controls a boolean value that is given to the CSHostWrap.dll functions that write the rig file. Make sure this value is what you want it to be (checked for true, unchecked for false), as this could effect the transforms that are written to the rig file. Basically, as its name implies, this boolean controls whether or not the Z ordinal is the upward facing one when writing the transforms to the rigs. - Congradulations, you have just created your first custom rig file. Use it with your custom object and rejoice!
TRANSFORM EDITOR DIALOG:
By far the most complex portion of the program in terms of UI, this dialog is the key to editing the most important aspect of each bone: its position and rotations.
When you first open the dialog, you will notice three main sections: the Transform Matrix, the Scaling Matrix, and the Rotators, which consist of an interchangable Quaternion, Euler Angles, and Rotary Axis.
Every time you change a value in the one of the text boxes, it will either turn blue to show that it is different from the original value or red to indicate that its contents can't be successfully.
At the upper left corner of the Transform Matrix, and above the name of each Rotator, there is a button for applying/committing the values currently in the field boxes of that matrix/rotator will be applied to the rest of the values in the dialog, using complex mathematics under the program hoods to convert between them.
If a dialog pops up about an error, FIRST LOOK FOR ANY RED FIELDS, which will indicate that you left a non-numeric value that the program can't parse into a floating point number. If not, then report it to this tool's creators and distributors.
There are two combo boxes, one for switching between two different kinds of algorithms for converting between the transform matrix and the quaternion, and the other for units of the angles entered into the angle field boxes of the Euler Angles and Rotary Axis.
WARNING: Changing the angle units will reset all fields that contain angles, and you will lose any unapplied/uncommitted changes to the values.
NOTE: The Scaling Matrix currently serves no direct purpose. It only acts an additional multiplier when committing FROM THE ROTATORS TO THE TRANSFORM MATRIX. When someone eventually figures out how to directly use the granny2.dll to write grannyrig files, then it will become a whole lot more significant.
NOTE: The BOTTOM ROW of the TRANSFORM MATRIX contains the all important POSITION of the bone.
NOTE: Pay attention to the final value of the TRANSFORM MATRIX. Make sure all of its values are what you want them to be and that those values have been committed, either directly or indirectly, AS THE TRANSFORM MATRIX IS WHAT'S GIVEN TO THE CSHostWrap.dll FUNCTIONS THAT WRITE THE NEW RIG FILE.
KNOWN BUGS/ISSUES:
- The math for converting between Quaternions, Euler Angles, and the Transform doesn't seem to be correct.
The exact methods that the CSHostWrap.dll functions use to convert the 4x4 transform matrix into the quarternions that the grannyrig files use is still largely unknown.
FOR NOW, YOUR BEST BET FOR THE RIG COMING OUT RIGHT IS TO JUST SPECIFY THE POSITION AND LEAVE THE REST OF THE 4X4 TRANSFORM AS AN IDENTITY MATRIX.
If you are creating a rig that actually depends on the transform's rotations and not just its position, then I wish you luck. - This program does not protect against giving two bones in a rig the same name or out of range of parent indices, or other values that would possibly be invalid in the context of how the game utilizes RIG files. Again, as stated in the DISCLAIMER (WHICH YOU SHOULD HAVE READ BY NOW!), the creators and distributors of this tool can't be held liable for any damages caused by carelessness or deliberate ignorance of how the game uses RIG files.
ASSISTANCE WANTED:
Wherever this tool has been uploaded, its source code has also most likely been uploaded along with it.
If you are a programmer with experience in C#, euclidean geometry, and/or computer graphics, please feel free to assist the original creators in making this tool more efficient and reliable, and help to keep it maintained and up to date for the good of the modding community as a whole. You will be appreciated for it.
S3RIGMaker.rar (58.3 KB, 280 downloads) - View custom content | ||
Size Packed Ratio Date Time Attr CRC Meth Ver ------------------------------------------------------------------------------- TransformEditorDialog.exe 6656 2758 41% 10-05-10 18:10 .....A. FFB91C04 m3c 2.9 ChaosMageX.Granny2.dll 132096 44732 33% 10-05-10 18:10 .....A. B71F0800 m3c 2.9 S3RIGMaker.exe 18944 8048 42% 10-05-10 18:10 .....A. 60E21C89 m3c 2.9 README_S3RIGMaker.txt 8911 3884 43% 05-05-10 00:22 .....A. E77DE199 m3c 2.9 ------------------------------------------------------------------------------- 4 166607 59422 35% |
||
Description: The main program executable, the dll needed to run it, and an extra exe for debugging the transform dialog | ||
S3RIGMaker_Source.rar (628.0 KB, 121 downloads) - View custom content | ||
Size Packed Ratio Date Time Attr CRC Meth Ver ------------------------------------------------------------------------------- TransformEditorDialog/bin/Debug/ChaosMageX.Granny2.dll 132096 44731 33% 10-05-10 18:10 .....A. B71F0800 m3g 2.9 TransformEditorDialog/bin/Debug/ChaosMageX.Granny2.pdb 445952 64846 14% 10-05-10 18:10 .....A. 926AE39F m3g 2.9 TransformEditorDialog/bin/Debug/TransformEditorDialog.exe 6656 2758 41% 10-05-10 18:10 .....A. FFB91C04 m3g 2.9 TransformEditorDialog/bin/Debug/TransformEditorDialog.pdb 22016 2476 11% 10-05-10 18:10 .....A. FC04BBA0 m3g 2.9 TransformEditorDialog/obj/Debug/ResolveAssemblyReference.cache 4533 1167 25% 30-04-10 17:11 .....A. 9A313F59 m3g 2.9 TransformEditorDialog/obj/Debug/TransformDialog.csproj.FileListAbsolute.txt 2639 305 11% 10-05-10 18:07 .....A. D7A23CA3 m3g 2.9 TransformEditorDialog/obj/Debug/TransformDialog.csproj.GenerateResource.Cache 857 496 57% 30-04-10 17:11 .....A. 6F99EC3E m3g 2.9 TransformEditorDialog/obj/Debug/TransformEditorDialog.exe 6656 2758 41% 10-05-10 18:10 .....A. FFB91C04 m3g 2.9 TransformEditorDialog/obj/Debug/TransformEditorDialog.pdb 22016 2476 11% 10-05-10 18:10 .....A. FC04BBA0 m3g 2.9 TransformEditorDialog/obj/Debug/TransformEditorDialog.Properties.Resources.resources 180 157 87% 10-05-10 18:10 .....A. 25120A4E m3g 2.9 TransformEditorDialog/Program.cs 545 309 56% 01-05-10 18:24 .....A. 28677F3F m3g 2.9 TransformEditorDialog/Properties/AssemblyInfo.cs 1454 671 46% 28-04-10 18:20 .....A. 558B36C0 m3g 2.9 TransformEditorDialog/Properties/Resources.Designer.cs 2871 952 33% 28-04-10 18:20 .....A. EF2087C6 m3g 2.9 TransformEditorDialog/Properties/Resources.resx 5612 1476 26% 28-04-10 18:20 .....A. 76745A94 m3g 2.9 TransformEditorDialog/Properties/Settings.Designer.cs 1106 507 45% 28-04-10 18:20 .....A. FAD52794 m3g 2.9 TransformEditorDialog/Properties/Settings.settings 249 187 75% 28-04-10 18:20 .....A. 12D89760 m3g 2.9 TransformEditorDialog/TransformDialog.csproj 3691 1226 33% 01-05-10 17:01 .....A. 2E181AF1 m3g 2.9 S3RIGMaker.sln 1933 526 27% 04-05-10 21:30 .....A. ADE056E9 m3g 2.9 ChaosMageX.Granny2/Animation.cs 1352 472 34% 30-04-10 17:11 .....A. AF731038 m3g 2.9 ChaosMageX.Granny2/ArtToolInfo.cs 8068 1300 16% 04-05-10 17:04 .....A. EC23D273 m3g 2.9 ChaosMageX.Granny2/bin/Debug/ChaosMageX.Granny2.dll 132096 44731 33% 10-05-10 18:10 .....A. B71F0800 m3g 2.9 ChaosMageX.Granny2/bin/Debug/ChaosMageX.Granny2.pdb 445952 64844 14% 10-05-10 18:10 .....A. 926AE39F m3g 2.9 ChaosMageX.Granny2/Bone.cs 6070 1262 20% 04-05-10 17:05 .....A. 7BFDB993 m3g 2.9 ChaosMageX.Granny2/BoneBinding.cs 1498 509 33% 30-04-10 17:11 .....A. D1F51126 m3g 2.9 ChaosMageX.Granny2/CameraInfo.cs 785 299 38% 30-04-10 17:11 .....A. DDCBE55D m3g 2.9 ChaosMageX.Granny2/ChaosMageX.Granny2.csproj 8353 1738 20% 04-05-10 21:09 .....A. C6DC2170 m3g 2.9 ChaosMageX.Granny2/Control.cs 739 299 40% 30-04-10 17:11 .....A. 6B6046F0 m3g 2.9 ChaosMageX.Granny2/Curve.cs 1429 460 32% 30-04-10 17:11 .....A. 3ED64E2A m3g 2.9 ChaosMageX.Granny2/Entry.cs 800 320 40% 30-04-10 17:11 .....A. 1399BA96 m3g 2.9 ChaosMageX.Granny2/ExporterInfo.cs 6561 1065 16% 04-05-10 17:05 .....A. DB65D5B9 m3g 2.9 ChaosMageX.Granny2/FileInfo.cs 8574 1504 17% 04-05-10 17:04 .....A. 058D79F9 m3g 2.9 ChaosMageX.Granny2/Geom/MathUtils.cs 7152 1576 22% 04-05-10 17:27 .....A. 6716DA4B m3g 2.9 ChaosMageX.Granny2/Geom/Matrix33.cs 9474 1857 19% 30-04-10 17:11 .....A. 03A8826D m3g 2.9 ChaosMageX.Granny2/Geom/Matrix44.cs 9827 1982 20% 30-04-10 17:11 .....A. 6AA1A1A0 m3g 2.9 ChaosMageX.Granny2/Geom/Quaterion.cs 12837 2129 16% 30-04-10 17:11 .....A. 31761D65 m3g 2.9 ChaosMageX.Granny2/Geom/Vector2.cs 6208 1230 19% 30-04-10 17:11 .....A. 33CB6FA4 m3g 2.9 ChaosMageX.Granny2/Geom/Vector3.cs 8954 1615 18% 30-04-10 17:11 .....A. 50299ED2 m3g 2.9 ChaosMageX.Granny2/Geom/Vector4.cs 6149 1212 19% 30-04-10 17:11 .....A. 27643ABC m3g 2.9 ChaosMageX.Granny2/Gibbed.Granny2.csproj 7113 1538 21% 28-04-10 18:01 .....A. C87A2C51 m3g 2.9 ChaosMageX.Granny2/Group.cs 898 336 37% 30-04-10 17:11 .....A. A4C9BC57 m3g 2.9 ChaosMageX.Granny2/Helpers.cs 4339 1007 23% 30-04-10 17:11 .....A. 4A61174E m3g 2.9 ChaosMageX.Granny2/Image.cs 1084 413 38% 30-04-10 17:11 .....A. 9D0B030E m3g 2.9 ChaosMageX.Granny2/Imports.cs 5181 748 14% 30-04-10 17:11 .....A. B2341707 m3g 2.9 ChaosMageX.Granny2/Index.cs 716 297 41% 30-04-10 17:11 .....A. 640E4A51 m3g 2.9 ChaosMageX.Granny2/Index16.cs 736 301 40% 30-04-10 17:11 .....A. 740C90C4 m3g 2.9 ChaosMageX.Granny2/Layout.cs 1515 407 26% 30-04-10 17:11 .....A. EE441234 m3g 2.9 ChaosMageX.Granny2/license.txt 879 508 57% 24-03-10 17:29 .....A. 44A0F71E m3g 2.9 ChaosMageX.Granny2/LightInfo.cs 776 308 39% 30-04-10 17:11 .....A. 84E59172 m3g 2.9 ChaosMageX.Granny2/Map.cs 789 311 39% 30-04-10 17:11 .....A. A7888F3F m3g 2.9 ChaosMageX.Granny2/Material.cs 1324 476 35% 30-04-10 17:11 .....A. 01C72E48 m3g 2.9 ChaosMageX.Granny2/MaterialBinding.cs 845 307 36% 30-04-10 17:11 .....A. 9774235F m3g 2.9 ChaosMageX.Granny2/Mesh.cs 10724 1891 17% 30-04-10 17:11 .....A. C5345163 m3g 2.9 ChaosMageX.Granny2/MeshBinding.cs 801 303 37% 30-04-10 17:11 .....A. FA845585 m3g 2.9 ChaosMageX.Granny2/MIPLevel.cs 1151 432 37% 30-04-10 17:11 .....A. 0B6D871C m3g 2.9 ChaosMageX.Granny2/Model.cs 4095 1078 26% 04-05-10 17:05 .....A. A4CF9E13 m3g 2.9 ChaosMageX.Granny2/MorphTarget.cs 907 338 37% 30-04-10 17:11 .....A. 86CC240D m3g 2.9 ChaosMageX.Granny2/Native/Animation.cs 401 281 70% 30-04-10 17:11 .....A. 12A59B97 m3g 2.9 ChaosMageX.Granny2/Native/ArrayOfReferences.cs 285 224 78% 30-04-10 17:11 .....A. 553F5A1D m3g 2.9 ChaosMageX.Granny2/Native/ArrayOfStructures.cs 285 224 78% 30-04-10 17:11 .....A. A62FD107 m3g 2.9 ChaosMageX.Granny2/Native/ArrayOfVariants.cs 277 218 78% 30-04-10 17:11 .....A. 57FF3C96 m3g 2.9 ChaosMageX.Granny2/Native/ArtToolInfo.cs 719 373 51% 30-04-10 17:11 .....A. 429C5B13 m3g 2.9 ChaosMageX.Granny2/Native/Bone.cs 589 361 61% 30-04-10 17:11 .....A. 11276FB0 m3g 2.9 ChaosMageX.Granny2/Native/BoneBinding.cs 409 284 69% 30-04-10 17:11 .....A. 50DC0C8A m3g 2.9 ChaosMageX.Granny2/Native/CameraInfo.cs 254 218 85% 30-04-10 17:11 .....A. 5F0F9AB3 m3g 2.9 ChaosMageX.Granny2/Native/Control.cs 274 220 80% 30-04-10 17:11 .....A. 989A0E6B m3g 2.9 ChaosMageX.Granny2/Native/Curve.cs 468 277 59% 30-04-10 17:11 .....A. 07720331 m3g 2.9 ChaosMageX.Granny2/Native/Entry.cs 317 250 78% 30-04-10 17:11 .....A. 2C70D7C5 m3g 2.9 ChaosMageX.Granny2/Native/ExporterInfo.cs 526 315 59% 30-04-10 17:11 .....A. 2E8CFCF8 m3g 2.9 ChaosMageX.Granny2/Native/FileInfo.cs 848 396 46% 30-04-10 17:11 .....A. 972352DB m3g 2.9 ChaosMageX.Granny2/Native/Group.cs 314 228 72% 30-04-10 17:11 .....A. 8E1F46F4 m3g 2.9 ChaosMageX.Granny2/Native/Image.cs 257 221 85% 30-04-10 17:11 .....A. 3003C9A4 m3g 2.9 ChaosMageX.Granny2/Native/Index.cs 550 284 51% 30-04-10 17:11 .....A. DD556710 m3g 2.9 ChaosMageX.Granny2/Native/Index16.cs 243 206 84% 30-04-10 17:11 .....A. 8E597E08 m3g 2.9 ChaosMageX.Granny2/Native/Layout.cs 603 269 44% 30-04-10 17:11 .....A. B81018AC m3g 2.9 ChaosMageX.Granny2/Native/LightInfo.cs 253 212 83% 30-04-10 17:11 .....A. 8F323CB5 m3g 2.9 ChaosMageX.Granny2/Native/Map.cs 317 242 76% 30-04-10 17:11 .....A. A62800B8 m3g 2.9 ChaosMageX.Granny2/Native/Material.cs 414 285 68% 30-04-10 17:11 .....A. 29552D76 m3g 2.9 ChaosMageX.Granny2/Native/MaterialBinding.cs 255 210 82% 30-04-10 17:11 .....A. 83ECBB6D m3g 2.9 ChaosMageX.Granny2/Native/Matrix33.cs 305 222 72% 30-04-10 17:11 .....A. 966DE109 m3g 2.9 ChaosMageX.Granny2/Native/Matrix44.cs 334 225 67% 30-04-10 17:11 .....A. 2D4648D5 m3g 2.9 ChaosMageX.Granny2/Native/Mesh.cs 550 314 57% 30-04-10 17:11 .....A. BDEE3021 m3g 2.9 ChaosMageX.Granny2/Native/MeshBinding.cs 247 204 82% 30-04-10 17:11 .....A. 7983F4B1 m3g 2.9 ChaosMageX.Granny2/Native/MIPLevel.cs 288 229 79% 30-04-10 17:11 .....A. FCD96462 m3g 2.9 ChaosMageX.Granny2/Native/Model.cs 409 286 69% 30-04-10 17:11 .....A. 04E2271A m3g 2.9 ChaosMageX.Granny2/Native/MorphTarget.cs 330 259 78% 30-04-10 17:11 .....A. 37905E47 m3g 2.9 ChaosMageX.Granny2/Native/NamedArrayOfRefs.cs 331 246 74% 30-04-10 17:11 .....A. FC7CE589 m3g 2.9 ChaosMageX.Granny2/Native/NamedArrayOfStructs.cs 334 244 73% 30-04-10 17:11 .....A. AF3DBCFB m3g 2.9 ChaosMageX.Granny2/Native/PeriodicLoop.cs 403 247 61% 30-04-10 17:11 .....A. 89649F56 m3g 2.9 ChaosMageX.Granny2/Native/Pixel.cs 240 205 85% 30-04-10 17:11 .....A. 1881364F m3g 2.9 ChaosMageX.Granny2/Native/Quaternion.cs 322 222 68% 30-04-10 17:11 .....A. 97B00527 m3g 2.9 ChaosMageX.Granny2/Native/ScalarTrack.cs 358 275 76% 30-04-10 17:11 .....A. B932CEC2 m3g 2.9 ChaosMageX.Granny2/Native/SizeAttribute.cs 294 217 73% 30-04-10 17:11 .....A. 0673ECDA m3g 2.9 ChaosMageX.Granny2/Native/Skeleton.cs 468 308 65% 30-04-10 17:11 .....A. F8DDD359 m3g 2.9 ChaosMageX.Granny2/Native/StringMember.cs 523 301 57% 30-04-10 17:11 .....A. 46E47D43 m3g 2.9 ChaosMageX.Granny2/Native/TextTrack.cs 331 255 77% 30-04-10 17:11 .....A. F50F14C0 m3g 2.9 ChaosMageX.Granny2/Native/Texture.cs 601 351 58% 30-04-10 17:11 .....A. 20984ACD m3g 2.9 ChaosMageX.Granny2/Native/Topology.cs 842 340 40% 30-04-10 17:11 .....A. EEBB6B43 m3g 2.9 ChaosMageX.Granny2/Native/TrackGroup.cs 723 399 55% 30-04-10 17:11 .....A. EE3C0189 m3g 2.9 ChaosMageX.Granny2/Native/Transform.cs 365 263 72% 30-04-10 17:11 .....A. 0D66B4CE m3g 2.9 ChaosMageX.Granny2/Native/TransformTrack.cs 409 273 66% 30-04-10 17:11 .....A. D1941FA2 m3g 2.9 ChaosMageX.Granny2/Native/TriAnnotationSet.cs 403 272 67% 30-04-10 17:11 .....A. 7716D1B0 m3g 2.9 ChaosMageX.Granny2/Native/VariantReference.cs 289 226 78% 30-04-10 17:11 .....A. D90EB252 m3g 2.9 ChaosMageX.Granny2/Native/Vector3.cs 293 217 74% 30-04-10 17:11 .....A. CDE0902D m3g 2.9 ChaosMageX.Granny2/Native/Vector4.cs 319 220 68% 30-04-10 17:11 .....A. 63CD62A0 m3g 2.9 ChaosMageX.Granny2/Native/VertexAnnotationSet.cs 412 274 66% 30-04-10 17:11 .....A. BC6188E8 m3g 2.9 ChaosMageX.Granny2/Native/VertexData.cs 365 256 70% 30-04-10 17:11 .....A. BAA20EF2 m3g 2.9 ChaosMageX.Granny2/obj/Debug/ChaosMageX.Granny2.csproj.FileListAbsolute.txt 2350 301 12% 10-05-10 18:07 .....A. 1F3B1421 m3g 2.9 ChaosMageX.Granny2/obj/Debug/ChaosMageX.Granny2.csproj.GenerateResource.Cache 1063 584 54% 04-05-10 21:25 .....A. 41EED255 m3g 2.9 ChaosMageX.Granny2/obj/Debug/ChaosMageX.Granny2.dll 132096 44731 33% 10-05-10 18:10 .....A. B71F0800 m3g 2.9 ChaosMageX.Granny2/obj/Debug/ChaosMageX.Granny2.pdb 445952 64844 14% 10-05-10 18:10 .....A. 926AE39F m3g 2.9 ChaosMageX.Granny2/obj/Debug/ChaosMageX.Granny2.TreeView.ContextMenuIcons.resources 6046 5522 91% 04-05-10 21:10 .....A. 9FDD02EA m3g 2.9 ChaosMageX.Granny2/obj/Debug/ChaosMageX.Granny2.UI.TransformDialog.resources 180 157 87% 04-05-10 21:25 .....A. 25120A4E m3g 2.9 ChaosMageX.Granny2/obj/Debug/Refactor/ChaosMageX.Granny2.dll 36352 13225 36% 04-05-10 19:54 .....A. 656CB84E m3g 2.9 ChaosMageX.Granny2/obj/Debug/ResolveAssemblyReference.cache 2639 933 35% 30-04-10 17:11 .....A. 8C6BC7B3 m3g 2.9 ChaosMageX.Granny2/obj/Debug/TempPE/TreeView.ContextMenuIcons.Designer.cs.dll 4608 1751 37% 03-05-10 21:57 .....A. 05198682 m3g 2.9 ChaosMageX.Granny2/PeriodicLoop.cs 1320 409 30% 30-04-10 17:11 .....A. 29602C89 m3g 2.9 ChaosMageX.Granny2/Pixel.cs 717 299 41% 30-04-10 17:11 .....A. 53971967 m3g 2.9 ChaosMageX.Granny2/Properties/AssemblyInfo.cs 1448 670 46% 10-05-10 18:10 .....A. 8EA576C6 m3g 2.9 ChaosMageX.Granny2/Resources/green_single_arrows_set_down_thumb.png 2808 2808 100% 03-05-10 21:55 .....A. 0CE9C9DD m0g 2.9 ChaosMageX.Granny2/Resources/green_single_arrows_set_up_thumb.png 2971 2971 100% 03-05-10 21:56 .....A. 3C6FBC47 m0g 2.9 ChaosMageX.Granny2/ScalarTrack.cs 879 327 37% 30-04-10 17:11 .....A. E64622BF m3g 2.9 ChaosMageX.Granny2/Skeleton.cs 5114 1254 24% 04-05-10 17:06 .....A. 8009EAF0 m3g 2.9 ChaosMageX.Granny2/StringMember.cs 1193 415 34% 30-04-10 17:11 .....A. E3DFBAC8 m3g 2.9 ChaosMageX.Granny2/TextTrack.cs 1164 436 37% 30-04-10 17:11 .....A. 7C712664 m3g 2.9 ChaosMageX.Granny2/Texture.cs 1748 556 31% 30-04-10 17:11 .....A. 15B5075A m3g 2.9 ChaosMageX.Granny2/Topology.cs 4358 757 17% 30-04-10 17:11 .....A. AB353818 m3g 2.9 ChaosMageX.Granny2/TrackGroup.cs 2707 688 25% 30-04-10 17:11 .....A. 8214396A m3g 2.9 ChaosMageX.Granny2/Transform.cs 5969 1274 21% 04-05-10 16:58 .....A. B32B4626 m3g 2.9 ChaosMageX.Granny2/TransformTrack.cs 1166 367 31% 30-04-10 17:11 .....A. E71F0D54 m3g 2.9 ChaosMageX.Granny2/TreeView/ContextMenuIcons.Designer.cs 3417 1056 30% 03-05-10 21:57 .....A. AF11E31A m3g 2.9 ChaosMageX.Granny2/TreeView/ContextMenuIcons.resx 6509 1643 25% 03-05-10 21:57 .....A. 49EB344C m3g 2.9 ChaosMageX.Granny2/TreeView/GrannyTreeNode.cs 6331 1266 19% 04-05-10 17:03 .....A. DE8C6424 m3g 2.9 ChaosMageX.Granny2/TreeView/IndexedGrannyTreeNode.cs 7850 1214 15% 04-05-10 17:03 .....A. 1B01AECB m3g 2.9 ChaosMageX.Granny2/TreeView/Matrix33Node.cs 2454 602 24% 04-05-10 17:15 .....A. 0DBEE765 m3g 2.9 ChaosMageX.Granny2/TreeView/Matrix44Node.cs 2789 638 22% 04-05-10 17:15 .....A. C78EC094 m3g 2.9 ChaosMageX.Granny2/TreeView/QuaternionNode.cs 3654 743 20% 04-05-10 17:17 .....A. 96ED0EF2 m3g 2.9 ChaosMageX.Granny2/TreeView/Vector3Node.cs 3240 730 22% 04-05-10 17:17 .....A. 64FBB0ED m3g 2.9 ChaosMageX.Granny2/TreeView/Vector4Node.cs 3858 762 19% 04-05-10 17:18 .....A. CE6EAECC m3g 2.9 ChaosMageX.Granny2/TriAnnotationSet.cs 1707 518 30% 30-04-10 17:11 .....A. A2F64CA3 m3g 2.9 ChaosMageX.Granny2/UI/TransformDialog.cs 36576 3811 10% 10-05-10 18:07 .....A. F670803F m3g 2.9 ChaosMageX.Granny2/UI/TransformDialog.Designer.cs 52800 4586 8% 04-05-10 21:25 .....A. 5960DAD5 m3g 2.9 ChaosMageX.Granny2/UI/TransformDialog.resx 6010 1567 26% 04-05-10 21:25 .....A. 9BE5B20C m3g 2.9 ChaosMageX.Granny2/VertexAnnotationSet.cs 1767 520 29% 30-04-10 17:11 .....A. C59F233B m3g 2.9 ChaosMageX.Granny2/VertexComp.cs 2625 754 28% 04-05-10 21:10 .....A. E035CFEF m3g 2.9 ChaosMageX.Granny2/VertexData.cs 1615 503 31% 30-04-10 17:11 .....A. 2B997B2C m3g 2.9 S3RIGMaker/bin/Debug/ChaosMageX.Granny2.dll 132096 44731 33% 10-05-10 18:10 .....A. B71F0800 m3g 2.9 S3RIGMaker/bin/Debug/ChaosMageX.Granny2.pdb 445952 64844 14% 10-05-10 18:10 .....A. 926AE39F m3g 2.9 S3RIGMaker/bin/Debug/S3RIGMaker.exe 18944 8048 42% 10-05-10 18:10 .....A. 60E21C89 m3g 2.9 S3RIGMaker/bin/Debug/S3RIGMaker.pdb 50688 8290 16% 10-05-10 18:10 .....A. 8E98A3CC m3g 2.9 S3RIGMaker/bin/Debug/S3RIGMaker.vshost.exe 14328 6687 46% 10-05-10 17:54 .....A. 1ED57BFB m3g 2.9 S3RIGMaker/bin/Debug/S3RIGMaker.vshost.exe.manifest 490 285 58% 10-06-09 16:14 .....A. 266BB9C6 m3g 2.9 S3RIGMaker/obj/Debug/ResolveAssemblyReference.cache 57093 5313 9% 10-05-10 18:10 .....A. 84639E94 m3g 2.9 S3RIGMaker/obj/Debug/S3RIGMaker.csproj.FileListAbsolute.txt 4790 442 9% 10-05-10 18:07 .....A. 0F9E748C m3g 2.9 S3RIGMaker/obj/Debug/S3RIGMaker.csproj.GenerateResource.Cache 921 528 57% 04-05-10 12:45 .....A. EB0F3D6B m3g 2.9 S3RIGMaker/obj/Debug/S3RIGMaker.exe 18944 8048 42% 10-05-10 18:10 .....A. 60E21C89 m3g 2.9 S3RIGMaker/obj/Debug/S3RIGMaker.pdb 50688 8290 16% 10-05-10 18:10 .....A. 8E98A3CC m3g 2.9 S3RIGMaker/obj/Debug/S3RIGMaker.Properties.Resources.resources 180 157 87% 10-05-10 18:10 .....A. 25120A4E m3g 2.9 S3RIGMaker/obj/Debug/S3RIGMaker.RigChooserDialog.resources 180 157 87% 10-05-10 18:10 .....A. 25120A4E m3g 2.9 S3RIGMaker/obj/Debug/S3RIGMaker.S3RIGMaker.resources 180 157 87% 10-05-10 18:10 .....A. 25120A4E m3g 2.9 S3RIGMaker/obj/Debug/SimRigger.csproj.FileListAbsolute.txt 2853 344 12% 03-05-10 22:48 .....A. 1DC76CC9 m3g 2.9 S3RIGMaker/obj/Debug/SimRigger.csproj.GenerateResource.Cache 916 525 57% 03-05-10 20:16 .....A. ABC35E89 m3g 2.9 S3RIGMaker/obj/Debug/SimRigger.Form1.resources 180 157 87% 03-05-10 22:51 .....A. 25120A4E m3g 2.9 S3RIGMaker/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll 4608 1793 38% 04-05-10 19:54 .....A. 8C5150E4 m3g 2.9 S3RIGMaker/Program.cs 507 288 56% 04-05-10 19:54 .....A. DD1ED0EA m3g 2.9 S3RIGMaker/Properties/AssemblyInfo.cs 1430 660 46% 10-05-10 18:10 .....A. 128605F0 m3g 2.9 S3RIGMaker/Properties/Resources.Designer.cs 2847 961 33% 04-05-10 19:54 .....A. 48EE1590 m3g 2.9 S3RIGMaker/Properties/Resources.resx 5612 1476 26% 20-04-10 20:21 .....A. 76745A94 m3g 2.9 S3RIGMaker/Properties/Settings.Designer.cs 1091 499 45% 04-05-10 19:54 .....A. 8063F7BC m3g 2.9 S3RIGMaker/Properties/Settings.settings 249 187 75% 20-04-10 20:21 .....A. 12D89760 m3g 2.9 S3RIGMaker/RigChooserDialog.cs 529 257 48% 04-05-10 19:54 .....A. 947DE398 m3g 2.9 S3RIGMaker/RigChooserDialog.Designer.cs 3904 997 25% 04-05-10 19:54 .....A. B49A5A2E m3g 2.9 S3RIGMaker/RigChooserDialog.resx 5814 1510 25% 03-05-10 22:03 .....A. BA983FA2 m3g 2.9 S3RIGMaker/RigDataController.cs 8136 1474 18% 01-05-10 00:07 .....A. 0C16FE9B m3g 2.9 S3RIGMaker/S3RIGMaker.cs 12165 2573 21% 10-05-10 17:59 .....A. 53D94C2E m3g 2.9 S3RIGMaker/S3RIGMaker.csproj 5069 1460 28% 04-05-10 19:57 .....A. 7C4FC9E0 m3g 2.9 S3RIGMaker/S3RIGMaker.Designer.cs 9916 1627 16% 04-05-10 19:54 .....A. 1844D8DB m3g 2.9 S3RIGMaker/S3RIGMaker.resx 6012 1568 26% 04-05-10 11:06 .....A. 03ADB038 m3g 2.9 TransformEditorDialog/obj/Debug/Refactor 0 0 0% 28-04-10 18:23 .D..... 00000000 m0 2.0 TransformEditorDialog/obj/Debug/TempPE 0 0 0% 28-04-10 18:20 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/obj/Debug/Refactor 0 0 0% 04-05-10 19:54 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/obj/Debug/TempPE 0 0 0% 03-05-10 21:57 .D..... 00000000 m0 2.0 S3RIGMaker/obj/Debug/Refactor 0 0 0% 20-04-10 20:23 .D..... 00000000 m0 2.0 S3RIGMaker/obj/Debug/TempPE 0 0 0% 04-05-10 19:54 .D..... 00000000 m0 2.0 TransformEditorDialog/bin/Debug 0 0 0% 04-05-10 21:12 .D..... 00000000 m0 2.0 TransformEditorDialog/obj/Debug 0 0 0% 10-05-10 18:10 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/bin/Debug 0 0 0% 04-05-10 21:12 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/obj/Debug 0 0 0% 10-05-10 18:10 .D..... 00000000 m0 2.0 S3RIGMaker/bin/Debug 0 0 0% 04-05-10 21:29 .D..... 00000000 m0 2.0 S3RIGMaker/obj/Debug 0 0 0% 10-05-10 18:10 .D..... 00000000 m0 2.0 TransformEditorDialog/bin 0 0 0% 01-05-10 00:47 .D..... 00000000 m0 2.0 TransformEditorDialog/obj 0 0 0% 28-04-10 18:20 .D..... 00000000 m0 2.0 TransformEditorDialog/Properties 0 0 0% 28-04-10 18:20 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/bin 0 0 0% 03-05-10 14:36 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/Geom 0 0 0% 04-05-10 17:27 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/Native 0 0 0% 30-04-10 17:11 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/obj 0 0 0% 30-04-10 16:54 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/Properties 0 0 0% 10-05-10 18:10 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/Resources 0 0 0% 03-05-10 21:56 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/TreeView 0 0 0% 04-05-10 17:18 .D..... 00000000 m0 2.0 ChaosMageX.Granny2/UI 0 0 0% 10-05-10 18:07 .D..... 00000000 m0 2.0 S3RIGMaker/bin 0 0 0% 04-05-10 19:57 .D..... 00000000 m0 2.0 S3RIGMaker/obj 0 0 0% 20-04-10 20:21 .D..... 00000000 m0 2.0 S3RIGMaker/Properties 0 0 0% 10-05-10 18:10 .D..... 00000000 m0 2.0 TransformEditorDialog 0 0 0% 01-05-10 18:24 .D..... 00000000 m0 2.0 ChaosMageX.Granny2 0 0 0% 04-05-10 21:10 .D..... 00000000 m0 2.0 S3RIGMaker 0 0 0% 10-05-10 17:59 .D..... 00000000 m0 2.0 README_S3RIGMaker.txt 8911 3884 43% 05-05-10 00:22 .....A. E77DE199 m3g 2.9 S3RIGMaker/bin/Debug/SimRigger.vshost.exe.manifest 490 285 58% 10-06-09 16:14 .....A. 266BB9C6 m3g 2.9 ------------------------------------------------------------------------------- 208 3092522 627269 20% |
||
Description: The source code for the project, for all you out there who know their way around C# and want to help me make this tool better. It comes with complete with the Microsoft Visual Studio 2008 Solution and Project files needed to compile it. |
Posts: 1,740
Thanks: 107808 in 53 Posts
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 2,932
Thanks: 15576 in 28 Posts
Thank you ...and good luck on exams too.
Posts: 1,740
Thanks: 107808 in 53 Posts
Here is a more practical result of my testing with chairs:
She's sitting in a clone of the chair on the right. I lowered the seat, then lowered the IK butt bone in the rig. In other testing, I've raised the sit template bone to have her sitting about as high as the top of a refrigerator.
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 133
Thanks: 3570 in 220 Posts
However, if containment slots still aren't working properly, despite changing both the RIG and RSLT files to new coordinates, I'd like to know more about how it can be fixed.
Again, I think the MSIL game code may have a bigger hand in controlling slotting objects to other objects than we previously thought, but I have already brought that up in the main thread for that topic, and have been seemingly ignored.
But still, the first thing I'd like to ask is: Did you make sure the that transform matrix for both the bone in the RIG file and slot in RSLT matched up perfectly, with the same position and rotation? From what I've heard they need to match up perfectly in order to work properly.
I'm also beginning to suspect that what RavenShadow said about skeletons holding more data than we previously thought might be correct, as the ExtendedData pointer for the skeleton in the rig is not null. However, as I have said before, if the skeleton did hold extra data that would be useful to the game, then there would be methods for editing that data in CAW's CSHostWrap.dll, but there are none.
The second question I'd like to ask: Was the Z is Up Checkbox checked when you exported the working custom rig for the chair and whatever you tested for the containment slot change?
That may also make the difference in whether or not containment slots work, as I am still not entirely sure on the exact rotation matrix to quaternion conversion algorithm that the Sims3Common.dll uses to encode the grannyrig files, and therefore the transforms might not match up between the RIG and RSLT files.
Again, as I have stated before, at the position is properly translated, so for the most basic tests, start with a bone and slot that have absolutely no rotations whatsoever. This means making the rotation portion of the transform matrix in my tool and in the RSLT editor nothing more than an identity matrix:
--X Y Z
R 1 0 0
U 0 1 0
A 0 0 1
In this tool or the grannyviewer, it should look like this after being exported:
{7 {X, Y, Z} {0, 0, 0, 1} {1, 0, 0, 0, 1, 0, 0, 0, 1}}
That basically says that the bone has a custom position (X, Y, Z), but absolutely no rotations.
Posts: 1,740
Thanks: 107808 in 53 Posts
To answer your first question, the RIG and RLST did have all the same values. I had some other ideas of what to try, but I started messing with the chair.
As for the second question, the Z is up box was always unchecked. So I guess I could try that too.
eta: The containment slot problem was due to a conflict with duplicate objects. I renumbered and it worked as expected.
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 55
Posts: 209
Thanks: 1943 in 29 Posts
I'll let you know what luck I have with container slots,
I'm redoing my stackable shelves, which have 19 to 38 container slots each.
I've noticed that someone's thought of the bone name being tied to special object properties
is probably correct.
Several objects (fish bowl, b-day cake, computers, etc.) can only be placed on certain surfaces in
certain slots, they have no bones that seem to cause this behaviour,
but the surfaces they can be placed use specaillt named bones.
(_cntm_ is the 1st half of the bones name followed a number & compass reference for direction of approach)
I've also found bone names that are likely tied to food spoilage, fire damage / combustability.
and even built-in routing bones that have no defined slot in the rslt.
I'll let you know of any issues I have with containers
Posts: 133
Thanks: 3570 in 220 Posts
I haven't searched it hard enough yet, but there may even be MSIL game code to back this bone name slot behavior control.
If you discover unique behaviors associated with specific bone names or parts of bone names, by all means report them in this thread or the main thread discussing slot placement.
I would definitely be interested in your findings and others would as well.
Also, do try to experiment with controlling slot behavior through MSIL code more directly. I definitely will once I have the time.
I have some interesting ideas for some OMSPs, such as a hidden tray with two IK joints for a sim's hands that would allow them to carry one-tile objects like you would IRL.
Another idea I have is to try to create a hidden jig object that would allow sims to overturn furniture and give their house a wild party lived-in look.
Will I have time to get around to making these mods? Maybe, maybe not. It depends on how stable my life is (whether or not I have a job and a place to live) by the time the Ambitions Expansion Pack comes out.
Posts: 1,740
Thanks: 107808 in 53 Posts
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 209
Thanks: 1943 in 29 Posts
I'm not a programmer so I can't follow you on the MSIL or the object script class, sorry.
But I amm reminded of something, I did a couple of simple experiments with a bed for someone a couple of weeks ago
and got some odd results.
They wanted to play with the slots that controlled where sims sat, layed on a bed,
and I couldn't find one.
I switched it's rig out with one from the pedastal cube and raised the Y position on several effect slots that were below the bed
and took the bed into the game.
The end result was that all animations applied to the bed, such as the mattress sinking when sat on, where ruined, as expected.
But the sim still layed & sat at exactly the same height as an unmodded bed.
After playing with all 3 slot related files (ftpt,rslt,rig) I could only tell them that the data was probably in the script code.
Posts: 133
Thanks: 3570 in 220 Posts
WesHowe did make a tool for editing the CLIP files for sims, but so far there hasn't been much interest in it, mostly because the leg animations don't seem to work right.
Posts: 2,932
Thanks: 15576 in 28 Posts
Posts: 209
Thanks: 1943 in 29 Posts
The starting Y-Coordinate must be stored somewhere,
the sim starts by moving next to the bed, then sits down,
based on how the sim i used in my experiments reacted when trying
to get out of the bed (he couldn't get out of it), the animation begins
after the sims has sat down on the bed.
When they get out, the animation ends with them in a sitting position.
Anywho .......
I wanted to make 2 requests .
When saving changes, the changed items are still listed in blue,
making it difficult to judge which changes are recent and which are old.
The 2nd one, is that I have noticed that the Model's bone list and the Skeleton's bone list are identical
and it's probably a safe gues that they need to be kept indentical.
Yet changing so many entries is very time consuming, and it would be nice
if the changes made to one list automatically be applied to the other list.
If done, I believe that you'd have to be careful of multiple skeleton/model entries,
so that Model #0 's entries should be made indentical to skeleton #0's list.
That would be greatly appreciated and a great time saver.
Posts: 133
Thanks: 3570 in 220 Posts
It stays blue if you click Save As.
Due to the current incomplete understanding of the codes used to write the .gr2 files and the euclidean math for translating between the rotation matrices and quaternions, the Save button is currently disabled.
As for your second request, let's just say that it's easier said than done at the moment. Implementing the Tree View UI was already hard enough as it is, so I decided to just open up a chooser for all the skeletons in the selected FileInfo node, and let the user find the one they've modified through the chooser.
In order to implement this request, I am currently considering two options:
1) Finding matching instances of the Skeleton through Reflection and changing them accordingly. This is the easiest to implement, but it may be taxing on the user's processor and memory if they have many skeletons open at once.
2) Creating a second TreeNode class that would act as a reference facade for the other node that actually does store the values for the skeleton. This may be difficult, due to my lack of understanding of the tree view UI. It will be easier however, if TreeNodes can appear in more than one place in a TreeView, but I have not tested this yet.
All I know is that you DO NOT WANT to create a stack overflow in a Tree View, as it somehow creates a COM error that could disable all the network devices on the user's computer for some bizarre and probably asinine Windows related reason.
Eventually, I will enable the Save button, link the Skeletons in the Model nodes to those in the FileInfo node, and also add import/export for the following file formats, pending my understanding of them:
COLLADA 1.5 (.dae)
Steam/Valve (.sbx)
Autodesk 3D (.fbx)
If you know of any formats that are capable of storing rigs and possibly also animations and/or meshes that you'd like supported, please let me know and I'll try to add them once I understand how they work and how to read/write them using C# code or C# wrappers of their APIs.
Posts: 2,832
Thanks: 6613 in 20 Posts
But I think you will find that the act of sitting down on the side of the bed and then laying on it are just baked animations. The bed heights are likely all the same, so that one animation fits all. Others have studied the JAZZ files, that is where the clips are sequenced from, but I profess my ignorance of those file details openly.
If you like to say what you think, be sure you know which to do first.
Posts: 133
Thanks: 3570 in 220 Posts
After that, it enters the appropriate state machine and calls the animations that repositions the sim into sleeping pose. Wes says that there's no evidence in the bed animations of IK chains, and currently I have found no evidence of slot use in the game code for the bed entry interactions. This means that the sims aren't actually attached to the bed in any slot, but rather they are just "floating" in the right position between the covers and mattress.
I'm willing to bet that if you tried repositioning the routing slots around the bed, then the sim will be offset the same amount as the slot when relaxing and sleeping, and they'll most likely clip through the covers and maybe even float in mid-air outside the bed if you offset it enough.
This is unfortunate news for anyone who wants to create something like a bunk bed or a just a bed with a different height. In order for the bed to work right, not only do you have to create custom animations to position the sim at the right height, but you also have to create a custom JAZZ file to play those animations and a custom script class with custom interactions for getting into and out of the bed and sleeping and relaxing in it that will aquire a state machine with that JAZZ file and enter and request its states to play the appropriate animations.
Unfortunately, my knowledge of JAZZ state machines is limited, and the expert on JAZZ files, TigerM, left the community.
The only other person I currently know of who may know more about making custom JAZZ files and using them in a custom script class is ani_. In fact, she also made a custom bed with custom script classes, so you may want to ask her for more on the subject.
It is unfortunate that beds do not work as chairs do. It is blatantly apparent that chairs do in fact use IK slots/joints in their animations, as demonstrated by cmomoney's experiments with my tool, so their heights can be easily adjusted.
I would like to look more into how the chair animations work and how they use IK slots/joints. cmomoney, if you're reading this, could you please tell us the string and/or 32-bit hash of names of the slot and/or joint you changed on the chair to change the height at which the sim sits down?
Posts: 1,740
Thanks: 107808 in 53 Posts
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 133
Thanks: 3570 in 220 Posts
If it was a living chair, it used the sit_template JAZZ file with
----Actor x = the sim sitting
----Actor sitTemplate = the chair
----Parameter sitTemplateSuffix = ""
If it was a dining chair, it used the ChairDining JAZZ file.
Either way, I found the clips that it would most play in either of those JAZZ files:
It most likely played the following CLIP files for the sim to get into the seat:
a2o_chairDining_getIn_E_x
a2o_chairDining_getIn_x
a2o_chairDining_getIn_NE_x
And then it most likely played the following CLIP files for the the sim to idle in the seat:
a2o_sitTemplate_sit_loopBreathe
However, since WesHowe's AnimTool does not export any of the events in the animation, I have no way of analyzing the IK chaining events outside of doing it manually in a hex editor.
Posts: 2,932
Thanks: 15576 in 28 Posts
I really apologize for asking but could you tell me how to properly install the Rig Maker files and where the exe I need to use is?
Posts: 1,740
Thanks: 107808 in 53 Posts
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 1,740
Thanks: 107808 in 53 Posts
CM, I downloaded the Rig Maker, installed CAW, and got the granny dll. I wasn't sure which of the things in the zip you posted to place in the CAW file so I just put them all in as-is. I then used S3PE to take a rig out of an object and put that into a separate file. Then I went through your files I had put in CAW looking for an exe. I found one in the bin folder in S3RIGMaker. But when I used that to look at the rig nothing happened. I really apologize for asking but could you tell me how to properly install the Rig Maker files and where the exe I need to use is? |
When you exported the rig, did you change it to a .gr2 file? (i.e. filename.gr2)
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 1,740
Thanks: 107808 in 53 Posts
If it was a living chair, it used the sit_template JAZZ file with ----Actor x = the sim sitting ----Actor sitTemplate = the chair ----Parameter sitTemplateSuffix = "" If it was a dining chair, it used the ChairDining JAZZ file. Either way, I found the clips that it would most play in either of those JAZZ files: It most likely played the following CLIP files for the sim to get into the seat: a2o_chairDining_getIn_E_x a2o_chairDining_getIn_x a2o_chairDining_getIn_NE_x And then it most likely played the following CLIP files for the the sim to idle in the seat: a2o_sitTemplate_sit_loopBreathe However, since WesHowe's AnimTool does not export any of the events in the animation, I have no way of analyzing the IK chaining events outside of doing it manually in a hex editor. |
That makes sense, since there are _route_sitTemplates for N,NE,NW,W, and E. I haven't been able to get it to work at a table, though. It goes back the default height.
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Posts: 2,932
Thanks: 15576 in 28 Posts
the error message goes on to suggest it's looking for a path that doesn't exist on my computer and I don't know how to redirect it to the right place.
I do have the granny2.dll in the exact same folder as my CAW exe.
Posts: 133
Thanks: 3570 in 220 Posts
Remember, it's the granny2.dll in the Expotron plug-in, which can be downloaded from Altervista's downloads page, which is linked to in the first post.
If you have downloaded the correct version of the granny2.dll and extracted it to the correct directory, and it is still not working, then I have no idea what the hell is going on, sorry.
Also, cmomoney, if you are looking into the CLIP files, and are having trouble figuring out why it won't work when sitting at a table, here are the CLIP animations most likely played for a dining chair at a table:
If they get in from the West:
1st State (In_Table_W)
Chair: a2o_chairDining_getInTable45_W_chairDining
Sim: a2o_chairDining_getInTable45_W_x
2nd State: (chairW45pose)
Chair: o_chairDining_45_W_pose_chairDining
3rd State: (a2o_scootIn45_)
Child & Chess Table:
Chair: a2o_chairDining_scootIn45_W2_chairDining
Sim: a2o_chairDining_scootIn45_W2_x
All other ages/situations:
Chair: a2o_chairDining_scootIn45_W_chairDining
Sim: a2o_chairDining_scootIn45_W_x
If they get in from the East:
1st State: (In_Table_E)
Chair: a2o_chairDining_getInTable45_E_chairDining
Sim: a2o_chairDining_getInTable45_E_x
2nd State: (chairE45pose)
Chair: o_chairDining_45_E_pose_chairDining
3rd State: (a2o_scootIn45_)
Child & Chess Table:
Chair: a2o_chairDining_scootIn45_E2_chairDining
Sim: a2o_chairDining_scootIn45_E2_x
All other ages/situations:
Chair: a2o_chairDining_scootIn45_E_chairDining
Sim: a2o_chairDining_scootIn45_E_x
If you are looking manually at the hex for those CLIP files, then let me know what you find in terms of their actor/slot pairs and clip events. I still wish Wes's AnimTool would at least export the other sections of the clip as text based ASCII files like how his object mesh tool exports the Material data.
Who Posted
|