<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2047956552770614796</id><updated>2012-02-03T06:52:29.743-08:00</updated><category term='C++'/><category term='3D works'/><category term='Animations'/><category term='Maxscript'/><title type='text'>"Automating the world"</title><subtitle type='html'>Character TD blog.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-3732827050756768316</id><published>2012-01-31T13:12:00.000-08:00</published><updated>2012-01-31T13:18:13.502-08:00</updated><title type='text'>The Witcher 2: Assassins Of Kings Video Game Trailer - Still Frames</title><content type='html'>Some stills from The Witcher Trailer...
resolution is quite high 1920/1080.

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://dl.dropbox.com/u/9290060/W2_Intro_12.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="216" width="384" src="http://dl.dropbox.com/u/9290060/W2_Intro_12.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://dl.dropbox.com/u/9290060/W2_Intro_10.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="216" width="384" src="http://dl.dropbox.com/u/9290060/W2_Intro_10.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://dl.dropbox.com/u/9290060/W2_Intro_09.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="216" width="384" src="http://dl.dropbox.com/u/9290060/W2_Intro_09.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://dl.dropbox.com/u/9290060/W2_Intro_07.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="216" width="384" src="http://dl.dropbox.com/u/9290060/W2_Intro_07.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://dl.dropbox.com/u/9290060/W2_Intro_11.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="216" width="384" src="http://dl.dropbox.com/u/9290060/W2_Intro_11.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-3732827050756768316?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/3732827050756768316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2012/01/witcher-trailer-still-frames.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/3732827050756768316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/3732827050756768316'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2012/01/witcher-trailer-still-frames.html' title='The Witcher 2: Assassins Of Kings Video Game Trailer - Still Frames'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-2294801375091791034</id><published>2012-01-27T01:51:00.000-08:00</published><updated>2012-01-27T02:43:50.421-08:00</updated><title type='text'>The Witcher 2: Assassins Of Kings Video Game Trailer</title><content type='html'>Here You Go ! &lt;br /&gt;
Another Cinematic From Platige Image !! &lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: black; width: 520px;"&gt;&lt;div style="padding: 4px;"&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" base="." flashvars="" height="288" src="http://media.mtvnservices.com/mgid:moses:video:gametrailers.com:726181" type="application/x-shockwave-flash" width="512"&gt;&lt;/embed&gt;&lt;br /&gt;
&lt;div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-bottom: 0px; margin-top: 4px; padding: 4px; text-align: left;"&gt;Get More: &lt;a href="http://www.gametrailers.com/"&gt;GameTrailers.com&lt;/a&gt;, &lt;a href="http://www.gametrailers.com/video/exclusive-console-release/726181"&gt;The Witcher 2 - Exclusive Console Release Date Announcement Trailer HD&lt;/a&gt;, &lt;a href="http://pc.gametrailers.com/"&gt;PC Games&lt;/a&gt;, &lt;a href="http://ps3.gametrailers.com/"&gt;PlayStation 3&lt;/a&gt;, &lt;a href="http://xbox360.gametrailers.com/"&gt;Xbox 360&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
My Role on this trailer is Senior Technical Director.&lt;br /&gt;
- character rigging&lt;br /&gt;
- animation pipeline design and tools developement&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-2294801375091791034?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/2294801375091791034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2012/01/witcher-2-assassins-of-kings-video-game.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2294801375091791034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2294801375091791034'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2012/01/witcher-2-assassins-of-kings-video-game.html' title='The Witcher 2: Assassins Of Kings Video Game Trailer'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-3750383784448973029</id><published>2011-12-02T01:49:00.000-08:00</published><updated>2011-12-02T01:49:33.436-08:00</updated><title type='text'>"Paths Of Hate" shortlisted by The Adcademy !!</title><content type='html'>http://www.oscars.org/press/pressreleases/2011/20111201a.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-3750383784448973029?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/3750383784448973029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/12/paths-of-hate-shortlisted-by-adcademy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/3750383784448973029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/3750383784448973029'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/12/paths-of-hate-shortlisted-by-adcademy.html' title='&quot;Paths Of Hate&quot; shortlisted by The Adcademy !!'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-8090940159798987073</id><published>2011-11-02T21:27:00.000-07:00</published><updated>2011-11-02T21:27:58.298-07:00</updated><title type='text'>1956 Kids Fears (Platige Image)</title><content type='html'>My Role: Character Rigging

&lt;iframe src="http://player.vimeo.com/video/18270075?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="400" height="320" frameborder="0" webkitAllowFullScreen allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/18270075"&gt;1956 Kids Fears&lt;/a&gt; from &lt;a href="http://vimeo.com/platigeimage"&gt;Platige Image&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-8090940159798987073?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/8090940159798987073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/11/1956-kids-fears.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8090940159798987073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8090940159798987073'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/11/1956-kids-fears.html' title='1956 Kids Fears (Platige Image)'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-5434252309404712582</id><published>2011-11-02T21:17:00.001-07:00</published><updated>2011-11-02T21:17:47.072-07:00</updated><title type='text'>KELLOGG'S CHOC'N'ROLLS (Platige Image)</title><content type='html'>My Role: Character Rigging

