sea 18... 15 bug

Messages
3rd September 2016 - 08:16:36 PM
hello sea3d
with last version i find error on minification

the SEA3D.Stream.prototype.readUTF8 function do error
is window.TextDecoder the probleme new TextDecoder()

TextDecoder is not defined

also i do test for multyplatfrom with intel XDK ( android iphone win10 )
this function block simulation but work on device ?

--

another little error is console show warrning on three.material color
THREE.SEA3D.Dummy.MATERIAL = new THREE.MeshBasicMaterial( { wireframe: true, color: THREE.SEA3D.HELPER_COLOR } );
THREE.SEA3D.HELPER_COLOR = 0x9AB9E5; is define after this function

--

also see some problem's with mixer ... but i have to search

--

anyway work fine on multy device is great :)
Sans-titre-1
7th September 2016 - 01:56:35 AM
Hello Loth!

the SEA3D.Stream.prototype.readUTF8 function do error
is window.TextDecoder the probleme new TextDecoder()

TextDecoder is not defined

also i do test for multyplatfrom with intel XDK ( android iphone win10 )
this function block simulation but work on device ?

I do not know but I will make a polyfill to fix this.
I look forward to use `Intel XDK` :)

THREE.SEA3D.Dummy.MATERIAL = new THREE.MeshBasicMaterial( { wireframe: true, color: THREE.SEA3D.HELPER_COLOR } );
THREE.SEA3D.HELPER_COLOR = 0x9AB9E5; is define after this function


Thanks! I will fix!

also see some problem's with mixer ... but i have to search

Hmm, I will make more tests... I have some problems with mixer too.

anyway work fine on multy device is great :)

:D
10th September 2016 - 08:58:48 PM
i add function in SEA3DLoader for mixer
like three examples/BlendCharacter.js

seem to work
this function are more simple like
this.play = function( animName, weight )...
this.crossfade = function( fromAnimName, toAnimName, duration )...
this.warp = function( fromAnimName, toAnimName, duration ) ...

i have to do more test but seem's current version of sea3d play only one animation
jjj-1
11th September 2016 - 12:40:10 PM
yes is perfect now

first in THREE.SEA3D.Mesh.prototype it would be good like that

setWeight : function( name, val ) {

if( this.animations[ name ] ) this.mixer.clipAction( this.animations[ name ] ).setEffectiveWeight( val );
else if( this.morphTargetDictionary[ name ] ) this.morphTargetInfluences[ this.morphTargetDictionary[ name ] ] = val;

},

getWeight : function( name ) {

if( this.animations[ name ] ) return this.mixer.clipAction( name ).getEffectiveWeight();
else if( this.morphTargetDictionary[ name ] ) return this.morphTargetInfluences[ this.morphTargetDictionary[ name ] ];

},
17th September 2016 - 08:41:03 AM
http://lo-th.github.io/root/blending/
here the new function in SEA3DLoader

is just a preview, need to think what the best
SEA3DLoader.js - 67.47 kB
17th September 2016 - 10:40:07 PM
Wow! Thank you very much. I will updated as soon as possible.
The release of the sea3d it's almost ready. I hope sync everything in a single update.
28th September 2016 - 07:21:40 AM
hummm something wrong in updateAnimations function of SEALoader
animation add two copy of AnimationClip
this.animations[ name ] = this.animations[ i ] = clips[ i ];
only this.animations[ name ] is use
i think is better like that
this.animations[ name ] = clips[ i ];
this.animations[ i ] = name;

but is strange to add items in array like object

this.animationsData[ name ] is for what ?

i try to add some function :
animation mirror : create clone flip animation ( for walk side for example )
and animation from bvh : create animation clip from BVH sequence
28th September 2016 - 07:35:25 AM
or maybe
this.animations = {};
and for each clips
this.animations[ clips[ i ].name ] = clips[ i ];

getStateNameByIndex and getStateByName function is not used
28th September 2016 - 06:18:15 PM
The idea is to trigger the animation with `mesh.play(0)` or `mesh.play(1)` too but it is possible to separate `animations` and indexes for example. I will see what I can do to improve this.

this.animationsData[ name ] is for what ?


This call `onComplete` methods:
https://github.com/mrdoob/three.js/blob/dev/examples/webgl_loader_sea3d_skinning.html#L100

animation mirror : create clone flip animation ( for walk side for example )
and animation from bvh : create animation clip from BVH sequence


This is great. I was thinking to do this with the BVH but I not started. Do you need any help?
29th September 2016 - 05:29:57 AM
yes for bvh i think is better to compress with lzma ( bvh can be hudge )
generaly i use https://github.com/nmrugg/LZMA-JS
but i try to use sea3d lzma without success

i also try to add a extra dynamics track on top of animation
for control some bones by script with physics or kinematics.
Example for a fps i need control head mouvement or arm separately,
and keep legs animations.

for onComplete maybe add to skin onCompleteAnimations when all animations is loaded.
for play(0) is possible to call on play function if argument is number get the n of object.
2nd October 2016 - 11:51:58 PM
but i try to use sea3d lzma without success


I would need to use the `TextDecoder` and `SEA3D.File.LZMAUncompress` to work. Maybe `new TextDecoder("utf-8").decode( SEA3D.File.LZMAUncompress( lzmaUint8Array ))`

https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder

play(0) is possible to call on play function if argument is number get the n of object.


I am also thinking of doing this.

animation from bvh : create animation clip from BVH sequence


About this, you came to see if it helps?
https://threejs.org/examples/?q=bvh#webgl_loader_bvh
3rd October 2016 - 08:05:42 PM
yes i have to look this bvh demo

here my last preset
http://lo-th.github.io/root/blending2/

now i have final settings for skeleton workflow in 3ds. ( allways use triangle for pelvis and neck )
sadelly i don't find a a way to attache model on root (0,0,0) bone
so i attach new bone to biped, anyway biped bone need to be rename (bvh don't like space in bone name )

files have many animations and that take lot of space 1.7 mo with meshs
i think i can divide by two, each model have same animations and skin.
final-1
4th October 2016 - 04:57:53 AM
Thanks for share!
I shared the animation `man` with the `woman` using SEA3D Studio 1.8 release not yet published and work done!
I hope to finish a loader of `BHV` to `SEA3D Skeleton Animation` until the official release to minimize the size and optimize the load speed. The standard of names for the bones is very important to this. I can use their names?
avatar-shared-skeleton
4th October 2016 - 07:52:42 AM
yes
current name of bone is the best i think
is a mix between bvh default name and usefull javascript control

i send you the correspondence between biped sandard name and best bone

some tips
never use pelvis bone
use spine with 3 bone (bvh standard)

i'm also on complete normal/displacement map for muscular (the white lines)

pelvis zone skin enveloppe is hard i try to find best
4th October 2016 - 10:07:57 AM
bvh loader from three is prety good
but it can be hard to attach to sea skin

one problems is bone order maybe is possible to add to sea exporter a tool like animation but for change bones order or maybe by script ... have to try

bone name is not good, anyway is the bone order the main control, name is not used in animation only like referency.
15th October 2016 - 07:33:43 AM
http://lo-th.github.io/root/blending2/index.html
Near final model i change skeleton
finaly pelvis is need for Hips rotation i send you final preset for skeleton
model

Help