[Uni-verse] Preliminary notes on Orange project
Ton Roosendaal
ton at blender.org
Thu Jan 12 00:32:20 CET 2006
Hi all,
We're now a little over the half of the project schedule, and needless
to say the work pressure and stress is reaching a high point! :)
Nevertheless, the product we're making is totally awesome!
In november we've done several verse tests in the studio, but in
december this has halted due to the workload, but also the 3 weeks we
had the TD not available in the studio. He's back now, and has been
assigned to organize more testing and finish reporting.
Below you can read what he has sent me as preliminaryh notes. Detailed
use cases of the tests will follow soon (end of week, early next week).
This will result in a first report on on both Blender-Verse usability,
and a review of Verse itself.
Next to that, last december Jiri has started working on a gimp-blender
integration, which can become a real winner for us!
For the agenda I'd like to add how we're going to start the public
verse server.
See you all tomorrow,
-Ton-
----------------------------------------------------
=Verse at Orange=
Preliminary notes.
Toni Alatalo
Technical Director
Studio Orange
==Introduction==
Verse is a protocol that specifies various data types needed in 3d
computer
graphics production, such as geometry and textures, and the
transferring of
the data over a network. It features a client-server model where data is
published and subscribed to.
At Orange we are making a 3d animation short using mainly Blender. All
data is
stored in Subversion, meaning we have a repository server and working
copies
of the full project on every workstation. The data is almost
exclusively .blend files and textures as image files.
In principle Verse could be helpful for us in many ways:
- providing a central data repository:
* not everyone needs to store all the data all the time
* would update live: no manual update & commit cycle needed
- enabling live collaboration:
* scene setup
* texturing
- cross-application interoperability
- pipelining data processing tools
However, there are certain problems with the current tools that prevent
us
from these usages at the moment.
Based on the testing done at the studio, the basic robustness of the
Verse
technology seemed acceptable: several VerseBlender clients were able to
edit
the same geometry at the same time. That use case has proven to be not
useful
for us however, so lets next discuss the roadblocks on the way to more
useful
cases that have been identified.
==Roadblocks==
The beauty of Verse would be in having all the data on a Verse server,
so that
any tool with support for the protocol could be used to work on that.
For
example, as Eskil Steenberg demonstrated at the Blender Conference, when
having the data in Verse the toolkit for a project can be extended by
writing
special task-specific tools for e.g. cleaning up models or whatever the
workflow may require.
The major roadblock preventing such usage with Blender is the
incompleteness
of the Verse implementation (and support for Verse in Blender), which
effectually
blocks us from using Verse as a database. Currenly only a solution that
supports
saving everything from a Blender session, which is now only possible in
the
internal binary blend format, can be used as our central storage.
Accepting limited functionality, we have so far identified two
potentially
useful usecases for Verse at Orange: scene setup, and texturing. Of
these the
case for texturing is better understood and tested, and refers to the
simple
case where an image processing application such as GIMP us used to e.g.
paint
a texture image, with Blender open for the full material setup, having
the
image update live. The predicted usefulness of this case has been
reported by
us to VerseBlender developers already some months ago, and there is
still a
chance that with texturing support added to VerseBlender we will add it
to
our toolkit here soon.
==Other area of usage: publishing==
Orange is an open movie project, and will eventually make all assets
fully
public. Public Verse servers are an interesting possibility for this,
and the
plan now is to now test that by publishin certain characters of the
Elephants
Dream movie, that are used for secondary motion and have been so-far
otherwise ultra secret (not mentioned in any blog posts or anywhere,
AFAIK).
We will first just put the meshes, perhaps moving the objects around
with
special verse scripts made for the purpose, so the lack of animation
features
such as armatures and actions is not a showstopping problem for this
certain
set of data.
==Future ideas==
...
At least from our point of view, co-operation of Verse with version
control
systems like Subversion (which is basically like CVS) is a central
issue. One
idea for dealing with the two systems would be having a blender-using
subversion tool, that monitors changes in the repository and reflects
them on
the Verse side -- this could be implemented e.g. as a python script
that is
run within Blender on a server, using the Subversion python bindings to
work
with the repository, and then either direct PyVerse tools or perhaps
future
BlenderPython Verse API calls to publish via Blender the data updated
in SVN.
But this may well not target the actual issues with the data.
Regarding even tighter cross-application interoperability, one idea
that the
texturing use case brought up here was the possibility to have
mouseclicks on
the textured 3d models in Blender to be communicated to the
texture-editing
Gimp verse client, so that gimp-backended painting could be made
directly in
the Blender views. In my understanding, the Verse specification does not
cover such usage: it is for data exchange, not for commands. But
perhaps it
could still be done, either by extending the spec or using some existing
feature there that I may be unaware of. The usefulness of this idea is
still
unclear.
Toni Alatalo.
------------------------------------------------------------------------
--
Ton Roosendaal Blender Foundation ton at blender.org
http://www.blender.org
More information about the Uni-verse
mailing list