Feature Requests: 'load without mesh' option (File)

A forum where development builds are posted for testing by the community.
Forum rules
NOTE: The software in this forum is not %100 reliable, they are development builds and are meant for testing by experienced octane users. If you are a new octane user, we recommend to use the current stable release from the 'Commercial Product News & Releases' forum.
Post Reply
User avatar
Refracty
Licensed Customer
Posts: 1599
Joined: Wed Dec 01, 2010 6:42 pm
Location: 3D-Visualisierung Köln
Contact:

Sometimes I set up multiple ocs files for render them as a batch over night.
They contain different light settings, camera links ect.

Then the client wants to change a material. So I would have to remember all the different setups to repeat them for the indiviual .ocs file output or I have to reload the .ocs files that I have saved before and do the changes.
Replacing code with the text editor can work for some little adjustments but for more I need visual feedback.
So loading the multiple .ocs files with the mesh takes loooong.

I would therefore like to have a load 'without mesh import' option under the File tab. So that I can open a scene with the materials connected to a mesh node but without the loaded mesh. So I can load multiple .ocs files one by one make changes and save it fast without having to wait for the loaded and voxeled mesh.

The important thing is that the mesh node with the materials has to be linked correctly with all material nodes. But still the mesh itself is not loaded yet. By clicking on the mesh node the mesh will start loading.

What do you think?
User avatar
t_3
Posts: 2871
Joined: Tue Jul 05, 2011 5:37 pm

till rsl adds such a function i have something attached for you, that might help (if i understand you correctly):

this vbs script can be placed anywhere (i.e. on the desktop), accepts an .obj file by drag&drop, renames it by adding a "_bak" to the extension (xyz.obj becomes xyz.obj_bak) and creates a dummy mesh just containing a 1x1 plane for each original object, keeping all groupings and material definitions (the .mtl - if existing - remains untouched).

if you now load the .ocs, it'll load this dummy mesh, (of course needing no time for parsing/voxelising) and having all node connections intact. if you have done all corrections in the various .ocs projects, you just need to delete the dummy and rename *.obj_bak back to *.obj...

note: use with care ;)
The obvious is that which is never seen until someone expresses it simply

1x i7 2600K @5.0 (Asrock Z77), 16GB, 2x Asus GTX Titan 6GB @1200/3100/6200
2x i7 2600K @4.5 (P8Z68 -V P), 12GB, 1x EVGA GTX 580 3GB @0900/2200/4400
User avatar
t_3
Posts: 2871
Joined: Tue Jul 05, 2011 5:37 pm

ps: be aware that it needs some time for large files (there is a message if it has finished work); a 630mb .obj read from a network share needed around 7 mins to complete (and ~3-4gb ram), maybe longer on lesser potent machines ;)

here is a little "update" - hopefully more flexible regarding different .obj content types:


and at last: for editing an .ocs directly, microsofts xml notepad is also helpful tool: http://www.microsoft.com/download/en/de ... px?id=7973
The obvious is that which is never seen until someone expresses it simply

1x i7 2600K @5.0 (Asrock Z77), 16GB, 2x Asus GTX Titan 6GB @1200/3100/6200
2x i7 2600K @4.5 (P8Z68 -V P), 12GB, 1x EVGA GTX 580 3GB @0900/2200/4400
User avatar
Refracty
Licensed Customer
Posts: 1599
Joined: Wed Dec 01, 2010 6:42 pm
Location: 3D-Visualisierung Köln
Contact:

Thank you!
I will test it tonight.
So I can process multiple objs in one go?
Grouping is not important for this case.
So, is it possible to write a script that reads the .mtl only and just creates a dummy plane for each material? This process would only take seconds.
What do you think t_3?
User avatar
t_3
Posts: 2871
Joined: Tue Jul 05, 2011 5:37 pm