&lt;iframe src="http://player.vimeo.com/video/25807874?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="400" height="225" frameborder="0" webkitAllowFullScreen allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/25807874"&gt;KELLOGG'S CHOC'N'ROLLS&lt;/a&gt; from &lt;a href="http://vimeo.com/platigeimage"&gt;Platige Image&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-5434252309404712582?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/5434252309404712582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/11/kelloggs-chocnrolls-platige-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/5434252309404712582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/5434252309404712582'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/11/kelloggs-chocnrolls-platige-image.html' title='KELLOGG&apos;S CHOC&apos;N&apos;ROLLS (Platige Image)'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-7496767979839867768</id><published>2011-11-02T21:15:00.000-07:00</published><updated>2011-11-02T21:15:04.519-07:00</updated><title type='text'>Prezydencja (Platige Image)</title><content type='html'>My role: Character rigging, animation pipeline.

&lt;iframe src="http://player.vimeo.com/video/25650980?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="400" height="225" frameborder="0" webkitAllowFullScreen allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/25650980"&gt;PREZYDENCJA 180s&lt;/a&gt; from &lt;a href="http://vimeo.com/platigeimage"&gt;Platige Image&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-7496767979839867768?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/7496767979839867768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/11/prezydencja-platige-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/7496767979839867768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/7496767979839867768'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/11/prezydencja-platige-image.html' title='Prezydencja (Platige Image)'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-1018867896800274118</id><published>2011-10-27T02:07:00.000-07:00</published><updated>2011-10-27T02:09:54.926-07:00</updated><title type='text'>Fastest 'By Name' Selection in 3dsmax... I think so...</title><content type='html'>PathName Values, Pathname Literals
...

Looks pretty ugly but is much faster then 
iterating over scene nodes and comparing names using matchpattern.


&lt;pre class="brush: java;" name="code"&gt;
someString= "*NodeName*"
select (execute ("$'"+someString+"'"))
select $'*NodeName*'
&lt;/pre&gt;

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.

