Another custom rabbit WIP
-
rudel_ic
- official Wolfire heckler
- Posts: 2193
- Joined: Sun Aug 28, 2005 9:19 pm
- Location: Hamburg City
- Contact:
Re: Another custom rabbit WIP
That looks as expected! Should work out alright ingame.
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
solid vs semi-detached test renders

detached

pros and cons
solid:
pros
- easiest for me to paint
cons
- some twisty triangles and texture deforming
semi
pros
- probably best overall shape when rotating (except extremes)
cons
- still some twisty tris and texture deformations
- probably the least safest option with asymmetrical rig
detached
pros
- no twisted tris
- easiest to set up
- safest for extreme rotations
- probably safest with asymmetrical rig
cons
- action figure look
- lats and pecs dont move/deform
...
Now I am leaning towards the fully detached version.

detached

pros and cons
solid:
pros
- easiest for me to paint
cons
- some twisty triangles and texture deforming
semi
pros
- probably best overall shape when rotating (except extremes)
cons
- still some twisty tris and texture deformations
- probably the least safest option with asymmetrical rig
detached
pros
- no twisted tris
- easiest to set up
- safest for extreme rotations
- probably safest with asymmetrical rig
cons
- action figure look
- lats and pecs dont move/deform
...
Now I am leaning towards the fully detached version.
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
An initial texture, 'detached' arms.

To Do:
Find out all the textures needed and where they are.
various furs
pants
shirts
assign vertex groups
Make the morph targets, and assign vertex groups?
make the low res model - vertex groups?

