or the bullets that you’ve dodged.
initially, the 3 ‘topics’ I submitted for the pitch were:
-‘integrity-aware-texture-synthesis’ or a bridge between texture and shape
this one is about carrying the changes of a 3D shape over its texture. For instance if an object gets ‘hit’, we may want to alter the texture where the impact occured.
this is a very simple principle, when we load a mesh, each position of each vertex is stored in a LUT and we set an integrity factor to 1. then each time a vertex is moved (altered), we compute the distance to its original location in the LUT and set its integrity factor accordingly.
this allows us to recompute the texture by picking amongst a range of predefined textures.
say you have 10 textures, a vertex with an integrity factor of 1 will use the texture 1
if this vertex is moved to 50,0,0, its intergity will become .5, it will pick texture 5
if this vertex is moved to 90,0,0, its intergity will become .1, it will pick texture 9
pretty unclear, huh?
a picture is usually better than words so hereunder you have a mesh (on the left) which geometric intergrity is altered and the map (on the right) that reflects the changes of integrity:
I think you get the idea, told you it was weak….
-‘bitmap-mesh-storage’ or on how to get much more compact files for 3D in Flash
the texture of a mesh can be used to store its coordinates / uvs and indices.
now at least this one was original ;)
it was about storing the geometric data of a mesh directly within its texture and therefore having only one file to manipulate.
unclear again… picture:
to do that I normalize the 3D coordinates then map them between 0 & 0xFF and store each of them as a RGB pixel.
the UVS are stored the same way but need 2 pixels ( 3 couples of values ). a face of the mesh is therefore using 5 pixels on the map.
what prevented me from showing this is that:
1/ I haven’t pushed it far enough, it was rather a proof of concept ( = it sucks )
2/ playing with the generated graphics would have been nice and a lot of experiments can be done in this field (interconnecting 2D & 3D ) but as such, it’s not very interesting.
3/ it is heavily coupled to the engine I was using at the time : PV3D which is bad ; if such a principle had to exist, it should be engine independant.
-‘free-form-deform’ or the missing modifier
the as3mod library is a powerful set of 3D modifiers yet it still lacks one modifier to rule them all: the holy FFD.
well this is something I had done a while ago actually, after using the as3mod lib by Bartek Drozdz, I thought we could add a couple of modifiers that are present in 3DSMax. one of them is called FFD and stands for Free Form Deform (aka FFT for transform). it’s a simple bounding box being built around the mesh that lets you manipulate the Lattices (the corners of the bounding box ) to distort the mesh inside. it gives pretty cartoonish effects.
now in action :
click on the lattices ( purple boxes ) then change the bias & offset. you can use the left / right arrows to rotate the mesh.
my friend SERAF (a very skilled flasher) recently created a script on wonderfl that does exactly this ^^
a good thing with what I did is that you can set the number of bounding boxes so you get a better control on the mesh:
you can click to select slices (checkboxes help you select on which axis), double click “reset” to reset, arrows to move around.
the demo is not very stable and it shows incoherences in some cases (vertices being over stretched).
I also stopped working on this one to focus on the fracture algo I presented. nevertheless I’ll try to clean it up a bit and to include it into the AS3mod lib, along with the fracture algo.
those were researches I had done, partly for my former job at RAPP, partly for myself. after discussing those topics with a few people I trust and admire, I came to the conclusion that they were a bit weak and that the FOTB attendees deserved freshly brewed content rather than old unpublished things :)
my beloved readers wrote…