&lt;pre class="brush: java;" name="code"&gt;
$'NodeName 0:NodeName__CTRL'/* as array

$dummy/head/neck
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-1018867896800274118?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/1018867896800274118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/10/fastest-by-name-selection-in-3dsmax-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/1018867896800274118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/1018867896800274118'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/10/fastest-by-name-selection-in-3dsmax-i.html' title='Fastest &apos;By Name&apos; Selection in 3dsmax... I think so...'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-3778036996717458506</id><published>2011-07-05T02:28:00.000-07:00</published><updated>2011-07-12T08:34:23.063-07:00</updated><title type='text'>MeshWrap</title><content type='html'>Workmate asked me yesterday to write a script that will helphim to keep &lt;br /&gt;
offset between cloth layers in his models.&lt;br /&gt;
Here is the script. Nothing fancy and no gui for now. &lt;br /&gt;
Will try to update later.&lt;br /&gt;
&lt;br /&gt;
Script wraps mesh woth specified distance and&lt;br /&gt;
will try to keep initial shape after wrap is done.&lt;br /&gt;
entire script below:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: java;" name="code"&gt;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) &lt; _distThreshold do (
     _mat = matrixfromnormal _n
     _hitPos = _coll[1].pos 
     _off = [0,0,_dist]
     _offPos = _off * _mat
     _pushPos =  if dir &lt; 0 then (_hitPos - _offPos)  else (_hitPos + _offPos)  
     _shape = _v - _hitPos 
     _shaped =  if dir &lt; 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 &gt; 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
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-3778036996717458506?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/3778036996717458506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/07/meshwrap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/3778036996717458506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/3778036996717458506'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/07/meshwrap.html' title='MeshWrap'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-6234610976132314852</id><published>2011-06-19T03:57:00.000-07:00</published><updated>2011-06-19T03:57:11.719-07:00</updated><title type='text'>Move Your Imagination - EURO 2012 trailer</title><content type='html'>Character rigging for this nice project...&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://player.vimeo.com/video/20604473?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="400" height="225" frameborder="0"&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/20604473"&gt;MOVE YOUR IMAGINATION - EURO 2012 trailer 45s&lt;/a&gt; from &lt;a href="http://vimeo.com/platigeimage"&gt;Platige Image&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-6234610976132314852?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/6234610976132314852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/move-your-imagination-euro-2012-trailer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/6234610976132314852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/6234610976132314852'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/move-your-imagination-euro-2012-trailer.html' title='Move Your Imagination - EURO 2012 trailer'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-7330538776458355853</id><published>2011-06-19T03:21:00.001-07:00</published><updated>2011-11-02T21:20:45.779-07:00</updated><title type='text'>Move Your Imagination - Tourism</title><content type='html'>Another production of Platige Image I did some work for few motnhs ago.&lt;br /&gt;
For this trailer my responisbilities include: rigging of all creatures.&lt;br /&gt;
&lt;br /&gt;
Big thanks to modelers for clean and even topology of characters !!&lt;br /&gt;
&lt;br /&gt;
As a part of rigging i wrote a plugin for 3dsmax to keep eyes of &lt;br /&gt;
the character following its head geometry. &lt;br /&gt;
Rigs used in this prodction were quite complex, I'll try to post &lt;br /&gt;
some videos later.&lt;br /&gt;
&lt;br /&gt;
Characters were rigged with CAT plus some custom rigging on top of it.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://player.vimeo.com/video/22025085?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="400" height="225" frameborder="0" webkitAllowFullScreen allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/22025085"&gt;MOVE YOUR IMAGINATION Tourism&lt;/a&gt; from &lt;a href="http://vimeo.com/platigeimage"&gt;Platige Image&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-7330538776458355853?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/7330538776458355853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/move-your-imagination-tourism-trailer_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/7330538776458355853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/7330538776458355853'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/move-your-imagination-tourism-trailer_19.html' title='Move Your Imagination - Tourism'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-3710872936194677805</id><published>2011-06-19T03:21:00.000-07:00</published><updated>2011-11-02T21:22:34.551-07:00</updated><title type='text'>Move Your Imagination - Nature</title><content type='html'>Modeling and rigging characters for this project.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://player.vimeo.com/video/22027280?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="400" height="225" frameborder="0" webkitAllowFullScreen allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/22027280"&gt;MOVE YOUR IMAGINATION Nature&lt;/a&gt; from &lt;a href="http://vimeo.com/platigeimage"&gt;Platige Image&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-3710872936194677805?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/3710872936194677805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/move-your-imagination-nature-trailer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/3710872936194677805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/3710872936194677805'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/move-your-imagination-nature-trailer.html' title='Move Your Imagination - Nature'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-659048808676996726</id><published>2011-06-19T03:20:00.002-07:00</published><updated>2011-11-02T21:22:06.909-07:00</updated><title type='text'>Move Your Imagination - Dance</title><content type='html'>I did Character modeling, rigging and cloth simulation for this project.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://player.vimeo.com/video/22027314?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="400" height="225" frameborder="0" webkitAllowFullScreen allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/22027314"&gt;MOVE YOUR IMAGINATION Dance stage design&lt;/a&gt; from &lt;a href="http://vimeo.com/platigeimage"&gt;Platige Image&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-659048808676996726?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/659048808676996726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/move-your-imagination-dance-trailer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/659048808676996726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/659048808676996726'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/move-your-imagination-dance-trailer.html' title='Move Your Imagination - Dance'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-2023038041445741278</id><published>2011-06-03T00:32:00.000-07:00</published><updated>2011-06-03T00:34:09.481-07:00</updated><title type='text'>The Witcher 2 E3 2011 Teaser</title><content type='html'>New trailer Created by Platige Image.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color:#000000;width:520px;"&gt;&lt;div style="padding:4px;"&gt;&lt;embed src="http://media.mtvnservices.com/mgid:moses:video:gametrailers.com:714516" width="512" height="288" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" base="." flashVars=""&gt;&lt;/embed&gt;&lt;p style="text-align:left;background-color:#FFFFFF;padding:4px;margin-top:4px;margin-bottom:0px;font-family:Arial, Helvetica, sans-serif;font-size:12px;"&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-2023038041445741278?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/2023038041445741278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/witcher-2-e3-2011-teaser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2023038041445741278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2023038041445741278'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/06/witcher-2-e3-2011-teaser.html' title='The Witcher 2 E3 2011 Teaser'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-6155027828381604036</id><published>2011-03-13T05:35:00.000-07:00</published><updated>2011-03-13T06:22:20.125-07:00</updated><title type='text'>How to Obtain Cat LayerTransform node for CatParent</title><content type='html'>Simple mxs function demonstrates how to get LayerTransfom node for specified &lt;br /&gt;
CatParent.&lt;br /&gt;
&lt;br /&gt;
CatParent,CatBone object as input.&lt;br /&gt;
Returns undefined value on error.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: java;" name="code"&gt;fn GetLayerTransformNodeForParent cat_parent = (
 
 if (classof cat_parent) != CATParent do (
  if hasproperty cat_parent.controller "CATParent" then 
   cat_parent = cat_parent.controller.CatParent
  else
   return undefined
 )
 if not (isValidNode cat_parent)  do  (
  return undefined
 )
 
 _ptrn = "*LayerTransform"
 _TransformNodes = #()
 
 for i in helpers do (

  if (matchpattern i.name pattern:_ptrn) do (
   append _TransformNodes i 
  )
 )
 
 _found_parent = undefined
 
 for i in _TransformNodes do (
  _refs = (refs.dependents i)
  _arrIndex = finditem _refs cat_parent.controller
  if _arrIndex != 0 do (
   _found_parent  = i
  )
 )
 
 if (isValidNode _found_parent) do  (
  select _found_parent 
 )
 _found_parent 
)
GetLayerTransformNodeForParent selection[1]
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-6155027828381604036?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/6155027828381604036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/03/how-to-obtain-cat-layertransform-node.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/6155027828381604036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/6155027828381604036'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/03/how-to-obtain-cat-layertransform-node.html' title='How to Obtain Cat LayerTransform node for CatParent'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-2354973989176561025</id><published>2011-03-07T07:06:00.000-08:00</published><updated>2011-03-07T07:06:59.889-08:00</updated><title type='text'>Toggle SceneExplorer   script</title><content type='html'>Simple script switches back and forth between scene explorer types.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: java;" name="code"&gt;fn ToggleSceneExplorerType = (
currentDefaults = ((getdir #maxData) + "defaults\\MAX\\CurrentDefaults.ini")
if currentDefaults  != undefined and (doesfileexist currentDefaults ) do (
  inputValue = getIniSetting currentDefaults "Scene explorer" "SelectByNameUsesSceneExplorer"
 if inputValue == "1" then (
  setIniSetting currentDefaults "Scene explorer" "SelectByNameUsesSceneExplorer" "0"
 )else(
  setIniSetting currentDefaults "Scene explorer" "SelectByNameUsesSceneExplorer" "1"
 )
)
)
ToggleSceneExplorerType()
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-2354973989176561025?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/2354973989176561025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/03/toggle-sceneexplorer-script.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2354973989176561025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2354973989176561025'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/03/toggle-sceneexplorer-script.html' title='Toggle SceneExplorer   script'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-7329964160196685684</id><published>2011-02-28T05:57:00.000-08:00</published><updated>2011-02-28T05:57:50.535-08:00</updated><title type='text'>MOVE YOUR IMAGINATION part of campaign at ITB Berlin</title><content type='html'>New production at Platige Image I'v been involved in. More info when entire films are published.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="224" src="http://player.vimeo.com/video/20350316?title=0&amp;amp;byline=0&amp;amp;portrait=0" width="398"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/33aa275a7657dd3511cc7da6e38d1fb6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="172" src="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/33aa275a7657dd3511cc7da6e38d1fb6.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/c0a1cdb2f20c551b58b5dc520c32238d.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/c0a1cdb2f20c551b58b5dc520c32238d.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/e7a8aa4d434010ceb780b820d1bcfbe3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/e7a8aa4d434010ceb780b820d1bcfbe3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/057ddf12fc217fa5fdbde1933e99a21d.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/057ddf12fc217fa5fdbde1933e99a21d.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/ba5f29e3bb06af5a584e2165f436efbc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/ba5f29e3bb06af5a584e2165f436efbc.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/acff73a56bdef53ddaccea07950efafb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://behance.vo.llnwd.net/profiles7/339011/projects/1049875/acff73a56bdef53ddaccea07950efafb.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-7329964160196685684?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/7329964160196685684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2011/02/move-your-imagination-part-of-campaign.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/7329964160196685684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/7329964160196685684'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2011/02/move-your-imagination-part-of-campaign.html' title='MOVE YOUR IMAGINATION part of campaign at ITB Berlin'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-2585219061276399842</id><published>2010-11-19T00:52:00.000-08:00</published><updated>2010-11-19T09:35:13.142-08:00</updated><title type='text'>3dsmax To Motionbuilder Communication</title><content type='html'>&amp;nbsp;Simple Struct written in maxscript to send python commands to motionbuilder.&lt;br /&gt;
Struct can be extended to any commands set. Minimal example, supporting only open command, below. Tested with 3dsmax 2011 and motionbuilder 2011. &lt;br /&gt;
&lt;pre class="brush: java;" name="code"&gt;/*Motionbuilder Python Commands Sender For 3dmsax
 Author: Bartosz Opatowiecki
 Website: http://cgbartosz.blogspot.com*/

 struct MotionbilderCommandPortStruct (

  public 
   /* constructor parameters */
   address = "127.0.0.1",
   port = 4242,

  private
   /* Implementation */
  
   dnAddr = dotnetclass "Net.Sockets.AddressFamily",
   dnSock = dotnetclass "Net.Sockets.SocketType",
   dnProt = dotnetclass "Net.Sockets.ProtocolType",
   dnflag = dotnetclass "Net.Sockets.SocketFlags",
   dnsocket = dotnetobject "Net.Sockets.Socket" \
           dnAddr.InterNetwork dnSock.Stream dnProt.tcp,
   dnencode = dotnetclass "System.Text.Encoding",
   newLineWait = .5,
   encoding = "ASCII",
  
   cmdImportEnv = "from pyfbsdk import FBFbxManager, FBApplication \n",
  
  fn _Wait = sleep(newLineWait),
  
  fn _ReplaceSlashes filePath = (
   (dotnetobject "System.String" filePath).replace "\\" "/"
  ),
  
  fn _ConvertStringToBytesArr _string = (
   (dnencode.GetEncoding encoding).getbytes (dotnetobject "System.String" _string)
  ),
  
  fn _SendCommand &amp;commandLinesArray= (
   dnsocket.Connect address port

   for command in commandLinesArray do (
    command_bits = _ConvertStringToBytesArr command 
    _Wait()
    dnsocket.Send command_bits command_bits.count dnflag.None 
   )
  ),
  
  public 
  /* Client Interface */
  
  fn SendOpenFile filePath = (
   pth = _ReplaceSlashes filePath 
   cmd = #(cmdImportEnv,"FBApplication().FileOpen(\""+pth+"\")\n") 
   _sendCommand &amp;cmd 
  ),
  
  fn Send &amp;commandLinesArray = _sendCommand &amp;commandLinesArray
   
 )
 /*
 fn SendOpenFileTest = (
  (MotionbilderCommandPortStruct()).SendOpenFile "C:\\test.fbx"
 )
 SendOpenFileTest()
 */
 
 &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-2585219061276399842?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2585219061276399842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2585219061276399842'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/11/dotnet-3dsmax-to-motionbuilder.html' title='3dsmax To Motionbuilder Communication'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-1767576852709992865</id><published>2010-10-15T00:29:00.000-07:00</published><updated>2010-10-15T00:31:20.224-07:00</updated><title type='text'>"Animated Guide To Polish Success" published on the internet !</title><content type='html'>Animation created by Platige Image.&lt;br /&gt;
