Tuesday, January 31, 2012

The Witcher 2: Assassins Of Kings Video Game Trailer - Still Frames

Some stills from The Witcher Trailer... resolution is quite high 1920/1080.

Friday, January 27, 2012

The Witcher 2: Assassins Of Kings Video Game Trailer

Here You Go !
Another Cinematic From Platige Image !!



My Role on this trailer is Senior Technical Director.
- character rigging
- animation pipeline design and tools developement

Friday, December 2, 2011

"Paths Of Hate" shortlisted by The Adcademy !!

http://www.oscars.org/press/pressreleases/2011/20111201a.html

Wednesday, November 2, 2011

1956 Kids Fears (Platige Image)

My Role: Character Rigging

1956 Kids Fears from Platige Image on Vimeo.

KELLOGG'S CHOC'N'ROLLS (Platige Image)

My Role: Character Rigging

KELLOGG'S CHOC'N'ROLLS from Platige Image on Vimeo.

Prezydencja (Platige Image)

My role: Character rigging, animation pipeline.

PREZYDENCJA 180s from Platige Image on Vimeo.

Thursday, October 27, 2011

Fastest 'By Name' Selection in 3dsmax... I think so...

PathName Values, Pathname Literals ... Looks pretty ugly but is much faster then iterating over scene nodes and comparing names using matchpattern.
someString= "*NodeName*"
select (execute ("$'"+someString+"'"))
select $'*NodeName*'
Also it can be expanded to specific hierarchies, like this... All you need to do is to parse a valid command string and execute it.
$'NodeName 0:NodeName__CTRL'/* as array

$dummy/head/neck

Tuesday, July 5, 2011

MeshWrap

Workmate asked me yesterday to write a script that will helphim to keep
offset between cloth layers in his models.
Here is the script. Nothing fancy and no gui for now.
Will try to update later.

Script wraps mesh woth specified distance and
will try to keep initial shape after wrap is done.
entire script below:

fn WrapMesh _static _dynamic verts:undefined dir:-1 _dist:1.5 _distThreshold:4.5 _keepShape:false = (
 if verts == undefined do verts = getvertselection _dynamic
  for i in verts do (
   _v = getvert _dynamic i
   _n = (getnormal _dynamic i)*dir
   _r = ray _v _n
   _coll = intersectrayex _static _r
   
   if _coll  != undefined do (
    if (distance _coll[1].pos _v) < _distThreshold do (
     _mat = matrixfromnormal _n
     _hitPos = _coll[1].pos 
     _off = [0,0,_dist]
     _offPos = _off * _mat
     _pushPos =  if dir < 0 then (_hitPos - _offPos)  else (_hitPos + _offPos)  
     _shape = _v - _hitPos 
     _shaped =  if dir < 0 then (_pushPos + _shape) else (_pushPos - _shape)
     _trgPos = if _keepShape then _shaped else _pushPos 
     setvert _dynamic i _trgPos 
    )
   )
  )
  update _dynamic 
)

fn PushOutsideDoubled _static _dynamic _dist:.5 _distThreshold:4.5 _keepShape:false= (
 if _dynamic.modifiers.count > 0 do (
  messageBox "Remove or Collapse All Modifiers From Matching Object"
  return False
 )
 undo "Vert Push" on (
  _verts = getVertSelection _dynamic
  if _verts.count == 0 do (
   return false
  )
  
  WrapMesh _static _dynamic verts:_verts dir:-1 _dist:_dist _distThreshold:_distThreshold _keepShape:_keepShape
  meshop.flipNormals _static #{1.._static.numfaces} 
  WrapMesh _static _dynamic verts:_verts dir:1 _dist:_dist _distThreshold:_distThreshold _keepShape:_keepShape
  meshop.flipNormals _static #{1.._static.numfaces} 
  update _dynamic
 )
)

rollout WrapMeshRollout "WrapMesh" (
 spinner spn_dist "Distance To Keep"  range:[0.1,99999,.5] 
 spinner spn_thre "Distance To Ignore"  range:[0.1,99999,4.5] 
 checkbox chk_keepShape "Keep Shape" checked:true
 button btn_wrapMesh "Wrap"
 on btn_wrapMesh  pressed do (
  if selection.count != 2 do (
   messageBox "Select Only Two Editable_Mesh Objects\First Object will be modified"
   return False
  )
  if not (classof selection[1]) == Editable_mesh do (
   messageBox "First Object in Selection is not an Edtiable_Mesh Object"
   return False
  )
  if not (classof selection[2]) == Editable_mesh do (
   messageBox "Second Object in Selection is not an Edtiable_Mesh Object"
   return False
  )
  PushOutsideDoubled  selection[2] selection[1] _dist:spn_dist.value _distThreshold:spn_thre.value _keepShape:chk_keepShape.checked
 )
)
CreateDialog WrapMeshRollout