Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / MeshTools ~ New DBpro plugin

Author
Message
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 14th Jun 2007 04:06 Edited at: 14th Jun 2007 04:46
Yeah...
Another WIP thread from me. lol
At least they usually end up on the Program Announce board too

Anyway, I posted the other day to see if anyone would be interested in something like this. The response was good so I'm going to do what I can to make it happen.

This plugin is intended to give you a MUCH more powerful command set for your object meshes. The features that I am shooting for are things like:
-General Mesh information
-Vertex Data and manipulation
-Poly data and manipulation
-Bone Weighting data and manipulation
-Adding/Removing verts
-Adding/Removing polys
-Vertex Welding
-Poly reduction command set
-Exporting data options

So far, the current command list looks like this: (all completed commands!)

General Info:
FVFformat = MT_GetFVF( ObjID, Limb )
FVFsize = MT_GetFVFsize( ObjID, Limb )
MeshID = MT_GetMeshID( ObjID, Limb )

Vertex Data:
The "Original" data is the values before they are effected by bone weighting. This is the values that DBpro returns with it's standard vertex manipulation command set. The calculated values are the current values that have been modified by bone weighting.
Count = MT_GetVertexCount( ObjID, Limb )
x# = MT_GetVertOriginalPosX( ObjID, Limb, Vertex )
y# = MT_GetVertOriginalPosY( ObjID, Limb, Vertex )
z# = MT_GetVertOriginalPosZ( ObjID, Limb, Vertex )
nx# = MT_GetVertOriginalNormX( ObjID, Limb, Vertex )
ny# = MT_GetVertOriginalNormY( ObjID, Limb, Vertex )
nz# = MT_GetVertOriginalNormZ( ObjID, Limb, Vertex )
u# = MT_GetVertOriginalU( ObjID, Limb, Vertex )
v# = MT_GetVertOriginalV( ObjID, Limb, Vertex )
MT_SetVertOriginalPos ObjID, Limb, Vert, x#, y#, z# MT_SetVertOriginalNorm ObjID, Limb, Vert, x#, y#, z#
MT_SetVertOriginalUV ObjID, Limb, Vert, x#, y#, z#
x# = MT_GetVertCalcPosX( ObjID, Limb, Vertex )
y# = MT_GetVertCalcPosY( ObjID, Limb, Vertex )
z# = MT_GetVertCalcPosZ( ObjID, Limb, Vertex )
nx# = MT_GetVertCalcNormX( ObjID, Limb, Vertex )
ny# = MT_GetVertCalcNormY( ObjID, Limb, Vertex )
nz# = MT_GetVertCalcNormZ( ObjID, Limb, Vertex )
u# = MT_GetVertCalcU( ObjID, Limb, Vertex )
v# = MT_GetVertCalcV( ObjID, Limb, Vertex )
To add:
-Setting Vertex data by it's calculated position.
-Adding/Deleting Vertices

Poly Data
Count = MT_GetPolyCount( ObjID, Limb )
Vert = MT_GetPolyVert0( ObjID, Limb, Poly )
Vert = MT_GetPolyVert1( ObjID, Limb, Poly )
Vert = MT_GetPolyVert2( ObjID, Limb, Poly )
MT_SetPolyVerts ObjID, Limb, Poly, Vert0, Vert1, Vert2
MT_DeletePoly ObjID, Limb, Poly
MT_AddPoly ObjID, Limb, Vert0,Vert1, Vert2
To Add:
-Calculate the normal of a poly

Vertex Weighting Data
Count = MT_GetBoneCount( ObjID, Limb )
Influences = MT_GetBoneInfluences( ObjID, Limb, BoneNo )
Vert = MT_GetBoneInfluenceVert( ObjID, Limb, BoneNo, InfluNo )
Weight# = MT_GetBoneInfluenceWeight( ObjID, Limb, BoneNo, InfluNo )
MT_SetBoneInfluenceWeight ObjID, Limb, BoneNo, InfluNo, Weight#



Things are progressing nicely. I have posted a video of the poly adding/deleting. It is actually pretty fast. I put the sync rate to 10 in the video, otherwise they would disapear to quick!
The first part of the video shows random polys being removed. The second half show polys being added using random vertices.
http://forumfiles.thegamecreators.com/?i=1215435

By the way, the model's face is from one of my other WIP's: 3D Character Maker

Let me know what you think! I'd love to hear some any ideas, comments or suggestions!

Thanks!

-Ron Erickson

Attachments

