m:studio 2.4d in use on SA Sports Hall of Fame


#201

Hey, that’s pretty cool. That’s what I want to do but on a surface level, not object level. Thanks for the link :thumbsup:

Imagine if messiah had user definable Surface Lists beyond the default. I’d love to be able to create a list called Matte_Years and then add only 2 of the available 30 surfaces to it: watch_face_years and watch_face_wall. Then I apply other materials of choice to these surfaces. In the render panel I simply select which surfaces list I’m rendering with, default or Matte_Years. If I choose the latter then only those 2 surfaces out of 30 would then render with materials unique to that list, in this case as a comp layer. Lights should also be set or not. In fact my custom surface list should function exactly as the default one does now, just another instance which overrides the default at render time.

This should be really easy to code. Make sense?


#202

I can’t find alpha control on a per-surface basis, only per object. Am I correct to say that I’d have to split my single object into separate objects to have this control?

If so, can’t pmG give us surface level buffer control?


#203

Can be done over a shader!
Hmmm…sadly enough, none of the materials does offer that input directly, but in a few days, when I’m back from Siggraph, I could write a tiny shader that should serve such a purpose. Thing is, maybe we manage to put it into the surface, but it’s not clear how long that would take…I’ll let you know, but the shader could be a quick little helper.

I think I wanted that a long time ago, too…funny that I totally forgot about it again. :banghead:

As for the “easy to code” idea, well, a single thing by itself is always a heck of a lot easier to code then having to fit anything into a large complex piece of code. There are always surprises and if anything it really voids most assumptions as to something being “easy” or not. It has also happened that something was way easier than expected…yes, yes! :drool:

OHHHH, totally forgot to say: MARVELOUS work! Really beautiful! I hope, when the time’s right, you can give us your fantastic image for our gallery?!? I’m really thrilled, Paul! KICK booty! :bounce: :thumbsup: :buttrock: :applause:


#204

That would be awesome Taron! For now I’m just using temporary black and white materials to serve as an alpha channel. My scene setup is complex enough that I don’t want to go saving surfaces as separate objects and then relink all of that in messiah.

Since I’m also a coder, I understand what you’re talking about. I’d rather hope that, since being an instance of the existing Surface List feature, this would be easier. Although it would require an additional Surface List management block (also instances of standard GUI goodies) to create, rename and delete user-defined surface lists. In my mind a feature like this has potential to offer fantastic flexibility to projects, especially when setting up render passes of the same scene, but each time using different lights and materials on the same surfaces or sub-set of surfaces.

I’m both honoured :blush: and excited :slight_smile: that you would consider this work. Of course I’d be happy to share! Once the project is done and I post links to the final, you guys can simply download it. I’m aware that this project is not a prime example of messiah’s unique strengths. However, I think the fact that I thought messiah good enough for production and the fact that pmG and users on this messiah forum came through for me is a worthwhile testimony.

My project is drawing to a close. I’m presenting a preview to the client on Friday. Then last changes (hopefully not too serious) and final render and comp in Digital Fusion.


#205

Hey Paul,

I just was reminded by a question from Alex K about the best hidden feature in messiah ever, it may be helpful for your job:

It is possible to link two nodes of the same kind together, so that they share the same settings accross materials:

  • Have two materials, each with a - for instance - AoN: Noise.
  • Switch to the Materials Tab.
  • Select the Noise instance you want to be the master in the list.
  • Now comes the comical part: Click the empty squares in front of the Noise you want to be the slave with ALT & Right Mouseclick.
  • Two "1"s should materialize out of thin air, a bold one in the first column in front of the master and a non-bold one in front of the slave in the second column. Now if you change values in the master, the slave will follow. But be aware that the GUI of the slave will not show the values of the master, but it will render correctly.
  • for further master/slave combinations the number will increase.

Well, I think we have a winner in the “Feature most unlikely to be ever found by any sane human” category. OMG LOL

Cheers,


#206

I just made a post explaining this including image, so it gets a little clearer, in the Advanced tips.

http://forums.cgsociety.org/showpost.php?p=3755498&postcount=28


#207

Thanks Thomas. This feature is known to me since it’s in the messiah docs. I read it a couple of times over until I finally gave up. Extreme desperation would drive me to use it, but IMO this cool feature has been implemented into obscurity. :rolleyes: Ergonomically handicapped.

