Exporting Scene with XRef objects
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 07/04/2008 at 04:24, xxxxxxxx wrote:
After some more research I am able to polygonize the XRef objects. However two points are still open and I can't find anything in the SDK documentation about this:
-
How do I get the Materials of an XREF object?
-
How do I get the filename of the C4D file that the XREF object is referencing to.
With the above information I should be able to implement an export for XRef objects.
Regards,
Mark -
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 07/04/2008 at 07:03, xxxxxxxx wrote:
The filename is stored in the objects container. YOu can access it with GetFilename/SetFilename(). The ID is SCENEINSTANCE_FILENAME. Note that you have to manually include the osceneinstance.h.
I have to figure out myself how to access the materials.
cheers,
Matthias -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 07/04/2008 at 09:19, xxxxxxxx wrote:
BTW, has anyone here been able to use the R10.5 SDK Windows Help file? Or is it just known to be busted? All I get are 404-type file not found errors when trying to access any content within it. The HTML version seems to work fine though (except there's no mention of XRef or External Reference at all in there, as far as I can see).
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 07/04/2008 at 09:25, xxxxxxxx wrote:
Try downloading the Help file again, maybe a corrupt download.
There is no special Xref functionality in the SDK.
cheers,
Matthias -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 07/04/2008 at 09:30, xxxxxxxx wrote:
I've downloaded that file 4-5 times now (again, just a minute ago).. no joy.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 07/04/2008 at 10:05, xxxxxxxx wrote:
Not sure if this helps, but...
"Make Editable" -> resolves (loads into the scene) materials
"Current State to Object" -> does not.
...I assume the doc->Polygonize() is basically performing the Current State to Object operation. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/04/2008 at 08:43, xxxxxxxx wrote:
Hello Matthias,
thansk for your assistance. I can finally get the filename of the XRef object. Here is the code
// BaseObject *op
if ( op->GetType() == 200000118 ) // xref?
{
BaseContainer bc = op->GetData();
Filename c4d_xref_filename = bc.GetFilename( SCENEINSTANCE_FILENAME , "" );
}I still couldn't figure out, how to get to the material list of the XRef. This is the last point I need to finalize our exporter.
Do you have any more clues?
Regards,
Mark -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/04/2008 at 08:41, xxxxxxxx wrote:
The material list is a custom data type. Currently you can not access it through the plugin API. The only other way I see to access the materials is to load the referenced scene (you have the filename to it already).
cheers,
Matthias -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 16/04/2008 at 00:45, xxxxxxxx wrote:
Hello Matthias,
thank you for your reply. So as it is now, the XRef functionality is pretty useless for game development (at least for us), since before we can export a scene to our generic format, we have to convert all XRef's. This is a pretty time consuming way.
Please tell the C4D developers to improve or fix the SDK with respect to XRef export and handling of XRef's in general.
All we need is access to this material list.
Regards,
Mark -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 16/04/2008 at 14:28, xxxxxxxx wrote:
Mark, it looks like you should be able to do something like...
// BaseObject *op if ( op->GetType() == 200000118 ) // xref? { BaseContainer bc = op->GetData(); Filename c4d_xref_filename = bc.GetFilenam( SCENEINSTANCE_FILENAME , "" ); if( c4d_xref_filename ) { BaseDocument *xrefDoc = LoadDocument( c4d_xref_filename, SCENEFILTER_MATERIALS, NULL); // loads only the materials if( xrefDoc ) { search_for_missing_materials_in( xrefDoc ); // insert your code here BaseDocument::Free( xrefDoc ); // be sure to free it } } }
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 20/04/2008 at 23:52, xxxxxxxx wrote:
Hello,
this sounds good. I will try it this week an let you
know if it works! Thanks for this information.Regards,
Mark