*Oh my...* So what's the ideal short-form datetime storage? A long string?
On Fri, Jul 12, 2013 at 2:00 AM, jo benayoun <[email protected]> wrote: > well job Gene, > I would now spent a bit of time on the code itself to make it more > flexible. It would be great to have clear separation between plugins, core > lib and ui code imho. > > @Alan, don't do that please... > http://en.wikipedia.org/wiki/Year_2038_problem > > > 2013/7/11 Alan Fregtman <[email protected]> > >> Minor pet peeve with how you're storing date and time as a string... >> you're missing seconds! but I think it might be more efficient to store the >> unix timestamp (seconds since epoch) instead of a fully formatted long >> string. Let the reader module handle the datetime formatting. >> >> >> >> On Thu, Jul 11, 2013 at 9:41 PM, Gene Crucean < >> [email protected]> wrote: >> >>> Update: https://bitbucket.org/crewshin/json-cam >>> >>> Output file: >>> https://bitbucket.org/crewshin/json-cam/src/bae3c009d10002aa6d033036079064eda9d4d8d0/FromSoftimage.cam?at=master >>> >>> ScreenGrabs: >>> >>> https://bitbucket.org/crewshin/json-cam/src/bae3c009d10002aa6d033036079064eda9d4d8d0/Export.png?at=master >>> >>> https://bitbucket.org/crewshin/json-cam/src/bae3c009d10002aa6d033036079064eda9d4d8d0/Import.png?at=master >>> >>> Spec: >>> https://bitbucket.org/crewshin/json-cam/src/bae3c009d10002aa6d033036079064eda9d4d8d0/SPEC_1.0.txt?at=master >>> >>> >>> Thoughts so far? I should have Maya in the next day or so. Btw, feel >>> free to send pull requests for tweaks if interested. >>> >>> >>> @Jordi: Wanna give that Houdini .otl a test? >>> >>> >>> >>> On Thu, Jul 11, 2013 at 8:56 AM, Gene Crucean < >>> [email protected]> wrote: >>> >>>> RE animatable parameters: This spec currently allows for any param to >>>> be animatable by just adding it to the "anim" dictionary. All the >>>> importers/exporters would have to do is simply check if any param besides >>>> transforms exist and add keyframes. This would be left up to the individual >>>> app scripts to implement, but the spec itself would allow for anything to >>>> be animatable. >>>> >>>> >>>> On Thu, Jul 11, 2013 at 1:41 AM, Michael Heberlein < >>>> [email protected]> wrote: >>>> >>>>> A bit off-topic already :) but I just found pyalembic in Gohlkes >>>>> invaluable Windows binaries list: >>>>> http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyalembic >>>>> >>>>> But I also agree that something as simple and readable as JSON would >>>>> be cool to have for (plotted?) world-space camera exchange. And _all_ >>>>> parameters should be animatable. >>>>> >>>>> Michael >>>>> >>>>> >>>>> On Thu, Jul 11, 2013 at 6:17 AM, Raffaele Fragapane < >>>>> [email protected]> wrote: >>>>> >>>>>> The unit needs only be an arbitrary value in the header. >>>>>> Autodesk can say whatever it wants, but the truth is that if you >>>>>> change maya from imperial to metric at the beginning of a project (and >>>>>> you >>>>>> might have that on client's side) there will be repercussions, and if >>>>>> your >>>>>> cameras were intended as 1cm but get imported as 1 inch things will be >>>>>> out >>>>>> of whack. Majorly. >>>>>> >>>>>> Several parameters, especially so if this will get a further level of >>>>>> abstraction later on, are actually world scale dependent. >>>>>> The flm back can change with a unit change (in some apps it does, in >>>>>> some it doesn't), several rendering and grooming parameters change and so >>>>>> on. >>>>>> >>>>>> As for scale, I've had plenty instances when the camera was scaled >>>>>> for various reasons, frequently enough to be relevant entire chunks of a >>>>>> pipe would rely on a stupid-renderman-trick style scaled camera. >>>>>> >>>>>> >>>>>> On Thu, Jul 11, 2013 at 2:10 PM, Gene Crucean < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Thanks for the input guys! I'm ingesting all of it :) >>>>>>> >>>>>>> I'm quite against adding units into the main camera section of the >>>>>>> file... but what about adding them to the metadata section? I really >>>>>>> don't >>>>>>> understand why anyone would want this in the file though. Units should >>>>>>> only >>>>>>> be conceptual imo. Autodesk says that 1 SI unit = 1 decimeter, but it >>>>>>> has >>>>>>> no concept of units... at all. Our current project is in meters, so >>>>>>> conceptually we just know that 1 SI unit = 1 meter. Did we change >>>>>>> anything? >>>>>>> Nope. Same thing in Maya... 1 unit = 1 meter. Didn't change a thing on >>>>>>> the >>>>>>> Maya side either. I would love for someone to give me an example of why >>>>>>> this should be different. >>>>>>> >>>>>>> Either way, I'll have an update tomorrow at some point, along with >>>>>>> i/o for Houdini and updated Soft scripts. Maya is next and then >>>>>>> hopefully I >>>>>>> can talk one of our Nuke dev's into banging out an importer. Unless >>>>>>> someone >>>>>>> on here knows it's API and want's to donate some skills (once the 1.0 >>>>>>> spec >>>>>>> is finished). Same with any other apps :) >>>>>>> >>>>>>> Cheers >>>>>>> >>>>>>> >>>>>>> On Wed, Jul 10, 2013 at 6:59 PM, Matt Lind <[email protected] >>>>>>> > wrote: >>>>>>> >>>>>>>> I started a toolset a few years ago based on XML as well. It works >>>>>>>> and I can store robust data, but the downside is the file sizes are >>>>>>>> huge >>>>>>>> and slow to read/write. Memory becomes an issue at some point. If you >>>>>>>> only want to transfer cameras or simple stuff, it works fine, but large >>>>>>>> scenes with lots of animation data is not advised with XML as other >>>>>>>> formats >>>>>>>> may be better suited.**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> Matt**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> *From:* [email protected] [mailto: >>>>>>>> [email protected]] *On Behalf Of *Tim Crowson >>>>>>>> *Sent:* Wednesday, July 10, 2013 5:34 PM >>>>>>>> *To:* [email protected] >>>>>>>> *Subject:* Re: Open source json camera I/O platform**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> This is great to see! I have something similar in the wings that's >>>>>>>> only partially implemented, but in XML instead. It stores most of the >>>>>>>> stuff >>>>>>>> Jo was talking about. I wrote it as a way to export cameras and nulls >>>>>>>> to >>>>>>>> Nuke and Fusion. My goal is to have a series of tools for various apps >>>>>>>> all >>>>>>>> writing and reading a common XML file. Cameras and nulls can be >>>>>>>> exported, >>>>>>>> then updated if something changes. With custom UI for setting options. >>>>>>>> Anyway, I haven't finished writing all the different plugins, but I've >>>>>>>> got >>>>>>>> a couple of apps covered already. I debated between JSON and XML and >>>>>>>> finally just went with XML. >>>>>>>> >>>>>>>> Glad to see this in the works, Gene! Can't wait to see more! >>>>>>>> >>>>>>>> -Tim C >>>>>>>> >>>>>>>> **** >>>>>>>> >>>>>>>> On 7/10/2013 7:10 PM, Raffaele Fragapane wrote:**** >>>>>>>> >>>>>>>> When you'll have at most a few dozen curves, even on a thousand >>>>>>>> frame long sequence, I honestly don't think cheapening the data >>>>>>>> matters one >>>>>>>> iota.**** >>>>>>>> >>>>>>>> You can always introduce a zip compression stage to the I/O.**** >>>>>>>> >>>>>>>> Optimizing early and ending data poor is always a mistake. Purging >>>>>>>> is easy, both on I/O and in dev terms, adding data you don't have is >>>>>>>> usually betwene painful and downright impossible.**** >>>>>>>> >>>>>>>> If footprint was a concern here, sure, it'd make sense, on >>>>>>>> something that on a bad day will have a hundred parameters at the most >>>>>>>> (and >>>>>>>> for a mono cam I'd struggle to think of a hundred parameters I'd want >>>>>>>> animated) saving 16 floats per frame instead of 64 makes little >>>>>>>> difference >>>>>>>> in practical terms.**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> On Thu, Jul 11, 2013 at 10:01 AM, Alok Gandhi < >>>>>>>> [email protected]> wrote:**** >>>>>>>> >>>>>>>> Hey Gene looking at your schema I do not see animated value for >>>>>>>> parameters like focal length, near and far planes. Though near and far >>>>>>>> are >>>>>>>> not usually keyed but you never know. I have worked on a stereoscopic >>>>>>>> project and we did need to plot the clipping planes. Anyways, focal >>>>>>>> length >>>>>>>> does fairly get animated at times. In the interest of generality and >>>>>>>> being >>>>>>>> generic I would make room for values for nearly all animatable >>>>>>>> parameters. >>>>>>>> For the case of optimization the writer plugin can use only one value >>>>>>>> in >>>>>>>> the list if the parameter is not animated else it will take all the key >>>>>>>> frame values. Also I would not care for the whole keyframe and tangent >>>>>>>> data >>>>>>>> in the list but would simply read the values of all parameters at each >>>>>>>> frame and plot the same when I am reading the values. But what you are >>>>>>>> doing with keyframes value storage also works, in fact I think it >>>>>>>> reduces >>>>>>>> the file size considerably in case you do not have much keyframes in >>>>>>>> the >>>>>>>> source scene.**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> On Wed, Jul 10, 2013 at 7:41 PM, Raffaele Fragapane < >>>>>>>> [email protected]> wrote:**** >>>>>>>> >>>>>>>> Units and scale, and how they correlate, are extremely important >>>>>>>> even in a light weight, portable format. Actually, probably more so in >>>>>>>> one >>>>>>>> than in a more complex scenario.**** >>>>>>>> >>>>>>>> You can't assume people will not care about those because their >>>>>>>> workflow will be independent of it like yours was for a few example >>>>>>>> productions, because very frequently they won't have the choice.*** >>>>>>>> * >>>>>>>> >>>>>>>> As an interop format that deals with external contributions >>>>>>>> (rendering engines and so on being heavily dependent on it) you WILL >>>>>>>> bump >>>>>>>> into scale factors whether you like it or not, and the format will be >>>>>>>> rendered useless by not having control over those when it'll happen. >>>>>>>> **** >>>>>>>> >>>>>>>> There are things one omits or includes for the sake of forecfully >>>>>>>> encouraging good practices, those are practical-philosophical choices >>>>>>>> and >>>>>>>> are fine, and best made by a benevolent dictator for the project (any >>>>>>>> half >>>>>>>> decent programming language out there has craptons of those, and they >>>>>>>> are >>>>>>>> important to give languages and format identity and coherence). >>>>>>>> Scaling and units are not one of those, they are a fundamental >>>>>>>> requirement implicit to what you set off to describe with these files. >>>>>>>> **** >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> **** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> -- >>>>>>>> **** >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Our users will know fear and cower before our software! Ship it! >>>>>>>> Ship it and let them flee like the dogs they are!**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> -- **** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> -Gene >>>>>>> www.genecrucean.com >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Our users will know fear and cower before our software! Ship it! Ship >>>>>> it and let them flee like the dogs they are! >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> -Gene >>>> www.genecrucean.com >>>> >>> >>> >>> >>> -- >>> -Gene >>> www.genecrucean.com >>> >> >> >