I had a pleasure to setup few shots with crowds for this show. Believe me or not, but I found crowd simulator in 3dsmax usless even for such a simple animation.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;click on the link below to watch it on youtube. &lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=nc6Jtk_l_ZQ"&gt;http://www.youtube.com/watch?v=nc6Jtk_l_ZQ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-1767576852709992865?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/1767576852709992865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/1767576852709992865'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/10/animated-guide-to-polish-success.html' title='&quot;Animated Guide To Polish Success&quot; published on the internet !'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-2578637842719792909</id><published>2010-08-15T13:25:00.000-07:00</published><updated>2010-08-15T13:28:59.355-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Real time Cloth plugin for 3dsmax.</title><content type='html'>I had some time this weekend and implemented simple cloth in C++ as 3dsmax plugin.&lt;br /&gt;
It supports collisions with spheres just for now.&lt;br /&gt;
Video doesn't show real frame rate because of capturing software.&lt;br /&gt;
It's about 70 fps with 60*60 vertices and&amp;nbsp; 120 fps with 30*30 vertices.&lt;br /&gt;
Plugin is working with all available cores, 4 in my case. &lt;br /&gt;
With 4 threads it gained 10 frames per second.&lt;br /&gt;
Here is the Video:&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/9290060/realtimecloth.avi"&gt;Videocapture from 3dsmax viewport (9mb)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_gRhPhfNT_xQ/TGhMPv9HvwI/AAAAAAAAAD0/7Enr7b_HTyY/s1600/cloth.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_gRhPhfNT_xQ/TGhMPv9HvwI/AAAAAAAAAD0/7Enr7b_HTyY/s320/cloth.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-2578637842719792909?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2578637842719792909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2578637842719792909'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/08/real-time-cloth-3dsmax-plugin.html' title='Real time Cloth plugin for 3dsmax.'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_gRhPhfNT_xQ/TGhMPv9HvwI/AAAAAAAAAD0/7Enr7b_HTyY/s72-c/cloth.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-4269996542122765525</id><published>2010-08-11T09:34:00.000-07:00</published><updated>2010-08-15T13:29:54.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D works'/><title type='text'>Back to modeling... Part I.</title><content type='html'>I have not been modeling creatures in almost three years and &lt;br /&gt;
decided to model one.&lt;br /&gt;
New updates soon...&amp;nbsp; Some renders below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/9290060/ludek_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://dl.dropbox.com/u/9290060/ludek_001.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/9290060/ludek_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://dl.dropbox.com/u/9290060/ludek_002.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-4269996542122765525?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/4269996542122765525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/4269996542122765525'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/08/back-to-modeling-part-i.html' title='Back to modeling... Part I.'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-4992877132571561269</id><published>2010-08-11T08:51:00.000-07:00</published><updated>2010-08-15T13:30:26.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Animations'/><title type='text'>"Animated history of poland" published on the internet !</title><content type='html'>click on the link below to watch it on youtube. &lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=2DrXgj1NwN8&amp;amp;feature=player_embedded"&gt;Animated History Of Poland On Youtube&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-4992877132571561269?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/4992877132571561269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/4992877132571561269'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/08/animated-history-of-poland-published-on.html' title='&quot;Animated history of poland&quot; published on the internet !'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-2667927868903412833</id><published>2010-07-14T11:31:00.000-07:00</published><updated>2010-10-16T02:10:05.427-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Animations'/><title type='text'>"Animated history of poland" - Platige Image</title><content type='html'>As a character TD for this project I rigged all these characters and horses !!&lt;br /&gt;
&lt;a href="http://www.platige.com/"&gt;We&lt;/a&gt; ended up with few hundreds of variations of rigged and textured character assets. Even with maxscript tools I wrote to streamline the process, assembling all of this shots was a challange to me.&lt;br /&gt;
&lt;br /&gt;
Short article on animationblog can be found &lt;a href="http://www.animationblog.org/2010/05/tomasz-baginski-animated-history-of.html"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;embed allowfullscreen="true" allowscriptaccess="always" height="380" src="http://blip.tv/play/gdUjgduLZQA%2Em4v" type="application/x-shockwave-flash" width="507"&gt;&lt;/embed&gt;&lt;span style="font-family: georgia;"&gt;&lt;span style="font-family: 'Georgia','serif';"&gt;&lt;a href="http://community.platige.com/news/349?lng=en"&gt;&lt;span style="color: blue; letter-spacing: 1pt;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #6c6969;"&gt; &lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;a href="http://www.platige.com/"&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;&lt;/a&gt;.  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-2667927868903412833?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2667927868903412833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/2667927868903412833'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/animated-history-of-poland-platige_04.html' title='&quot;Animated history of poland&quot; - Platige Image'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-8651087257491812765</id><published>2010-07-04T13:10:00.001-07:00</published><updated>2010-07-04T13:20:34.772-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Animations'/><title type='text'>"The Kinematograph" - Platige Image</title><content type='html'>For "The kinematograph" short film by Tomek Baginski I was responsible for process of rigging main characters, Elizabeth and Francis and supervising rigging of other characters. Also shot assembling and some scripted tools that were created to streamline the process. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC9lFidCrdI/AAAAAAAAAB8/xoTgm9viTPo/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC9lFidCrdI/AAAAAAAAAB8/xoTgm9viTPo/s320/3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC9lKJ74xkI/AAAAAAAAACE/gVwIuKZsvto/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC9lKJ74xkI/AAAAAAAAACE/gVwIuKZsvto/s320/2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_gRhPhfNT_xQ/TC9lPMAjfHI/AAAAAAAAACM/F0A9EOACxX4/s1600/7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_gRhPhfNT_xQ/TC9lPMAjfHI/AAAAAAAAACM/F0A9EOACxX4/s320/7.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
link to official &lt;a href="http://www.thekinematograph.com/"&gt;website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-8651087257491812765?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8651087257491812765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8651087257491812765'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/kinematograph-platige-image.html' title='&quot;The Kinematograph&quot; - Platige Image'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC9lFidCrdI/AAAAAAAAAB8/xoTgm9viTPo/s72-c/3.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-8089980035381575571</id><published>2010-07-04T13:09:00.003-07:00</published><updated>2010-07-04T13:20:34.776-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Animations'/><title type='text'>"The Ark" short film</title><content type='html'>For "The Ark" &lt;a href="http://www.thearkfilm.com/"&gt;short&lt;/a&gt; film&amp;nbsp; I created few character models which can be seen in the &lt;br /&gt;
background, one of the main characters "the nurse" and few props.&lt;br /&gt;
One character left unused and here it is. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_gRhPhfNT_xQ/TC8Z1xWGbDI/AAAAAAAAAAM/YBucpAl2Ga0/s1600/the_ark_sokol_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_gRhPhfNT_xQ/TC8Z1xWGbDI/AAAAAAAAAAM/YBucpAl2Ga0/s320/the_ark_sokol_1.jpg" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC8Z3HE0KNI/AAAAAAAAAAU/zw5RJhaU67Y/s1600/the_ark_sokol_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC8Z3HE0KNI/AAAAAAAAAAU/zw5RJhaU67Y/s320/the_ark_sokol_2.jpg" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_gRhPhfNT_xQ/TC8Z4nOPd0I/AAAAAAAAAAc/0VLxIjSuJMY/s1600/the_ark_sokol_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_gRhPhfNT_xQ/TC8Z4nOPd0I/AAAAAAAAAAc/0VLxIjSuJMY/s320/the_ark_sokol_3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-8089980035381575571?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8089980035381575571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8089980035381575571'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/ark-short-film_04.html' title='&quot;The Ark&quot; short film'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_gRhPhfNT_xQ/TC8Z1xWGbDI/AAAAAAAAAAM/YBucpAl2Ga0/s72-c/the_ark_sokol_1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-8837813262547807453</id><published>2010-07-04T13:09:00.001-07:00</published><updated>2010-07-04T13:20:34.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Animations'/><title type='text'>"The Witcher" cinematics - Platige Image</title><content type='html'>Some time ago, I created rigs and models for few characters in&lt;br /&gt;
cinematics for "The Witcher" game by CdProjekt. I was also responsible &lt;br /&gt;
for the animation pipeline and cloth simms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some of the models can be seen &lt;a href="http://community.platige.com/thewitcher/default.aspx"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Both, modeling and rigging of these characters. Also simulating cloth in this shot and few others.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC9BvzTVxdI/AAAAAAAAABo/dwHjjtph-Es/s1600/the_witcher_witchers.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC9BvzTVxdI/AAAAAAAAABo/dwHjjtph-Es/s320/the_witcher_witchers.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;rig and medium poly geometry for this character. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_gRhPhfNT_xQ/TC9BWakme8I/AAAAAAAAABY/B85J4YzSg_c/s1600/the_witcher_strzyga.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_gRhPhfNT_xQ/TC9BWakme8I/AAAAAAAAABY/B85J4YzSg_c/s320/the_witcher_strzyga.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The trailers, I don't really like that you tube stuff but couldn't find  better videos yet.&lt;br /&gt;
&lt;br /&gt;
&lt;object height="385" width="507"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QOac7t4kSUI&amp;amp;hl=pl_PL&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/QOac7t4kSUI&amp;amp;hl=pl_PL&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="507" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height="385" width="507"&gt;&lt;param name="movie" value="http://www.youtube.com/v/x89WWINIRLQ&amp;amp;hl=pl_PL&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/x89WWINIRLQ&amp;amp;hl=pl_PL&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="507" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height="385" width="507"&gt;&lt;param name="movie" value="http://www.youtube.com/v/a9msV9KkWj4&amp;amp;hl=pl_PL&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/a9msV9KkWj4&amp;amp;hl=pl_PL&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="507" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-8837813262547807453?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8837813262547807453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8837813262547807453'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/witcher-cinematics-platige-image.html' title='&quot;The Witcher&quot; cinematics - Platige Image'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_gRhPhfNT_xQ/TC9BvzTVxdI/AAAAAAAAABo/dwHjjtph-Es/s72-c/the_witcher_witchers.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-5421926196445104530</id><published>2010-07-03T09:34:00.000-07:00</published><updated>2010-07-04T13:20:34.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maxscript'/><title type='text'>Replacing save MenuItem in 3dsmax 2010 ribbonbar.</title><content type='html'>First it is neccessary to create a macroscript.&lt;br /&gt;
This macro will be our CommandHandler for the Ribbonbar MenuItem.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: c-sharp;" name="code"&gt;macroScript MacroName category:"MacroCategory" tooltip:"does something incredibly usefull."
(
Messagebox "What's Up, Doc?"
)
&lt;/pre&gt;now, to replace default commandHandler with our macro, we have to edit AplicationMenu.xaml manually. It is located under Drive:\MaxRoot\ui directory.&lt;br /&gt;
&lt;br /&gt;
default entry:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: c-sharp;" name="code"&gt;&lt;applicationmenuitem Text="Save" Id="Save"
   KeyTip="S"
   LargeImage="Icons/ApplicationMenu/Save_32.ico"
   Description="Saves the current 3ds Max file."
         CommandHandler="{wpfmax:ActionItem TableId=0, ActionId=40006}"/&gt;