Login to view attachments
Alquerian
18
Years of Service
User Offline
Joined: 29th Mar 2006
Location: Reno Nevada
Posted: 14th Jun 2007 04:20
If this could export to 3DS or Collada, it would be a GodSend. Collada is simple as it is all XML based and portable to so much else, 3ds is nice because so many apps support it.

I am eagerly awaiting further development on this, if I can think of anything to add you will be the first to know

Visit the Wip!
MikeS
Retired Moderator
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: United States
Posted: 14th Jun 2007 05:34
I've been following your other post in the DBP section. This plugin seems to have everything anyone would need who wants to edit vertices at a lower level. As far as file formats to export/import or whatever, .fbx is a pretty popular one that would be great to have support for. I don't know if it's very practical though, as most people here work with .x/.dbo. But support for any big modeling package like Truespace, Lightwave(.lwo), XSI would really help artists more directly add content to DBP.



A book? I hate book. Book is stupid.
(Formerly Yellow)
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 14th Jun 2007 07:03
OBJ and 3DS are the most important and common file formats, IMO. Most packages export to either/or.

Cheers,

-naota

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 14th Jun 2007 07:35 Edited at: 14th Jun 2007 07:39
Bah! Give us a .FBX exporter and be done!

As an artist I've found it to be one of the most useful cross-application file formats since it has full support for bones, vertex weighting, lights, cameras, etc.

Even Conitec is using FBX as their new 3d format of choice, to replace .x if I'm not mistaken, for their upcoming A7 engine.

http://3dfolio.com
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 14th Jun 2007 07:46
Well, if you add .3DS or .OBJ, then there would be no reason for me to add those formats to my plugin, which shall remain nameless because I do not want to advertise.

WOLF, keep up the good work. Also, do you program your plugins in C++, or some other language?


Cheers,

-naota

Cash Curtis II
19
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 14th Jun 2007 08:27
I strongly believe that .ms3d is the best format. Milkshape is far more common and affordable than other modeling apps, and can export to any common format.


Come see the WIP!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 14th Jun 2007 09:45
I'd go for the obvious .x export and beyond that agree with Cash Curtis if I was being greedy - as I own Milkshape too... beyond that .fbx or .3ds

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 14th Jun 2007 12:49
also importing and loading those extensions could be god send Like now i can use in my games other formats than dbo or x ....


[B] - LINKIN PARK - [/B]
Cash Curtis II
19
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 14th Jun 2007 13:11
Quote: "Like now i can use in my games other formats than dbo or x ...."

It wouldn't be wise to do that, because they would load very very slowly comparatively. Great for an editor, not great for game use. Besides, you'd lose any extra information that .dbo couldn't hold, except the plugin would still have to parse all of that extra info first.


Come see the WIP!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 14th Jun 2007 14:58 Edited at: 14th Jun 2007 14:59
.. and I think I'm right that the .obj format would throw off all the bone/limb and animation data too...

[edit]

@ Wolf,

Some sort of commands to use mousex,y to locate vertices or polys within an object and limb so you could then push and pull them - that would be top...

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 14th Jun 2007 18:28
I'm not real familiar with a lot of the formats that are being suggested. I'll look and see what I can do. There are certain problems with converting to different file formats. For instance, the .3ds file format does not store animation info or vertex normal information. The normal information must be converted to smoothing groups. I've done conversion from smoothing groups to normals, but not the other way around. Anyway, each format will have it's own obstacles. I'll see what I can do. The main ones that I would like to support are:
*.x
*.3ds
*.ms3d
I'll see what I can do with those formats first. Then, I'll see if I can add support for some other formats later. Writing file conversion tools are a lot of work. I want to keep the plugin as reasonably priced as possible. I have to weigh the work load of writing them with how much benefit it would add to *most* users.

Duffer,
I'm suprised you didn't say anything about the video I posted. It is the first sneak peek at the new face mesh for 3DCM.

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 14th Jun 2007 19:33
@ Wolf - OK - I concede that before those polys start falling away it is a generalised improvement on the generalised other faces... smoother and more lifelike.... hope it will be as adaptable as the least geezer's face...

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 14th Jun 2007 19:49
It should be more adaptable
Plus, I am planning on adding normal mapping. So, that will really add some life to those wrinkles!

Scraggle
Moderator
21
Years of Service
User Offline
Joined: 10th Jul 2003
Location: Yorkshire
Posted: 14th Jun 2007 20:04
Wolf,

After looking at the video, the poly removal isn't what I was expecting. I was thinking more of vertex removal. Your poly removal works perfectly because it does exactly what it says it does but that leaves a hole in the object. Would vertex removal be possible? Sort of like deleting two or more poly's and creating a new one.

Something like this:


