hey pjanssen, dunno if you got my email explaining the project im using ur script for but it looks like the plugin im using ‘Xidmary’ won’t work with ur script.
Is there any way you can manually set the camera to all the different render positions and render each frame manually?
this is the only way i’ll be able to render from two perspectives for every frame (for a 3d glasses anaglyph). I’ll then combine the frames in photoshop to make the anaglyphs which i will need to complie manually into the f3dv.
Hey,
I was just typing a reply mail to you actually. But I’ll just continue here:)
What exactly does the plugin do? Does it create another (or two?) camera on a slightly different angle? And how/when does it do this (only at render time, or a permanent new cam) ?
What you could try is running the f3dv script twice, once with the first camera, and once with the second camera. Then you process it all in PS and compile.
You can also try adding another ‘render’ line in the script. Copy this line from Scripts/f3dvExporter/scripts/render.ms:
f3dv_UI.imageRollout.renderBmp.bitmap = render frame:(f3dv_settings.animFrom + a) camera:f3dv_settings.rCam outputSize:[f3dv_settings.rWidth, f3dv_settings.rHeight] vfb:false outputfile:f3dv_vars.frameFile cancelled:&frameRenderCancelled;
and paste below it. You can change the camera: attribute there to set any camera you want (for example, a camera ‘camera01’ would be ‘$camera01’). And also change the outputfile of course.
This would render two frames for each step, once for every camera.
Good luck.
The Xidmary plug creates a permanent special camera, which is a target cam with two adjustable cameras either side (that locked to the central target cam). I’ve attached a screen shot of what the xidmary cams look like.
Ur script simply won’t apply itself to it, error says:
“–Unknown property: “pos” in $Target_Camera:XIdMary01 left @ [-36.04…etc]”
and another error
“–Unable to covert: $Target_Camera:XIdMary01 left @ [-36.04…etc] to type: String”
Ur script also doesnt work to the Vray special cams which are also special target cameras.
What you could try is running the f3dv script twice, once with the first camera, and once with the second camera.
I tried aligning two normal target cameras to the positions of both the xidmary cams, but ur script creates the same render positions for both cameras, so I get identical renders.
I thought if I link the cameras together, then apply the f3dv script to the parent, the other will follow giving me two perspectives at each location. This would probably work with changing the code as you said, i’ll give that a go right now.
what code do I use for a definite file loaction for the second camera’s renders, i’ve tried:
f3dv_UI.imageRollout.renderBmp.bitmap = render camera:$RIGHT outputSize:[f3dv_settings.rWidth, f3dv_settings.rHeight] vfb:false outputfile:$G:\RussHQ03\Uni\3DHybrids\Assignment2\f3dvTest01\RightFrames cancelled:&frameRenderCancelled;
but i get a syntax error (for some reason the post added that space between “Assignment2” and “f3dvTest01” its not in my code).
I also tried:
f3dv_vars.frameFile+$r
just to change the file name, but that didn’t work.
told you i wasnt superb at coding!
A little update:
[b]Maxscript:[/b]
The maxscript part is now only requiring some updates on the post-render part. This will involve changing the call to the compiler, and tossing out the HTML creation part.
I'm going to use one .ini file for the auto compiler (auto.ini in the f3dvCompiler directory), and a 'unique' .ini file for manual compiling. I will add a field in the UI to set the location for it.
[b]Compiler:[/b]
I think that I'll also make a little .exe to create a viewer swf. This is because you could have different
versions, in which you want to load the .f3dv. Or perhaps I'll include this functionality in the maual compiler..
Next to that there are a couple minor bugs I’ve got to fix (mostly error handling).
[b]Flash 3d Viewer:
[/b]Today I've been doing a lot of work on making the flash part much more user friendly. Not so much for the enduser (=the one who sees it), but for a developer. There is now one 'core' class, which contains the basic functionality for a viewer, namely loading a .f3dv, controlling the rotation and animation.
You can add an extension to this in the form of a new class. This class has to extend the 'extension' class (uhuh), so that it can access the core. In this new custom class you can do basically anything you want. You can call core functions, add things to existing functions (without having to change the core!) and override core functions.
So for example if you want a stop button for the animation, you can write a class that calls the 'stop animation' function in the core. Using common actionscript linkage, you create an instance of this class, drag the movieclip into the f3dv movieclip and you're done.
Not only controls can be created this way, but also extensions that don’t actually have any graphical representation. For example one could write an extension that makes the initial showing of the f3dv file smoothly by fading it in.
It might sound a bit complicated, but it’s really quite straightforward and simple.
It was quite a challenge, but I think that it worked out allright. In the next release I’ll include a couple of examples (basic animation control buttons and a loadbar) using this technique.
Tonight I’ll post a preview of a viewer with animation.
The preview is a bit delayed due to some problems I encountered with the extensions.
One I’ve not solved yet has to do with the order of initialising and dependencies. For example, say you have an extension that manages the animation. This will change some core functions, and add a couple of core functions so that they are accessible to other extensions.
Added to that you might want to have some controls that can start and stop the animation. These are also extensions.
So far so good, but what if you add those before adding the animation extension? Then the contols get initialised before the animation, which will cause problems. For example having function calls to functions that aren’t defined yet.
It can be avoided, by changing the way the function calls are defined, but I always like flexibility, so I think I’ll have to write some kind of system to control the order in which extensions are initialised…
Here’s a preview of how the extensions can be used in Flash:
For existing extensions, there’s no coding involved at all, it’s just drag & drop and watch the magic happen. New extensions can be written as a class (extending the f3dvExtension class) and be added as components in the same way.
Icons for extensions without visual representation (e.g. animation) will of course be hidden when executed.
Here’s the preview for v1.2
(Click the image)
[size=2]This shows a couple of features like[/size] animation and extensions like a loadbar, animation controls and auto rotation.
Some notes on this preview:
-The walkcycle is made by Andre Hotz, thanks
-The controls for the animation are a bit overdone this way, but it was just to show as an example.
-The auto rotation might appear a bit annoying in this example, it’d work nicer in a version without animation and a higher number of horizontal frames. I included it just to show the feature.
-The animation might appear a bit choppy at the end of the loop, that’s due to a frame without motionblur (my mistake).
-The fla for this contains just one actionscript line, to load the file. The rest is just dragged into the viewer and initiates automatically.
-The f3dv contains 12 horizontal frames, 4 vertical and 41 animation frames, so a total of 1968 frames. It’s about 5.3mb in size.
Let me know what you think
Today I’ve been working on fixing bugs and other small issues for v1.2. It’s getting pretty close to being done now. So here’s the final (or at least very-near-to-final) list of changes:
Maxscript:
- Advanced settings added.
- Presets.
- Avoid multiple open UI windows.
- New maxscript UI creation system.
- Render size Aspect ratio bug fixed.
- Statistics added: Horizontal Frames, Vertical Frames, Animation Frames.
- Warning when trying to render more than 1000 frames.
- Removed redundant ‘create HTML’ functionality.
- Added animation starting frame (=slider frame position when rendering)
Compiler:
- Windows UI for compiler.
- Manual Compile f3dv support.
- Added program/compiler to change variables in a f3dv file or to create a viewer for a certain file. I’m not 100% sure if I’ll include this in 1.2, or let it wait for a later version.
Flash 3d Viewer:
- Animation support.
- Core functionality in one class.
- Flexible extension system.
- Provided extensions: Animation, Animation controls, Auto-Rotation, Auto-Rotation control, Loadbar, Fade-In after loading.
Installer:
- Start menu item for manual compiler.
- Max 8 ‘fix’ included in install.
- Automatic 3dsmax menu item creation.
Flash 3D Viewer 1.2
[font=Verdana]Installer, .exe, 375KB
Source, .rar, 6,58MB
Some notes:
- select your 3dsmax root directory when asked for an installation directory!
- The .NET Framework v2 is required.
[/font][font=Verdana]I’m finally done with the new flash 3d viewer version. There are a lot of updates and improvements. The most significant are the addition of animation, presets, manual compiling and the restructuring of the flash part.
The update list hasn’t changed since my last post, apart from the ‘change settings program’, that one is not in this release.
I hope that you’ll like and enjoy it! Feedback is very much appreciated.
[/font]