Refracty wrote:Thank you!
I will test it tonight.
So I can process multiple objs in one go?
Grouping is not important for this case.
So, is it possible to write a script that reads the .mtl only and just creates a dummy plane for each material? This process would only take seconds.
What do you think t_3?
batch processing of a couple .obj files should be possible (not right now) - and to take the .mtl to generate a dummy .obj is OF COURSE way better - how did it come, that i haven't think of that myself :D should be also way easier and reliable, as i have not to deal with crumpy .obj structures. i'll prepare something a little later today - so you'll better wait for that...
The obvious is that which is never seen until someone expresses it simply

1x i7 2600K @5.0 (Asrock Z77), 16GB, 2x Asus GTX Titan 6GB @1200/3100/6200
2x i7 2600K @4.5 (P8Z68 -V P), 12GB, 1x EVGA GTX 580 3GB @0900/2200/4400
User avatar
Refracty
Licensed Customer
Posts: 1599
Joined: Wed Dec 01, 2010 6:42 pm
Location: 3D-Visualisierung Köln
Contact:

Cool, thank you as always.
User avatar
t_3
Posts: 2871
Joined: Tue Jul 05, 2011 5:37 pm

here you go :D

you can drop single/multiple .mtl or .obj_bak files, or complete folders; a dummy .obj is created for every .mtl (only if there is an original .obj for it); the connected .obj is renamed to .obj_bak. if you drop the .obj_bak(s) on it, the dummy .obj will be deleted, and the original objekt file is restored - this is the same with folders: 1st drop renames all .objs in that folder to .obj_bak (but not recursively in subfolders!) and create the dummies, 2nd drop restores all original files. note: as octane often stores absolute paths to the .obj files, it'll work as expected - without modifying the .ocs - only if applied to the original files in their working folders. rename & delete functions should be save - tested it against my own working folder :) (and encountered things like empty .mtl files .mtls without .objs, etc. ;))

the dummy .obj holds an approximately square set of planar tiles for each & every node. so there will be a bit more visual feedbeck than with just no mesh ;) maybe spheres would also be nice - if this would make sense for you, just tell me...

if you want to get rid of the "completed" message, just edit the script and set the first constant to "False"
obj2dummy.zip
(1.83 KiB) Downloaded 166 times
and another note: assuming that .obj/.mtl are only created as pairs in the same folder with the same name i don't resolve "mtllib" directions in the .objs - would be possible though if necessary;
The obvious is that which is never seen until someone expresses it simply

1x i7 2600K @5.0 (Asrock Z77), 16GB, 2x Asus GTX Titan 6GB @1200/3100/6200
2x i7 2600K @4.5 (P8Z68 -V P), 12GB, 1x EVGA GTX 580 3GB @0900/2200/4400
User avatar
Refracty
Licensed Customer
Posts: 1599
Joined: Wed Dec 01, 2010 6:42 pm
Location: 3D-Visualisierung Köln
Contact:

This is great news t_3,
you are a gifted coder.
I will have time to test this after the weekend.
Very usesful thing.
Keep the good work up.
Cheers
Refracty
User avatar
Refracty
Licensed Customer
Posts: 1599
Joined: Wed Dec 01, 2010 6:42 pm
Location: 3D-Visualisierung Köln
Contact:

I am not into scripting, so it might be obvious for you but:
How do I use the vb script? I put it in a folder along the obj/mlt and it says "Nothing to do".
Thank you.
Cheers
Refracty
User avatar
t_3
Posts: 2871
Joined: Tue Jul 05, 2011 5:37 pm

Refracty wrote:I am not into scripting, so it might be obvious for you but:
How do I use the vb script? I put it in a folder along the obj/mlt and it says "Nothing to do".
Thank you.
Cheers
Refracty
drag your file(s) or a folder onto the script icon and drop it there :)

you may place it anywhere it comes handy - must not be in the same folder. i had it on my desktop on the second screen, so i could easily browse in windows explorer and drag things over to it...
The obvious is that which is never seen until someone expresses it simply

1x i7 2600K @5.0 (Asrock Z77), 16GB, 2x Asus GTX Titan 6GB @1200/3100/6200
2x i7 2600K @4.5 (P8Z68 -V P), 12GB, 1x EVGA GTX 580 3GB @0900/2200/4400
Post Reply

Return to “Development Build Releases”