Delete the two vertices from the top object to create the bottom one.

If you could produce a vertex removal tool that would be very handy.

Thanks



Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 14th Jun 2007 20:43
Scraggle,
I plan to add vertex removal too. Although that still isn't what you are looking for. Deleting a vertex would delete all polys that use it. That would leave an even BIGGER hole!

What you are asking for, is vertex welding. In your pic above, if you took the vertex that is circled on the top and welded it to the vertex on the top right, the blue poly would dissapear. If you then took the vertex that is circled on the bottom and welded it to the vertex on the bottom left, the green poly would disapear.
I do plan on have vertex welding!

The video posted shows poly deletion. That is the first step to all of these other cool things. I want to support all of it

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 14th Jun 2007 23:28 Edited at: 14th Jun 2007 23:29
Quote: "Cash Curtis II: I strongly believe that .ms3d is the best format. Milkshape is far more common and affordable than other modeling apps, and can export to any common format."


Albeit more affordable "more common" is very relative.

Although no format is truly best I believe that FBX would be a better choice over MS3D. While Milkshape can export to many common formats I would discourage Wolf from choosing a format that puts Milkshape as a required middle-ware for converting between applications.

FBX was designed from the start to be a universal file format.

"The Kaydara FBX architecture insures the highest standard for 3D content interchange. The FBX format provides digital artists with a valuable pipeline for sharing data and quickly re-targeting legacy content, which saves time and streamlines production."
-Luigi Agostini of A&G Soluzioni Digitali, July 2004


http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=6904530&linkID=7771003

By exporting to FBX users of 3dsmax, maya, blender, milkshape, and others can all read the same data. Putting Milkshape as a required middle-ware for converting the file format will only cause problems. There are also people who use 3dsmax/maya/blender as their primary tool and have no desire to add Milkshape to their production pipeline.

http://3dfolio.com
Scraggle
Moderator
21
Years of Service
User Offline
Joined: 10th Jul 2003
Location: Yorkshire
Posted: 15th Jun 2007 00:18
FBX may well be more universal but milkshape is more affordable and this forum is populated by a lot of people that can't afford high end applications.
I think Wolf would most likely get more users buying his product if it supported a product that they own (or can at least afford to own).



Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 15th Jun 2007 01:00 Edited at: 15th Jun 2007 01:03
Whether or not Milkshape is more affordable has nothing to do with this. Milkshape can read FBX as can 3dsmax, Maya, Motionbuilder, Blender, etc.

My argument is that by supporting only MS3D data can become lost, distorted, or corrupted when writing to another format that 3dsmax, maya, or blender can read.

Arguing that MS3D is a better alternative than FBX because the host application is less expensive is unfair and a detriment to users of other 3D applications. This kind of argument will only further the problem that no one has adopted to support a universal format which all of these applications can read.

http://3dfolio.com
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 15th Jun 2007 03:12
Quote: "While Milkshape can export to many common formats I would discourage Wolf from choosing a format that puts Milkshape as a required middle-ware for converting between applications. "


Milkshape would be no more required than it is now.

There are many advantages to supporting export directly to *.ms3d. Mainly beacuse it is probably the most used 3D software by people here. Doing multiple format conversions is bound to cause problems.

I think that was your point in this:
Quote: "My argument is that by supporting only MS3D data can become lost, distorted, or corrupted when writing to another format that 3dsmax, maya, or blender can read."


I am not familiar with the .FBX format at all. If it is as universal as you have said, then it would also be very worthwhile to support. I will add that to the list of things to do. It doesn't have to be one or the other. Maybe it can be both.

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 15th Jun 2007 16:16
Yay!
I have stting vetex positions working from their calculated positions that have been effected by bone weights! You input the new calculated position, and it works through every instance of the vertex in bone weights multiplying it by the inverse of the bone's matrix. The crazy thing is that I got it to work on the very first try. That is a first!

I'm off for a couple of days, so nothing new until next week.

-Ron

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 15th Jun 2007 23:04
@Wolf,

.fbx is supported in Milkshape (sort of)...

anyhows, .x export would (with export of bones/limbs and animation) would be a godsend in itself, then in priority .3ds or .ms3d, then the other, then other formats - IMO.

see post on WolfExtra re csg, vertex/poly manipulation and capture by mousex/y and more useful csg...

with polyreduction as well -

then I woke up.

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 16th Jun 2007 01:58
Is this going to be free?

Hello
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 16th Jun 2007 02:23
@ Benny53 - cmon, twoulnt be fair

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 16th Jun 2007 04:46
oh yes it would. Otherwise its another plugin I can't get,haha.