To Do:
Find out all the textures needed and where they are.
various furs
pants
shirts
assign vertex groups
Make the morph targets, and assign vertex groups?
make the low res model - vertex groups?
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
Well here's what I think is a complete list of textures to make.
Decals (.png)
Bloodfur ( ?? )
earwrap [greyscale]
fancypants [greyscale]
fancypantscamo
fancypantscamoarctic [greyscale-maybe]
fancypantscamodesert
fire ( ?? )
footwrap [greyscale]
Gi [greyscale]
headband [greyscale]
leatherarmor
leatherpants
leatherwristleft
leatherwristright
longsleeve [greyscale]
pants [greyscale]
scar [greyscale]
shirt [greyscale]
shirtfemale [greyscale]
furs (.jpg)
BW2
Chocolate
David
fur
fur2
fur3
furdarko
Lynx
Opal
Otter
Sable
WB2
scene specific 'furs' (.png)
BloodApril (modified Sable.jpg)
BloodClover (modified fur.jpg)
BloodJack (modified chocolate.jpg)
BloodTrixie (modified Lynx.jpb)
Decals (.png)
Bloodfur ( ?? )
earwrap [greyscale]
fancypants [greyscale]
fancypantscamo
fancypantscamoarctic [greyscale-maybe]
fancypantscamodesert
fire ( ?? )
footwrap [greyscale]
Gi [greyscale]
headband [greyscale]
leatherarmor
leatherpants
leatherwristleft
leatherwristright
longsleeve [greyscale]
pants [greyscale]
scar [greyscale]
shirt [greyscale]
shirtfemale [greyscale]
furs (.jpg)
BW2
Chocolate
David
fur
fur2
fur3
furdarko
Lynx
Opal
Otter
Sable
WB2
scene specific 'furs' (.png)
BloodApril (modified Sable.jpg)
BloodClover (modified fur.jpg)
BloodJack (modified chocolate.jpg)
BloodTrixie (modified Lynx.jpb)
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
Before i do more textures, it is time to try and get the model exported and imported properly.
DAE export from colladaMaya - I just can not seem to get the sets ( vertex groups ) exported and re-imported.
Good News! obj import is somewhat broken in blender 249b
Oh it will import this mesh, but not vertex groups. ( and neither will blender 247)
maya will export sets as OBJ objects, and can import OBJ objects as sets
OPTIONS:
- select and build vertex groups in blender (that's not going to happen)
- find a fix to blender obj import (haven't found)
- write some script ( or.. get help with some script, which is what is going to happen)
DAE export from colladaMaya - I just can not seem to get the sets ( vertex groups ) exported and re-imported.
Good News! obj import is somewhat broken in blender 249b
Oh it will import this mesh, but not vertex groups. ( and neither will blender 247)
maya will export sets as OBJ objects, and can import OBJ objects as sets
OPTIONS:
- select and build vertex groups in blender (that's not going to happen)
- find a fix to blender obj import (haven't found)
- write some script ( or.. get help with some script, which is what is going to happen)
-
rudel_ic
- official Wolfire heckler
- Posts: 2193
- Joined: Sun Aug 28, 2005 9:19 pm
- Location: Hamburg City
- Contact:
Re: Another custom rabbit WIP
I don't quite understand why that is not an option. It's like 10 minutes or so.PsychotropicDog wrote:- select and build vertex groups in blender (that's not going to happen)
At that point, you might as well port the exporter code. I think it's worth it!PsychotropicDog wrote: - write some script ( or.. get help with some script, which is what is going to happen)
And it's probably easier to handle than, for example, making your own custom vertex groups transfer format.
But then again, that would only involve
- Writing a .vxg (vertex group) exporter in Maya plugin code (Python)
- Writing a .vxg importer in Python for Blender (building vertex groups from scripts is openly laid out in my stuff)
- Using it
I'd probably rebuild the vertex groups in Blender in your situation, but that only helps you this time, and if you'd make changes in Maya, you'd have to re-do that, so optimally, if you intend to model more with Maya, the best choice would be rewriting the exporter for Maya. Luckily, Maya can handle Python plugins, so it shouldn't be too hard of a task.
Obviously, I'm cool with it; you have explicit permission to copy my code as necessary. The bugs are still there, but I'll hook you up with a non-public version of the skeleton exporter if you want to rewrite so that you don't inherit the bugs.
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
Perhaps I am doing something wrong. I press b in blender for marquee select, then again for paint select; the problem is paint select seems to lock out tumbling the camera - It took me about ten minutes to do one foot, shuffling back and forth to check if I had the right verts selected. For some reason I'd rather spend many hours trying to figure out the code to save me time.rudel_ic wrote:I don't quite understand why that is not an option. It's like 10 minutes or so.PsychotropicDog wrote:- select and build vertex groups in blender (that's not going to happen)
The problem is not the exporter code for OBJ, it is blender's importer code. It seems blender 249b broke something in obj import, but trying blender 247 still didn't bring sets in.
Maya will export rigid bind partition and sets as OBJ groups. It will then import that same file and the OBJ groups become sets (but not partitions or sets in partitions).
I will have to look at your code and see if I can learn by osmosis. I admit to not having looked at it yet.
This task will be repeated for every morph target and the low res model, and if I want to change the model, which I will when I think I have an idea to fix some unwanted deformation I am sure to spot in game.
most XLNT!Obviously, I'm cool with it; you have explicit permission to copy my code as necessary. The bugs are still there, but I'll hook you up with a non-public version of the skeleton exporter if you want to rewrite so that you don't inherit the bugs.
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
I've posted at belnderartists.org in the python & scripting forum but it is generating very little interest. I may eventually have some ideas of altering import_obj.py but tracing it has been enough fun for a while.
I do have a hacky way to get what I need done using IDLE:
I do have a hacky way to get what I need done using IDLE:
Code: Select all
# vLister
# use IDLE. paste each line - data is string to be converted to a vertex list
# add "thing = ' data ' . data is MEL output of selection
thing = 'select -r rabbit.vtx[9] rabbit.vtx[10] rabbit.vtx[11] rabbit.vtx[12] rabbit.vtx[21] rabbit.vtx[22] rabbit.vtx[23] rabbit.vtx[24] rabbit.vtx[33] rabbit.vtx[34] rabbit.vtx[36] rabbit.vtx[67] rabbit.vtx[68] rabbit.vtx[69] rabbit.vtx[80] rabbit.vtx[81] rabbit.vtx[82] rabbit.vtx[86] rabbit.vtx[87] rabbit.vtx[90] rabbit.vtx[91] rabbit.vtx[92] ;'
newthing = thing.lower() # lowercase any capital letters
thing = newthing.translate(None, 'qwertyuiopasdfghklzxcvbnm,.;:-_[]')
# split
newthing = thing.split()
# so far so good.
# now need to convert myList of characters into myList of integers
# the tacky way...
print newthing
""">>> print newthing
['9', '10', '11', '12', '21', '22', '23', '24', '33', '34', '36', '67', '68', '69', '80', '81', '82', '86', '87', '90', '91', '92']"""
# copy output in IDLE, paste to a string
thing = "['9', '10', '11', '12', '21', '22', '23', '24', '33', '34', '36', '67', '68', '69', '80', '81', '82', '86', '87', '90', '91', '92']"
newthing = thing.translate(None, ' \' ') # get rid of the '
print newthing
# copy the output, paste to vPicker
""" >>> print newthing
[9,10,11,12,21,22,23,24,33,34,36,67,68,69,80,81,82,86,87,90,91,92]
>>> """
# vPicker
# vertList paste from IDLE output of vLister
# object in blender is named Rabbit
# paste this in blender text editoras NEW and run Alt+P
import Blender
rabbit = Blender.Object.Get('Rabbit')
replace = Blender.Mesh.AssignModes.REPLACE
mesh = rabbit.getData(mesh=True)
mesh.addVertGroup('renameMe')
# vertList = [] # old
# get the list
vertList = [9,10,11,12,21,22,23,24,33,34,36,67,68,69,80,81,82,86,87,90,91,92] # pasted list
mesh.assignVertsToGroup('renameMe', vertList, 1.0, replace)
# end of vPicker-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
http://blenderartists.org/forum/showthread.php?t=189725
Of course after I do it the hacky pasty way I got irritated further, and modified blender's import_obj.py so it would work.
As painful a couple days as it seemed this should pay off later.
Now to try the exporting to Lugaru step ...
Of course after I do it the hacky pasty way I got irritated further, and modified blender's import_obj.py so it would work.
As painful a couple days as it seemed this should pay off later.
Now to try the exporting to Lugaru step ...
-
rudel_ic
- official Wolfire heckler
- Posts: 2193
- Joined: Sun Aug 28, 2005 9:19 pm
- Location: Hamburg City
- Contact:
Re: Another custom rabbit WIP
Do .objs not include vertex group weights? Because you're not dealing with those there.
Good stuff!
Good stuff!
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
I only glanced at obj format in wikipedia, etc.
If there is weighting it is indicated 'elsewhere' in the obj files I have.
since it's rigid bound, or binary, all I need is the vert indices.
I won't pretend to totally understand it, or the question
If there is weighting it is indicated 'elsewhere' in the obj files I have.
since it's rigid bound, or binary, all I need is the vert indices.
I won't pretend to totally understand it, or the question
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
Well I have exported it, with the expected result of strangeness.
I'd show a screenie but can't find the screen capture key in game.
I will have to work on textures until I can get some more help from rudel_ic .
I'd show a screenie but can't find the screen capture key in game.
I will have to work on textures until I can get some more help from rudel_ic .
-
rudel_ic
- official Wolfire heckler
- Posts: 2193
- Joined: Sun Aug 28, 2005 9:19 pm
- Location: Hamburg City
- Contact:
Re: Another custom rabbit WIP
Screenshots:
Windows - PrtScr, start MSPaint, paste with CTRL-V
Linux - Depends, Google it
Mac OS X - CMD-SHIFT-3, the screenshot is on the desktop
Anyway, attached is the current version of the skel tools.
This ZIP is password-protected. Anyone can request the password via PM. Requesting the password means accepting that this can break stuff because it's a preliminary version.
You should back your stuff up anyway.
Note that there's skeleton vertex location changing in there as well — you might not want to touch that because it breaks animations (the idle pose doesn't fit the actual animations if you change it, so it goes completely bonkers — you'd have to change _all_ animations for this skeleton along with changing the skeleton's vertices' locations).
You've been warned!
Howto for finding the right vertex groups and for renaming the groups:
1. Make sure your mesh is NOT selected (press A until it's not highlighted)
2. Import "Basic Figure"
3. Select "Basic Figure"
4. Switch to Edit Mode
5. Deselect all
6. Choose vertex group s0
7. Select s0's vertices - this is the correct location of s0
8. Exit Edit Mode
9. Select your mesh
10. Switch to Edit Mode
11. Find the vertex group that contains the vertices that should be in s0, according to the skeleton:
-- 11a. Deselect all
-- 11b. Choose a vertex group
-- 11c. Select the vertex group's vertices
-- 11d. Repeat 11a. - 11d. until you find the right vertex group
-- 11e. Keep the vertex group's name in mind
12. Choose vertex group s0
13. Rename vertex group s0 to old-s0
14. Rename the vertex group from 11e. to s0
15. Exit Edit Mode
16. Repeat 3. - 16. for s1 - s14
17. With your mesh still being selected, merge the skeleton with "Basic Figure" (start my skeleton merge script and choose "Basic Figure" as the target file)
18. You end up with "Basic Figure_"
At this point, you might want to rename the vertex groups in Maya! Then, you should be able to export from Maya, import in Blender, merge the skeleton.
The rest is obvious — export your mesh as Body solid, replace Body.solid - Body7.solid, rename "Basic Figure" to "Basic Figure.bk", rename "Basic Figure_" to "Basic Figure", start the game.
Windows - PrtScr, start MSPaint, paste with CTRL-V
Linux - Depends, Google it
Mac OS X - CMD-SHIFT-3, the screenshot is on the desktop
Anyway, attached is the current version of the skel tools.
This ZIP is password-protected. Anyone can request the password via PM. Requesting the password means accepting that this can break stuff because it's a preliminary version.
You should back your stuff up anyway.
Note that there's skeleton vertex location changing in there as well — you might not want to touch that because it breaks animations (the idle pose doesn't fit the actual animations if you change it, so it goes completely bonkers — you'd have to change _all_ animations for this skeleton along with changing the skeleton's vertices' locations).
You've been warned!
Howto for finding the right vertex groups and for renaming the groups:
1. Make sure your mesh is NOT selected (press A until it's not highlighted)
2. Import "Basic Figure"
3. Select "Basic Figure"
4. Switch to Edit Mode
5. Deselect all
6. Choose vertex group s0
7. Select s0's vertices - this is the correct location of s0
8. Exit Edit Mode
9. Select your mesh
10. Switch to Edit Mode
11. Find the vertex group that contains the vertices that should be in s0, according to the skeleton:
-- 11a. Deselect all
-- 11b. Choose a vertex group
-- 11c. Select the vertex group's vertices
-- 11d. Repeat 11a. - 11d. until you find the right vertex group
-- 11e. Keep the vertex group's name in mind
12. Choose vertex group s0
13. Rename vertex group s0 to old-s0
14. Rename the vertex group from 11e. to s0
15. Exit Edit Mode
16. Repeat 3. - 16. for s1 - s14
17. With your mesh still being selected, merge the skeleton with "Basic Figure" (start my skeleton merge script and choose "Basic Figure" as the target file)
18. You end up with "Basic Figure_"
At this point, you might want to rename the vertex groups in Maya! Then, you should be able to export from Maya, import in Blender, merge the skeleton.
The rest is obvious — export your mesh as Body solid, replace Body.solid - Body7.solid, rename "Basic Figure" to "Basic Figure.bk", rename "Basic Figure_" to "Basic Figure", start the game.
- Attachments
-
- lugaru_skel_tools_1_1_preview.zip
- This file is password-protected
You can request the password via PM - (5.9 KiB) Downloaded 341 times
-
PsychotropicDog
- Posts: 52
- Joined: Fri May 28, 2010 12:39 pm
Re: Another custom rabbit WIP
Thanks a heap, I will check it out later.. need some boob tube to get code etc out of my head.
Also, PrtScrn is not working for me, though I actually found MS paint.
Windows 7
Also, PrtScrn is not working for me, though I actually found MS paint.
Windows 7
-
rudel_ic
- official Wolfire heckler
- Posts: 2193
- Joined: Sun Aug 28, 2005 9:19 pm
- Location: Hamburg City
- Contact:
Re: Another custom rabbit WIP
Your rig is absolutely fine, as it turns out.
How to get it into the game:
1. Deselect your mesh
2. Import the ORIGINAL skeleton ( you made a backup, right? You need that now
)
3. Select your mesh
4. Start "Lugaru skeleton merge"
5. Click "Rig merge", choose the ORIGINAL skeleton's file in the file choose dialog. You end up with "Basic Figure_" if the original was named "Basic Figure" (an underscore is added).
6. Select the imported skeleton from step 2.
7. Start "Lugaru skeleton merge"
8. Click "Joint location merge", choose the result from step 5. ("Basic Figure_" in the example); the result is named "Basic Figure__" in case it's like in the example (another underscore is added)
Now replace "Basic Figure" with "Basic Figure__"
Note that you have to make the "Joint location merge" step because for some reason, the "Rig merge" step seems to include changing locations as well. I guess I made a mistake there. That's preview code for ya. Luckily, it can be addressed as described before
Obviously, the order of operations is relevant here - FIRST do the "Rig merge", SECOND do the "Joint location merge". And make sure you're selecting the right stuff. "Rig merge" wants a bodymesh because it writes vertices into vertex groups inside the skeleton; "Joint location merge" wants a skeleton mesh because it takes its vertices and writes their locations into the vertex joint location header.
I know it's a lot to take in, but once you've followed the steps, it's really easy to make stuff. I made the skeleton warrior in another thread in like an hour, and that took so long because there was lots of other garbage inside the COLLADA file I had to ditch first, and I had to adjust scaling and shit like that. The rigging stuff took about 10 minutes.
You can, by the way, copy Body.solid to Bodylow.solid and then copy "Basic Figure" to "Basic Figurelow", I'd recommend to deal with the low resolution mesh later (or not at all because it's not really a big deal)
Edit: I'll attach the skeletons for you momentarily in case you're confusing stuff, just so you know it actually works! (See below)
Edit: Also, here's the first screenshot with your rabbit mesh in-game. I didn't replace textures, I hope you can forgive me

Congratulations, you're the second guy who made a working replacement (besides myself, of course)! You win some internets.
How to get it into the game:
1. Deselect your mesh
2. Import the ORIGINAL skeleton ( you made a backup, right? You need that now
3. Select your mesh
4. Start "Lugaru skeleton merge"
5. Click "Rig merge", choose the ORIGINAL skeleton's file in the file choose dialog. You end up with "Basic Figure_" if the original was named "Basic Figure" (an underscore is added).
6. Select the imported skeleton from step 2.
7. Start "Lugaru skeleton merge"
8. Click "Joint location merge", choose the result from step 5. ("Basic Figure_" in the example); the result is named "Basic Figure__" in case it's like in the example (another underscore is added)
Now replace "Basic Figure" with "Basic Figure__"
Note that you have to make the "Joint location merge" step because for some reason, the "Rig merge" step seems to include changing locations as well. I guess I made a mistake there. That's preview code for ya. Luckily, it can be addressed as described before
Obviously, the order of operations is relevant here - FIRST do the "Rig merge", SECOND do the "Joint location merge". And make sure you're selecting the right stuff. "Rig merge" wants a bodymesh because it writes vertices into vertex groups inside the skeleton; "Joint location merge" wants a skeleton mesh because it takes its vertices and writes their locations into the vertex joint location header.
I know it's a lot to take in, but once you've followed the steps, it's really easy to make stuff. I made the skeleton warrior in another thread in like an hour, and that took so long because there was lots of other garbage inside the COLLADA file I had to ditch first, and I had to adjust scaling and shit like that. The rigging stuff took about 10 minutes.
You can, by the way, copy Body.solid to Bodylow.solid and then copy "Basic Figure" to "Basic Figurelow", I'd recommend to deal with the low resolution mesh later (or not at all because it's not really a big deal)
Edit: I'll attach the skeletons for you momentarily in case you're confusing stuff, just so you know it actually works! (See below)
Edit: Also, here's the first screenshot with your rabbit mesh in-game. I didn't replace textures, I hope you can forgive me

Congratulations, you're the second guy who made a working replacement (besides myself, of course)! You win some internets.
- Attachments
-
- workingskeletons_01.zip
- Same password as before.
Don't bother downloading this if you're not PsychotropicDog - (7.05 KiB) Downloaded 421 times
Last edited by rudel_ic on Sat Jun 19, 2010 6:17 pm, edited 1 time in total.