OK, here’s something else I’m struggling with - image sequences as texture maps.

I load an image in the image manager, check the Image Sequence on, and then go fumble around in the folder to see how many frames it has (why is there no default auto detect here?). Go to frame 1 and scrub, but there’s no sequence playing on the object surface - stuck on frame 1. OK, calm down. Switch on the Set As Background just for a test - scrub - it updates perfectly in the camera viewport - nice. Perhaps this sequence only updates while rendering but not in the viewport? Render various frames . . . it remains stuck on frame 1. :sad:

Then I read in the docs (and test for myself) how the image sequence offset works. Was messiah really made by animators for animators? :banghead: Please tell me I’ve missed something. The offset tells messiah which frame in the image sequence will play from frame 0 in my messiah animation. So how do I tell messiah to start playing frame 1 of my image sequence from frame 250 in my animation?

If there’s no solution, then I’ll have to pad the sequence in my NLE with black frames and re-export: black frames from 0 to 249 and then the clip from 250 to 320. Any changes in timing and I’d have to go back to my NLE and re-export again. And that’s IF image sequence texture mapping in messiah works.


#208

Yep, the image sequence thing is as stupid as could be and the offset tops it out.
There is no realtime texture update on surfaces, just in the background. As a workaround this works but isn’t something to rave about…

For the offset you have to go into negative numbers - yes it is complete bullshit, but I had it working already some years ago when I did a project in messiah the last time.
Try it out with the background, on textures it should work the same (if it isn’t broken??).
Sorry, can’t test right now.

Cheers and good luck!


#209

Sorry for going off like this on my previous post. Something basic like this can threaten my project and I don’t take it with much amusement after so long and just before delivery. This has cost me 3 hours of struggle and probably another 1 hour for the workaround.

After some testing and help from Thomas, here’s the deal on image sequences…

[ul]
[li]you can say which frame of the image sequence must start playing on frame 0 of your messiah animation using the offset feature[/li]
[li]you cannot say your image sequence should start playing on a specific frame of your messiah animation[/li][li]timing should be part of your image sequence using 3rd party software (like Video Toaster, Fusion, etc.) all relative to frame zero[/li][li]if you wish to hold the last frame, also hard code that into your image sequence since messiah will loop back even though you did not specify loop[/li]
[li]the image sequence works for texture mapping[/li][li]the image sequence does not work for light image projection[/li][/ul]My scene had light image projection set up nicely using a still image. Replacing the still with an image sequence (which renders fine when texture mapped onto an object) just renders black. I’ll have to workaround by replacing the light projector with a physical object which has a soft fall-off transparency map.


#210

I got rid of the light projector and replaced it with a texture map. Problem is that to reproduce the effect of a circle of light with soft fall-off on the edges, I eventually resorted to pre-rendering the effect in Digital Fusion since messiah’s texture mapping was freaking out when I tried to adjust the size and position of a planar map. The texture only remained stable when I fit the texture to the object. I think UV texturemaps are rock solid, but then you have to pre-adjust the size when creating the UV map.

In the end I lost another 3 hours doing the workaround. I’m on track again and the product is looking good.

I’m positive about messiah, and I still stick to what I said earlier that m:studio is certainly more of a comprehensive 3D app than the niche package we have known it to be. However, there are basics and new modern requirements which have to be addressed ASAP by pmG. Some of the lacking and neglected features are actually embarrasing IMO. And many many others have blown this same horn in the past and present.

If this was my app, I’d halt current development for 2 to 4 weeks, bring my entire team around a table, tackle every aspect that’s long overdue and which is discrediting the app in the forums and just wack them all, or at least the lion’s share of a priority list. A lot of valid points are right here on this messiah forum.

messiah is not my app and I am ignorant of what pmG has to deal with in reality. So I’ll say no more except, thanks for a great app pmG! Keep up the good work! People are watching. Some people are testing. Some people are using it production. The momentum is slowly picking up and you will come under more and more pressure to get it right.


#211

I can accept that image sequences do not dynamically update on texture mapped surfaces inside messiah’s viewports. This helps performance and RAM.