&lt;/pre&gt;and the changed one:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: c-sharp;" name="code"&gt;&lt;applicationmenuitem Text="Save" Id="Save"
   KeyTip="S"
   LargeImage="Icons/ApplicationMenu/Save_32.ico"
   Description="Shows a messagebox."
         CommandHandler="{wpfmax:ActionItem MacroCategory=MacroCategory, MacroName=MacroName}"/&gt;
&lt;/pre&gt;Once max is restarted and macro is accessible, this example will override default File-&gt;Save command invocation and will show Messagebox instead &lt;br /&gt;
of standard open/save dialog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-5421926196445104530?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/5421926196445104530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/kinematograph.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/5421926196445104530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/5421926196445104530'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/kinematograph.html' title='Replacing save MenuItem in 3dsmax 2010 ribbonbar.'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-8089050896771563649</id><published>2010-07-03T05:01:00.000-07:00</published><updated>2010-07-04T13:20:34.223-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maxscript'/><title type='text'>Creating reactor hinge on selected objects</title><content type='html'>This simple maxscript creates Reactor "point to point" contraint &lt;br /&gt;
attached at the origin, on selection of objects. &lt;br /&gt;
Run it and hit simulate in Reactor menu.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: c-sharp;" name="code"&gt;fn AddPointToPointConstraintToSelectionOfObjects = (
    
    objs_arr = selection as array
    
    constraintSolver = CSolver()
    rigidBodyCollection = RBCollection()
    constraintSolver.rbCollection =     rigidBodyCollection
    
    for i=1 to objs_arr.count  do (
        
        PointToPoint = Point_Point()
        PointToPoint.hasParent = false
        PointToPoint.childBody = objs_arr[i]
        constraintSolver.AddConstraint PointToPoint
        rigidBodyCollection.AddRigidBody objs_arr[i]
        PointToPoint.parentTransform =  matrix3 1
        PointToPoint.alignToParentSpace()
        
    )
    
    for Bodyindex=1 to rigidBodyCollection.rigidBodies.count  do (
        
        RBCollectionInterface = rigidBodyCollection.rctRBCollectionInterface
        rigidBodyObject = RBCollectionInterface.getRigidObject Bodyindex
        rigidBodyObject.mass = 10
        
    )
)
AddPointToPointConstraintToSelectionOfObjects()&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-8089050896771563649?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/8089050896771563649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/animated-history-of-poland-platige.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8089050896771563649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8089050896771563649'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/animated-history-of-poland-platige.html' title='Creating reactor hinge on selected objects'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-7629601766098436379</id><published>2010-07-03T04:11:00.000-07:00</published><updated>2010-07-04T13:20:34.227-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maxscript'/><title type='text'>Implementing command factory in maxscript</title><content type='html'>For this example Only Structs Implementing Exec function can be registered&lt;br /&gt;
within the factory.&lt;br /&gt;
&lt;br /&gt;
Command pattern code:&lt;br /&gt;
&lt;pre class="brush: java;" name="code"&gt;struct BasicCommandStruct(
fn Exec = (
Messagebox "I Got Called\nHurray!"
)
)
&lt;/pre&gt;&lt;br /&gt;
The factory:&lt;br /&gt;
&lt;pre class="brush: java;" name="code"&gt;struct CommandStruct (
command_struct = undefined,
command_name = undefined
)

