Jump to content

Old HDT Support Thread.


Monsto Brukes

Recommended Posts

Looks like xmlgrid.net is an incomplete xml viewer. I pasted the hdt xml file in there and it didn't show anywhere near the full data.

 

"xml notepad" that I recommended is a very small program, easy to install, simple to use.

Link to comment
Guest Jenova23

Looks like xmlgrid.net is an incomplete xml viewer. I pasted the hdt xml file in there and it didn't show anywhere near the full data.

 

"xml notepad" that I recommended is a very small program, easy to install, simple to use.

 

You sure I thought it might of been this the four numbers he was talking about for bounce?

Untitled_zps5b0f213e.jpg

 

I will give it a try thx.

Link to comment

 

Looks like xmlgrid.net is an incomplete xml viewer. I pasted the hdt xml file in there and it didn't show anywhere near the full data.

 

"xml notepad" that I recommended is a very small program, easy to install, simple to use.

 

You sure I thought it might of been this the four numbers he was talking about for bounce?

Untitled_zps5b0f213e.jpg

 

I will give it a try thx.

 

 

Could have just been my browser.

 

No matter. . . the local program is a better option IMO.

Link to comment

I'm using this free online program to open the xml http://xmlgrid.net/ but I have no idea where the number is for bounce that tutorial confuses me can't you just make a step by step tutorial for us noobs or just upload a super bouncy version please.

 

Not sure who you're addressing or what tutorial you're referring to, but I can't help thinking 'noob' is almost meaningless in this context. As far as I know, no one here has a road map.  :cool:

 

Rather than use some online viewer, I suggest you download XML Notepad & play around with different variables (save often, back up everything) & see what results you get.

 

But, for better or worse, here's a livelier set of boobs for anyone who cares to experiment. No reviews, please, this is very much a WIP and I'm only offering it as a PSFP (Public Service for Fellow Pervs).

 

Note: You'll want to remove the "BoingBoing_" prefix before tossing this in your skse\plugins directory.[   REMOVED ATTACHMENT: OBSOLETE SINCE THE LATEST (NOVEMBER) RELEASES & NOT V. GOOD TO BEGIN WITH   :dodgy:   ]

 

[ Edit/Afterthought ]: As with everything else, your results will vary depending on the body mod, skeleton, proportions etc. etc. you're using. My PC wears a CBBE++ TBBP custom body with a fair bit of ++ in her upper storey. ]

BoingBoing_hdtPhysicsExtensionsDefaultBBP.xml

Link to comment

 

I'll add your instructiions to the 2nd post. thanks!

 

Are you offering to make an app or something? or just script up nifskope?

 

 

So I looked around and there is a tool for automation of NifSkope operations. I'm offering to write a tool to let people select whatever first person meshes they want, click Run and have it execute the automated NifSkope stuff (adding StringExtraData and linking it to the root node's extra data for each mesh selected by the user) on those files.

 

----------

 

The automation tool is called pyffi. Looking at some of the stuff about it, I can see what I need to do is done here: http://niftools.sourceforge.net/doc/blender_nif_plugin/_modules/io_scene_nif/nif_export.html

                # create extra string data sgoKeep
                sgokeep = self.create_block("NiStringExtraData")
                sgokeep.name = "name" # user property buffer
                sgokeep.string_data = "value"

                # add extra blocks

                root_block.add_extra_data(sgokeep)

So essentially it'd look like this (pseudo-code):

for each file selected 

   # open file
   # get root block

   # create extra string data for HDT support

   hdt_extra_data = self.create_block("NiStringExtraData")
   hdt_extra_data.name = "HDT Havok Path"
   hdt_extra_data.string_data = "Data\meshes\hdt.xml"


   # add extra blocks

   root_block.add_extra_data(hdt_extra_data)

loop

and a dialog selection thing of course, and list you could add/remove stuff from. Though I think for the first version I'd probably set it up to just let you select a file and run it immediately, just to get it out faster.

 

So at this point I don't need to know how to do it, but I *could* use someone that could build out a python-based GUI app for selecting the files and putting them into a list, with functionality for adding and removing stuff.

 