Here are simple feature suggestions to improve Image Sequences in messiah:
[ul]
[li]auto detect number of frames in the user selected sequence[/li][li]allow a scrub bar with handles (and also text input) for mark-in and mark-out[/li][li]allow user to select (handle or text input) which one frame in the sequence to display in the texture map[/li][li]offset should refer to the frame in the animation when the sequence starts playing in the animation[/li][li]checkboxes for hold, loop, ping-pong[/li][/ul]


#212

I would even accept the current, primitive image-sequence system for now if it would f…ing work :banghead:
Not only is Offset implemented in the most stupid way I can think of, the bugs we both found with higher offset values (and negative ones) are just not possible for a software that calls itself “production ready” or “professional”. No way. Not one single tiny way.
It doesn’t get simpler than adding and subtracting numbers.

What a laugh.

You’re a brave man, Paul. :bowdown:
I wouldn’t touch messiah with sticks for a production like yours.
I keep my fingers crossed that you can deliver the project as planned. :thumbsup:

Cheers,


#213

Thanks for the, uh, vote of confidence? Am I brave or being stupid? Hmmm, let’s find out. :slight_smile: Seems I’ve taken a gamble. I’m still positive even though my bug posts have increased of late. Speaking of which, here’s something weird…

See those last 4 items? They are nulls with IK active for aligning their headings with the camera position. I then used expressions to link their headings to the heading of the texture maps on the relevant discs so that the texture maps will face towards the camera regardless of where the camera is.

OK, but here’s the strange thing. I set it all up and it works, all 4 texture maps tracking the camera position. BUT if I reload the scene, then only the 1st of the 4 nulls “Null_minidisc_D” solves it’s IK, the other 3 do nothing. If I drag and reorder the nulls in the list from D,C,B,A to A,B,C,D then all of them work again, until I reload. Then only A will work and I’m left with having to reorder them again to get IK to kick in.

If I did not know about this and submitted a final render, I would have been in trouble, having to rerender in the same session after reordering the nulls in the list.


#214

Did you try scrubbing the timeline to update the IK?

Why do you use IK?
A simple “Target” expression doesn’t do it?

Did you use the GUI IK?
If yes, you may have an “order of computation” problem.
I would suggest going 100% expressions, then you can make sure the order is correct for your need.
If you really need IK, it is called “IK2D” as expression.

I don’t fully understand what you are doing so I can’t give more to-the-point feedback. :wink:

Cheers!


#215

heey! you were at siggraph??? i didnt see you, which booths did you hang around? im guessing zbrush?


#216

I just used IK, since that was the first obvious thing I saw in the GUI and I didn’t bother to use another technique since this worked - at the time.

I wasn’t aware that expressions could do that. If so, I’ll update my expressions and dump the nulls.

Thanks for the tip, Thomas :thumbsup:


#217

Hi stooch, nice that you could go! I’ve always wondered how it would be. You know, over the past few weeks and more recently, I’ve thought a lot about your past posts and your struggle finding help when the app is not delivering. In fact, you were one of the people who inspired me to venture onto the forum with this project. :thumbsup:


#218

I got rid of IK and now the solution is purely expression-based. I still needed the nulls though.

[ol]
[li]Target a null to the camera.[/li][li]Map the null’s heading onto the relevant texture map heading.[/li][li]Use (DTOR*90) to offset the texture map heading by 90 degrees so that it looks at the camera.[/li]
[/ol]It works perfectly! Thanks for the tip Thomas!

Someone will probably have an easier way of doing it, but this works for me and now there’s no IK issues after reloading the scene. :thumbsup:


#219

I needed to animate the IOR on the TLHPro EasyGlass and it wasn’t so easy since there’s no channel for IOR. My watch lens uses a special glass which looses refractive qualities over 1/2 a second as soon as time travel starts and regains it again as soon as we re-enter the modern era. What about water which sets into ice, wouldn’t that also undergo a change in IOR?

At this point I’ll manually render it, setting the changes one frame at a time.


#220

I think you should maybe open your eyes? Still asleep? :wink:
You can animate Refraction Front and Refraction Back to your hearts content???

What are you talking about??? :rolleyes:

>LOL<

Come on, there hardly is anything you can’t animate in TLHPro…

Or am I missing something basic here?

Cheers,