struct CommandFactory (
commands = #(),

fn Create command_name = (
CommandStructFound = for i in commands where i.command_name == command_name collect i.command_struct
if CommandStructFound.count == 1 do (
return (CommandStructFound[1])()
)
undefined
),

fn getTypesNames = (
commands_names = for i in commands collect i.command_name
commands_names
),

fn RegisterCommand command command_name = (
new_command = CommandStruct command command_name
append commands new_command 
)
)
&lt;/pre&gt;&lt;br /&gt;
Example usage in the rollout:&lt;br /&gt;
&lt;pre class="brush: java;" name="code"&gt;rollout FactoryRollout "Factory Rollout"  (
local _commandFactory =  CommandFactory()

group "Create Setup" (
dropdownlist ddl_choose ""
button btn_Invoke "Invoke" width:200
)

on FactoryRollout open do (
_commandFactory.RegisterCommand BasicCommandStruct "BasicCommandStruct"
ddl_choose.items = _commandFactory.getTypesNames()
)

on btn_Invoke pressed do (
local command = _commandFactory.Create ddl_choose.selected
if command == undefined do (
messagebox "Command Not Found"
return False 
)
command.Exec()
)

)
&lt;/pre&gt;&lt;br /&gt;
Rollout invoker:&lt;br /&gt;
&lt;pre class="brush: java;" name="code"&gt;fn FactoryRolloutInvoker = (
    try(
        createDialog FactoryRollout width:220
    )
    catch(
        messagebox "Error Creating \"FactoryRollout\" Rollout" title:"FactoryRollout Error"
    )
)