Then I can just plug in that code and test it and package it. If no one steps forward I'll see about getting it done, but I'm not really a Python programmer (so it'll probably take me longer to set up a GUI app than someone else that uses it more).

Link to comment
Guest Jenova23

 

I'm using this free online program to open the xml http://xmlgrid.net/ but I have no idea where the number is for bounce that tutorial confuses me can't you just make a step by step tutorial for us noobs or just upload a super bouncy version please.

 

Not sure who you're addressing or what tutorial you're referring to, but I can't help thinking 'noob' is almost meaningless in this context. As far as I know, no one here has a road map.  :cool:

 

Rather than use some online viewer, I suggest you download XML Notepad & play around with different variables (save often, back up everything) & see what results you get.

 

But, for better or worse, here's a livelier set of boobs for anyone who cares to experiment. No reviews, please, this is very much a WIP and I'm only offering it as a PSFP (Public Service for Fellow Pervs).

 

Note: You'll want to remove the "BoingBoing_" prefix before tossing this in your skse\plugins directory.attachicon.gifBoingBoing_hdtPhysicsExtensionsDefaultBBP.xml

 

[ Edit/Afterthought ]: As with everything else, your results will vary depending on the body mod, skeleton, proportions etc. etc. you're using. My PC wears a CBBE++ TBBP custom body with a fair bit of ++ in her upper storey. ]

 

 

Thx you but  I did figure it out that program helped I don't recomend anyone to use online version I found. It's kind of hard to get the breasts right I keep getting wierd results thx you so much for your version.

 

Link to comment

 

I'm using this free online program to open the xml http://xmlgrid.net/ but I have no idea where the number is for bounce that tutorial confuses me can't you just make a step by step tutorial for us noobs or just upload a super bouncy version please.

 

Not sure who you're addressing or what tutorial you're referring to, but I can't help thinking 'noob' is almost meaningless in this context. As far as I know, no one here has a road map.  :cool:

 

Rather than use some online viewer, I suggest you download XML Notepad & play around with different variables (save often, back up everything) & see what results you get.

 

But, for better or worse, here's a livelier set of boobs for anyone who cares to experiment. No reviews, please, this is very much a WIP and I'm only offering it as a PSFP (Public Service for Fellow Pervs).

 

Note: You'll want to remove the "BoingBoing_" prefix before tossing this in your skse\plugins directory.attachicon.gifBoingBoing_hdtPhysicsExtensionsDefaultBBP.xml

 

[ Edit/Afterthought ]: As with everything else, your results will vary depending on the body mod, skeleton, proportions etc. etc. you're using. My PC wears a CBBE++ TBBP custom body with a fair bit of ++ in her upper storey. ]

 

 

what version is this boing boing compatible to ?  lol

Link to comment

Should work with any two-file version ( .dll plus .xml ), which means that 7-22 won't feel a thing. But I repeat: this is in no way a finished version, and it's not as if I know wtf I'm doing. Some of the variables I changed probably didn't do a thing, and may even have been counterproductive (given my aim). Someone else posted a modified .xml file on this thread, and I might have used that as my starting point. The version I posted is just another kick at the can, subject to countless further experiments.

 

@ kharlynak: a script to add HDT would truly be a Godsend! Hope you can make something of it.

Link to comment

Where's the NMM installer ? ...

 

I have a CBBE-TBBP

I added the SKSE plugins but I see no difference.

I read the instructions again browsed through these pages (not 30 of them I don't understand what most is about)

I'd rather be in the game testing that trying to figure out how to  install this... :(

 

Or maybe this is modder only resource ?

 

Could someone post a short in game clip of this just to show what to expect ?!

Link to comment

This add-on It's just a plug and play feature. The op have a useful gide about how to install it, pretty simple and easy...dunno why doesn't work for ya. The only thing I can imagine It's you are not installing the files in the correct folder:

Data/SKSE/Plugins

 

 

Link to comment

 

 

@ kharlynak: a script to add HDT would truly be a Godsend! Hope you can make something of it.

 

I'm thinking of just releasing a command line version to start, that works on a single file at a time. Not ideal and it won't help with making a full armor mod compatible at once, but it'll make it easier than doing it manually every time.

 

I realized I want to edit the slider body I have somewhat, but I didn't want to redo the HDT support on the three-four meshes I've made compatible. 

Link to comment

Where's the NMM installer ? ...

 

I have a CBBE-TBBP

I added the SKSE plugins but I see no difference.

I read the instructions again browsed through these pages (not 30 of them I don't understand what most is about)

I'd rather be in the game testing that trying to figure out how to  install this... :(

 

Or maybe this is modder only resource ?

 

Could someone post a short in game clip of this just to show what to expect ?!

 

Yeah what uno said. If you follow 3.Installation in the op exactly you shouldn't have any problems. Sometimes people think too hard because they're use to trying to figure out what's been left out. I tried to make it as clean as possible.

 

But you make a good point about a video. A demo for the op would probably help.

 

Unless anyone has a better suggestion, I was going to use this song here. (just a couple minutes)

Link to comment

 

 

 

@ kharlynak: a script to add HDT would truly be a Godsend! Hope you can make something of it.

 

I'm thinking of just releasing a command line version to start, that works on a single file at a time. Not ideal and it won't help with making a full armor mod compatible at once, but it'll make it easier than doing it manually every time.

 

I realized I want to edit the slider body I have somewhat, but I didn't want to redo the HDT support on the three-four meshes I've made compatible. 

 

 

does your 'front end' have to be python? what about html post?

Link to comment

 

 

 

 

@ kharlynak: a script to add HDT would truly be a Godsend! Hope you can make something of it.

 

I'm thinking of just releasing a command line version to start, that works on a single file at a time. Not ideal and it won't help with making a full armor mod compatible at once, but it'll make it easier than doing it manually every time.

 

I realized I want to edit the slider body I have somewhat, but I didn't want to redo the HDT support on the three-four meshes I've made compatible. 

 

 

does your 'front end' have to be python? what about html post?

 

 

It doesn't have to be python, no, though that would be easiest since the pyffi stuff obviously needs it. HTML post would probably be not-so-good, honestly. 

 

I'd prefer to have any sort of desktop GUI app as a front end for selecting files and executing the python script as a front end, really. 

 

I may just set that up myself in C# WinForms or something, and have it use a batch file for dealing with the python script. 

 

That said, I'm open to whatever front end someone wants to build, I'll be happy to hook up the script to whatever. I'd just rather it be a desktop GUI program for speed and ease of use (I hate working on web programs, honestly).

Link to comment

 

 

 

Unless anyone has a better suggestion, I was going to use this song here. (just a couple minutes)

 

 

Ha! How about: http://www.youtube.com/watch?v=atZ_0Akm8h4 ? Hardly one of my favorites, but the beat & the lyrics seem uniquely suited to the matter at hand. ;)

 

Fair warning to anyone who might be dinking around with the file I downloaded yesterday: once you start playing with variables & trying to figure out what does what, it's kind of hard to stop...

Link to comment

This thread is superb! Even with all the development and experimentation going on, I am very happy with the effects. The physics respond to even the slightest adjustment, whether it is changing directions or elevation or shifting from running to walking. The breasts retain movement from the previous direction's influence even as they behave under the new one, which creates some incredibly realistic effects. Even using a somewhat gravity-defying body has excellent results!

 

Sevenbase demonhunter V3 standing still

 

IWEnEoX.jpg

 

Walking

 

7YGaUEm.jpg

 

Link to comment

I'm a little confused here.  Does this mod HAVE hair physics already, or is it like Sexlab, its just a framework for modders to MAKE hairs that have physics?

 

If I installed the 10-10-13 release, would it give all hairs physics or no?

 

 

It needs hair that supports it, basically. So installing it now doesn't give you hair physics. It does give you (now) configurable boob and butt jiggle if you use the proper skeleton/mesh (BBP or TBBP).

 

Also you can make the boob jiggle work in first person, which is pretty awesome.

Link to comment

So after a quick look at a couple of places I think I can safely say that the below Python code should work if you get Python and the pyffi package. Pass the create_hdt_data function a filename and it should add the extra data and save it out. It's set up to look for the hdt xml file at Data\meshes\hdt.xml but you can easily change that.

 

 Completely untested by the way, so it may not work. If someone wants to try it and fix any problems, that'd be great. Otherwise I'll eventually get to it.


from pyffi.formats.nif import NifFormat

m_version = 0
u_version = 0

def create_hdt_data( filename ):
	global m_version, u_version

	f = open( filename, "r+b" )
	
	data = NifFormat.Data()
	data.read( f )

	root_block = None

	if data.roots.length == 1 then
		root_block = data.roots[0]
	else
		for root in data.roots:
			if isinstance( root, NifFormat.NiNode ) then 
				root_block = root
				break	

	m_version, user_version = NifFormat.getVersion( f )
	
	if m_version <= 0 then 
		print "Error, wrong version, or not a .nif file."
		return

	hdt_extra_data = create_block( "NiStringExtraData" )
	hdt_extra_data.name = "HDT Havok Path"
	hdt_extra_data.string_data = "Data\meshes\hdt.xml"

	root_block.add_extra_data( hdt_extra_data )

	data.write( f )

	f.close()

""" create_block taken from http://niftools.sourceforge.net/doc/blender_nif_plugin/_modules/io_scene_nif/nif_export.html """
def create_block( blocktype, b_obj = None ):
    """Helper function to create a new block, register it in the list of
    exported blocks, and associate it with a Blender object.

    @param blocktype: The nif block type (for instance "NiNode").
    @type blocktype: C{str}
    @param b_obj: The Blender object.
    @return: The newly created block."""
    try:
        block = getattr( NifFormat, blocktype )()
    except AttributeError:
        raise NifExportError(
            "'%s': Unknown block type (this is probably a bug)."
            % blocktype )

    return block
 

Trying 10-10 again. I took it's default xml and tossed a bunch of numbers around. So many damn values, every edit at one point changes everything else!
Anyway, here's a Milkdrinker version; for those who want zero-g airbags  :blink:

 

 

 

Hah, I actually went the opposite direction and made the jiggle weightier, but more pronounced, rather than floatier.

Link to comment

Trying 10-10 again. I took it's default xml and tossed a bunch of numbers around. So many damn values, every edit at one point changes everything else!

Anyway, here's a Milkdrinker version; for those who want zero-g airbags :blink:

 

 

So after a quick look at a couple of places I think I can safely say that the below Python code should work if you get Python and the pyffi package. Pass the create_hdt_data function a filename and it should add the extra data and save it out. It's set up to look for the hdt xml file at Data\meshes\hdt.xml but you can easily change that.

 

 Completely untested by the way, so it may not work. If someone wants to try it and fix any problems, that'd be great. Otherwise I'll eventually get to it.


from pyffi.formats.nif import NifFormat

m_version = 0
u_version = 0

def create_hdt_data( filename ):
	global m_version, u_version

	f = open( filename, "r+b" )
	
	data = NifFormat.Data()
	data.read( f )

	root_block = None

	if data.roots.length == 1 then
		root_block = data.roots[0]
	else
		for root in data.roots:
			if isinstance( root, NifFormat.NiNode ) then 
				root_block = root
				break	

	m_version, user_version = NifFormat.getVersion( f )
	
	if m_version <= 0 then 
		print "Error, wrong version, or not a .nif file."
		return

	hdt_extra_data = create_block( "NiStringExtraData" )
	hdt_extra_data.name = "HDT Havok Path"
	hdt_extra_data.string_data = "Data\meshes\hdt.xml"

	root_block.add_extra_data( hdt_extra_data )

	data.write( f )

	f.close()

""" create_block taken from http://niftools.sourceforge.net/doc/blender_nif_plugin/_modules/io_scene_nif/nif_export.html """
def create_block( blocktype, b_obj = None ):
    """Helper function to create a new block, register it in the list of
    exported blocks, and associate it with a Blender object.

    @param blocktype: The nif block type (for instance "NiNode").
    @type blocktype: C{str}
    @param b_obj: The Blender object.
    @return: The newly created block."""
    try:
        block = getattr( NifFormat, blocktype )()
    except AttributeError:
        raise NifExportError(
            "'%s': Unknown block type (this is probably a bug)."
            % blocktype )

    return block
 

Trying 10-10 again. I took it's default xml and tossed a bunch of numbers around. So many damn values, every edit at one point changes everything else!

Anyway, here's a Milkdrinker version; for those who want zero-g airbags  :blink:

 

 

 

Hah, I actually went the opposite direction and made the jiggle weightier, but more pronounced, rather than floatier.

 

Did you guys find my doc helpful? (in the 2nd post of the thread)

Link to comment

 

Did you guys find my doc helpful? (in the 2nd post of the thread)

 

 

I had already started messing with the settings in the XML earlier, but I did indeed find a couple of the explanations useful, as I hadn't experimented with those settings yet. I made a version I like a while ago (a couple of days before I posted that video), but I improved it with some more tweaks based on the doc. 

 

Nice work!

 

----------

 

I'm going to work on making a nicely packaged command line tool out of the script I posted, and try and test it out and make sure it works properly.

Link to comment

 

 

Did you guys find my doc helpful? (in the 2nd post of the thread)

 

 

I had already started messing with the settings in the XML earlier, but I did indeed find a couple of the explanations useful, as I hadn't experimented with those settings yet. I made a version I like a while ago (a couple of days before I posted that video), but I improved it with some more tweaks based on the doc. 

 

Nice work!

 

----------

 

I'm going to work on making a nicely packaged command line tool out of the script I posted, and try and test it out and make sure it works properly.

 

 

do you have any knowledge that I should add to the doc?

Link to comment

 

do you have any knowledge that I should add to the doc?

 

 

The main ones are the same you already discovered, which were fairly obvious to me as a physics programmer (sprint constant, damping etc.), which you've described well. I edited some other values but don't know if they matter, and haven't tested them enough to say definitively that they do anything.

 

For the moment I'm more focused on getting the tool for adding HDT support to first person meshes for TJoP.

Link to comment

I couldn't make out the pre <value > stuff yesterday but found my head again so yeah it made me realize I had pre- and not pre-values reversed at first. Editing the XML is still a pain in the lower back though, every value can change the whole setup again.

A frontend or tool for the values would be a godsent but who is crazy enough to figure all this out?

 

Edit: just my notes (with the numbers from #2 added), this might all be very wrong but it helps

me when editing it

 

FYI, a front end thing for the values would be pretty easy in, say, PHP.

 

Just have a form with the values to input and their names, and a submit, which would echo out basically the entire XML except with the values replaced with the POSTed parameters from the form.

 

Of course you need to host it somewhere, or have PHP installed locally. Other languages may be more convenient depending on what you have installed. I'm just thinking of what I could make in a few minutes.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use