-
Posts
373 -
Joined
-
Last visited
-
Days Won
4
Content Type
Profiles
Forums
Events
Posts posted by nemyax
-
-
Now a documentary about the guy that wrote the video game would be way more interesting
In fact it would. He has a pretty exciting life story.
-
It needs some more testing, but yes, generally it preserves UVs and 5-pointers.
-
And the other way around.
-
Thanks to update 18p+ and the accompanying SDK update, this functionality is working now! Thanks for the excellent support.
Here's a little teaser: https://drive.google.com/open?id=0B___ge5IO2Jddk1kY1ZFQ3dMaEE
-
Thanks a lot for the API fix! Is the SDK updated as well?
-
Splinedid news!
-
yoda64
Thanks for looking into it! I'll wait for the A:M and SDK update.
-
I took "where cp2 is attached to cp1" to mean that it's already been attached.
The AttachCPs method doesn't do what I need. Instead of making a single spline it stacks CPs where multiple splines meet.
-
That's exactly how I understood yoda64's reply.
-
yoda64
Did you mean this should work?
hmc->AttachCPs(jack, socket); hmc->AttachCPs(socket, jack);
Doing this on stacked CPs causes a crash. Doing it on loose ends sends A:M into an infinite loop. Do you have an example of working code that does this right?
-
Thanks, I'll try that. One of the things I tried was to attach the same two CPs with the same argument order twice, but that only crashed A:M.
-
It turns out a spline can be considered a CP's parent. For example, this returns the ID of the head CP of mycp's spline:
((HSpline*)(mycp->GetParent()))->GetHeadCP()->GetID()
However, this doesn't seem to work:
mycp->SetParent(myotherspline);
-
I'll try submitting this later
Thanks!
perhaps looking at the files can tell us something
There's no need. Navigating splines is very easy in the API, but the functions for associating an existing CP with a different spline are nowhere to be seen.
-
I sure hope so.I"d say it's there but just included in another operation.
There's always the option of building a new spline from CPs whose properties are identical to those of the original CPs. But that's a braindamaged way to do it, because you break group membership, weighting, spline actions and a million other things. Hopefully the Connect plugin doesn't use the method. The host program clearly doesn't.the Connect plugin that takes any number of splines and connects those that cross each other within a designated distance
-
This looks like an oversight during the preparation of the SDK, because more advanced operations are readily available (such as HModelCache::CopyExtrude), but this basic and important one isn't (apparently).
-
How do I connect two existing splines to create one continuous spline? I don't see any methods to that effect in HModelCache, HCP or HSpline.
-
Left is Lightwave (but they are not in best shape...), C4d, Houdini, Blender and of course A:M.
Well, you can't "buy up" Blender, so that one's safe. And there's also Modo, which is going quite strong.
If rumours are to be believed, Autodesk has only about 3000 current paid-for licences for Maya and about 2500 for Max. Their media and entertainment business seems to be ailing lately, what with all the greed and mismanagement.
-
I would guess the circularize wizard would use all of the CPs center as the origin from which to average the spacing of CPs around the splne from the average distance away from that point.
Yes, precisely. Circularize is both very useful and easy to implement.
-
Are there other players that can view them if they don't' have QuickTime installed?
VLC will play anything.
-
I have VS6
No 64-bit plugins then?
-
I can't work out how to make a plugin's menu entry visible when CPs are selected. Presumably this is determined by the HxtLoadCommandEntry function, but the entry gets hidden whenever any CPs are selected. Even an always-true definition like the one below doesn't make a difference:
extern "C" __declspec(dllexport) BOOL HxtOnAddCommandMenu( HTreeObject *htreeobject, UINT index, String &menuname, MenuCategory &mc, BOOL &disabled) { menuname = g_str_menu_name; disabled = FALSE; mc = MC_GENERAL; return TRUE; }
How do I control availability correctly?
-
when I go back into Maya/Max/etc. and move a limb(like an arm) and then export the same model again into A:M. Nothing has changed at all but the slight movement of the arm, etc.
Yet the two imported models have completely different cp numbers.
Why does that happen? Does the A:M importer assign CPs differently every time? And how does the renumber command help?
Have you tried importing the same OBJ twice and comparing the CP numbers?
-
And this would be my exhibit A against the idea that 'any CP order is as good as another' in that I would think that CPs are best ordered when they align with spline assignment and continuity.
We'd have to look at the spline walking code to determine if that is the case. But it's very unlikely that the order matters for efficiency. A pointer to a CP object is just that, regardless of the CP object's index attribute.
The "Renumber CPs" operation eliminates the gaps in CP numbering, so that if your object doesn't have CP #4 but its highest is #65536, then the operation assigns a contiguous range where you do have #4 but don't have #65536 any more. That's all the optimization you get out of it.
But anyway, you'd never exceed the 4 billion upper limit for the CP numbers, so the renumbering operation is probably purely for cosmetic effect.
-
More practically speaking, renumbering of CPs seems to be a step one might take just prior to saving a (master) model that one wants to use as the exemplar; a model that is considered final and will never change.
If all you want is to create a master model, any CP order is as good as any other. There's no reason to renumber them for that.
Model Plugin: Three-Point Reroute
in 3rd Party Programs, Utilities and Products
Posted
Three-Point Reroute
This plugin redirects the spline flow as indicated by your CP selections. Wherever you want a spline to take a specific route, select three CPs in a row: they will mark the start, middle and end of the route stretch. You can mark multiple such three-CP series at once. Finally, run the plugin: Plugins | 3-Point Reroute.
The UV layout and 5-point patches are preserved by the operation.
Here’s a video of the plugin in action:
https://drive.google.com/open?id=0B___ge5IO2JdaHRLWWpId01Yc0E
The plugin was co-authored by me and Hellraiser. He is a real C++ programmer who had no prior experience with CGI software development, and I’m the reverse. Now we’re both the better for it.
Download and Setup
Important: The plugin works only with A:M 18.0p+ and later. 18.0p and earlier are not supported.
For 64-bit A:M (Windows)
For 32-bit A:M (Windows)
To install the plugin, put the correct (either 32-bit or 64-bit) .hxt file in the \HXT folder.
The .hxt files were built with Visual Studio 2015 Community Edition.
There won’t be a MacOS X build. If you want to try and create one, I can provide the sources on request.
Notes
Credits
Hellraiser
nemyax