Hello
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 16th Jun 2007 09:11
Quote: ".fbx is supported in Milkshape (sort of)..."


Can you be more specific?

http://3dfolio.com
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 16th Jun 2007 22:51
@ Mistrel,

I have Milkshape 1.8.1 - you can export and import Alias .FBX

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 28th Jul 2007 08:21
@ Wolf - how goes this project and 3DCM - hungry for an update!

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 28th Jul 2007 17:21
Quote: "I have Milkshape 1.8.1 - you can export and import Alias .FBX"


True, but given FBX is just a text format; and Alias (Autodesk) now own Kaydara (Motionbuilder) as more over Maya & Max properties. The FBX format is interchangable between all of their applications. This make portability quite simple.

I've found FBX and dotXSI are both key formats to support for cross-platform ability. Personally what I'd suggest would be to support FBX but at the same time create an SDK and interface for others to make their own formats they can load/export.
This part of why Milkshape3D is quite popular with mod communities, rather than overly complex development times for formats to features that mostly won't be used; Milkshape's SDK is quite simplistic.

Tihs way developers can add whatever format they physically use themselves. Perhaps outline a specific function tag for loading like

MT_Load[yourformat] ( [Filename] )
while they'd manually create that and it would be effectively stand-alone it'd help keep consistancy if you forced it. I mean it's either that or a linker thing like

MT_Load([format], [filename]) if they're all stored, then all ppl would need to do is add their string tables to mimic this input for dbp to pick it up and load just that lib.

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 28th Jul 2007 21:34 Edited at: 28th Jul 2007 21:34
I've never heard of dotXSI before. It it proprietary?

http://3dfolio.com
Deathead
17
Years of Service
User Offline
Joined: 14th Oct 2006
Location:
Posted: 28th Jul 2007 23:32
@wolf: this is off-topic but will you ever finish that Human creator?
On topic: looks nice.

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 29th Jul 2007 01:26
Quote: "I've never heard of dotXSI before. It it proprietary?"


it's the Softimage format, which is quite good. supports everything and such.. a while back Avid to try and tempt developers to XSI put up export/import plug-ins for Maya, Max, Houdini, etc. on the website.

they became so popular (because before most of us were using broken FBX or Transpoly) that Avid still make them. It's a sure way to know you're application is compatible when you support it cause Avid keep things nicely up to date.

BiggAdd
Retired Moderator
20
Years of Service
User Offline
Joined: 6th Aug 2004
Location: != null
Posted: 29th Jul 2007 02:49
This plug in will be a Godsend for what i need. I'll be purchasing a couple of your plug ins soon when i transfer some money etc. You truly are a savior for problems that arise.

Also i agree with "Mistrel", FBX should be an exporting option. Its pretty much supported by all modeling packages today.

How about vertex and normal positioning and normal rotation?

Sig removed by BiggAdd because he is everywhere.
Johaness
18
Years of Service
User Offline
Joined: 20th Sep 2006
Location:
Posted: 29th Jul 2007 06:06
Is it possible to include Vertex RGBA too?
vorconan
17
Years of Service
User Offline
Joined: 4th Nov 2006
Location: Wales
Posted: 1st Aug 2007 02:20
This looks like an awesome plugin Wolf, I'll be buying this for sure when it comes out. You mentioned polygon reduction though, this may be a stupid question but can it be reversed somehow? In the case of LOD. Other than hiding and showing different objects that is.

Thanks and good work


Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 2nd Aug 2007 20:03
Sorry everyone. I've been in and out of town lately. It has been a crazy summer for me so far. Hopefully things slow down soon!

Quote: "@wolf: this is off-topic but will you ever finish that Human creator?"


That is how this plugin was born. Because I am trying to finish the Character creator.
Yes. I will finish it. I'm not sure when though. All I can say is that progress is continuing.

As for "this" plugin...
Work has shifted back to my character creator. I have the parts that I need for my own use working. This has now shifted to a secondary project. It might take some time before this is ready to be released! I'm only one person! lol

Quote: "Is it possible to include Vertex RGBA too? "

That shouldn't be a problem.

Deathead
17
Years of Service
User Offline
Joined: 14th Oct 2006
Location:
Posted: 3rd Aug 2007 14:04
Great to know. Because it seems really cool.(the human editor.)

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 29th Aug 2007 21:55
@ Wolf,

Hiya, as a kean-o potential punter, how goes development of 3DCM, MeshTools and WolfExtra? (in that order of priority) And, any more screenies or vids of 3DCM development?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...

Login to post a reply

Server time is: 2024-09-29 22:37:22
Your offset time is: 2024-09-29 22:37:22