FactoryRolloutInvoker()
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-7629601766098436379?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/7629601766098436379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/ark-short-film.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/7629601766098436379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/7629601766098436379'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/ark-short-film.html' title='Implementing command factory in maxscript'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2047956552770614796.post-8040167915264372637</id><published>2010-07-03T03:54:00.000-07:00</published><updated>2010-07-04T23:43:06.746-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Animations'/><title type='text'>Luna city - Imaginations</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_gRhPhfNT_xQ/TDDtkM9xRnI/AAAAAAAAADM/qIf8Rq-g0rE/s1600/Luna3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_gRhPhfNT_xQ/TDDtkM9xRnI/AAAAAAAAADM/qIf8Rq-g0rE/s320/Luna3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
This image is from project I worked on as a modeler in 2004.&lt;br /&gt;
It is opening film to Mutant Chronicles Online. It was never finished...&lt;br /&gt;
Created with 3D Studio Max5(scanline).&lt;br /&gt;
I provided most of the models for this project and some textures.&lt;br /&gt;
&lt;br /&gt;
It was great time working with Imaginations team on this project.&lt;br /&gt;
Hubert J. Daniel, Jon Hughes, Claudio Pavan, Andy Baca Kate Kurczewska, Marcin Kurczewski&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_gRhPhfNT_xQ/TDDsXnBQBxI/AAAAAAAAADE/ULNbKfZX04w/s1600/LunaCity_Cinematic.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_gRhPhfNT_xQ/TDDsXnBQBxI/AAAAAAAAADE/ULNbKfZX04w/s320/LunaCity_Cinematic.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2047956552770614796-8040167915264372637?l=cgbartosz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cgbartosz.blogspot.com/feeds/8040167915264372637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/witcher-cinematics_03.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8040167915264372637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2047956552770614796/posts/default/8040167915264372637'/><link rel='alternate' type='text/html' href='http://cgbartosz.blogspot.com/2010/07/witcher-cinematics_03.html' title='Luna city - Imaginations'/><author><name>Bartosz Opatowiecki</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_gRhPhfNT_xQ/TDDtkM9xRnI/AAAAAAAAADM/qIf8Rq-g0rE/s72-c/Luna3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
