<?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-617502760843829600</id><updated>2012-01-25T01:44:36.625-08:00</updated><category term='Wii'/><category term='Pipeline'/><category term='Misc'/><category term='HP'/><category term='Hotkey Manager'/><category term='opencv'/><category term='Maya'/><category term='python'/><category term='Video'/><category term='CodeNode'/><category term='tracking'/><title type='text'>Mikkel Jans</title><subtitle type='html'>Maya Scripting</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-617502760843829600.post-4993511623443109612</id><published>2009-02-28T00:01:00.000-08:00</published><updated>2009-03-13T04:43:56.321-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tracking'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='Maya'/><category scheme='http://www.blogger.com/atom/ns#' term='opencv'/><title type='text'>Python Color Tracking</title><content type='html'>Color tracking is simple in teory, but hard to do in practice.&lt;br /&gt;It's all about finding the pixels that fit's the properties you are looking for.&lt;br /&gt;Using OpenCV and Python, makes the process alot easier:&lt;br /&gt;You can download OpenCV for Python here: &lt;a href="http://code.google.com/p/ctypes-opencv/"&gt;http://code.google.com/p/ctypes-opencv/&lt;/a&gt;&lt;br /&gt;It's OpenSource as you might guessed.&lt;br /&gt;&lt;br /&gt;Connecting to your camera is as simple as:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;# Create a Window&lt;br /&gt;cvNamedWindow("MyWindow", 1)&lt;br /&gt;# Connect to the camera&lt;br /&gt;capture = cvCreateCameraCapture(0)&lt;br /&gt;while 1:&lt;br /&gt;  # Grab the current frame from the camera&lt;br /&gt;  frame = cvQueryFrame(capture)&lt;br /&gt;  # Show the current image in MyWindow&lt;br /&gt;  cvShowImage("MyWindow", frame)&lt;br /&gt;  # Wait a bit and check any keys has been pressed&lt;br /&gt;  key = cvWaitKey(10)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;To do some simple color-tracking, create a mask with all the pixels withing a given range of colors:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# Create a 8-bit 1-channel image with same size as the frame&lt;br /&gt;color_mask = cvCreateImage(cvGetSize(frame), 8, 1)&lt;br /&gt;&lt;br /&gt;# Specify the minimum / maximum colors to look for:&lt;br /&gt;min_color = (180, 20, 200)&lt;br /&gt;max_color = (255, 255, 255)&lt;br /&gt;&lt;br /&gt;# Find the pixels within the color-range, and put the output in the color_mask&lt;br /&gt;cvInRangeS(frame, cvScalar(*min_color), cvScalar(*max_color), color_mask)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;OpenCV works in BGR color-space. HSV or Lab color-space might be a better choice&lt;br /&gt;&lt;br /&gt;To convert the frame into HSV use:&lt;br /&gt;cvCvtColor(frame, frame, CV_BGR2HSV)&lt;br /&gt;&lt;br /&gt;Just remember to set the color-space back to BGR before displaying the image:&lt;br /&gt;cvCvtColor(frame, frame, CV_HSV2BGR)&lt;br /&gt;&lt;br /&gt;Next, split the mask into seperated - connected parts, by finding the contour:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;storage = cvCreateMemStorage(0)&lt;br /&gt;c_count, contours = cvFindContours (color_mask, storage, d=CV_CHAIN_APPROX_NONE)&lt;br /&gt;# Go trough each contour&lt;br /&gt;for contour in contours.hrange():&lt;br /&gt;   # Do some filtering&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;From here it's just a matter of filtering out the contours you don't want. Some might be too large or too small, or maybe you only want convex shapes:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# Get the size of the contour&lt;br /&gt;size = abs(cvContourArea(contour))&lt;br /&gt;&lt;br /&gt;# Is convex&lt;br /&gt;is_convex = cvCheckContourConvexity(contour)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;When you've got the contours you want, find the center-coordinates:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# Find the bounding-box of the contour&lt;br /&gt;bbox = cvBoundingRect( contour, 0 )&lt;br /&gt;&lt;br /&gt;# Calculate the x and y coordinate of center&lt;br /&gt;x, y = bbox.x+bbox.width*0.5, bbox.y+bbox.height*0.5&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;Now that's teory.. In the real-world, you got lightning, shadows, noise, and so on. But i hope you got the basic idea how to do color-tracking by now.&lt;br /&gt;For a more complex tracker, you'll might wan't to look at Motion-Segmentation, Background statistics, Dilate, Erode, FloodFill, PolyApprox...&lt;br /&gt;It's all in OpenCV.&lt;br /&gt;&lt;br /&gt;Here's a demo video of the color-tracker in action. I'm using Qt as GUI, and a Pickle-Socket that sends the computed data to Maya in form of a dictionary.&lt;br /&gt;I use a Maya-Plane that represent my screen in 3D-space, so that it's easy to adjust the relationship between screen-space and 3d-space.&lt;br /&gt;The Maya-plane can have any number of reference-objects that are constrained to the 3d-model. The tracked objects will automaticly constrain to a reference object, when it get's close enough.&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/vFQTDPjy4sg&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/vFQTDPjy4sg&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&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/617502760843829600-4993511623443109612?l=mikkeljans.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/4993511623443109612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=617502760843829600&amp;postID=4993511623443109612' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/4993511623443109612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/4993511623443109612'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/2009/02/python-color-tracking.html' title='Python Color Tracking'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-617502760843829600.post-2739773549966560577</id><published>2008-06-04T06:16:00.000-07:00</published><updated>2008-06-04T06:24:58.163-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='Maya'/><title type='text'>HP Video</title><content type='html'>&lt;p&gt;A short video i have created as part of a school assignment.&lt;br /&gt;The assignment was to create a video like the &lt;a href="http://youtube.com/results?search_query=Hewlett+Package+Commercials&amp;amp;search_type="&gt;Hewlett Package commercials &lt;/a&gt;.&lt;br /&gt;There's a lot of errors i know :), I haven't had much time to make it, about 3-4 short days.&lt;br /&gt;It's created in Maya using a lot of different deformers and composited in Fusion.&lt;/p&gt;&lt;p&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-c095d513cecb6539" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v17.nonxt7.googlevideo.com/videoplayback?id%3Dc095d513cecb6539%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330051963%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1A2F4E3D8485569505C0340FEC40D950B3EBB855.6926CD3C8EF60D8FD3512C01153FE8E6DE9C7E78%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dc095d513cecb6539%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dr4loQMvHfATgqncXk4uE90UA39o&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v17.nonxt7.googlevideo.com/videoplayback?id%3Dc095d513cecb6539%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330051963%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1A2F4E3D8485569505C0340FEC40D950B3EBB855.6926CD3C8EF60D8FD3512C01153FE8E6DE9C7E78%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dc095d513cecb6539%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dr4loQMvHfATgqncXk4uE90UA39o&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/617502760843829600-2739773549966560577?l=mikkeljans.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=c095d513cecb6539&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/2739773549966560577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=617502760843829600&amp;postID=2739773549966560577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/2739773549966560577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/2739773549966560577'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/2008/06/hp-video.html' title='HP Video'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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-617502760843829600.post-8313879902283392755</id><published>2008-06-02T01:08:00.000-07:00</published><updated>2008-06-02T01:12:04.355-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pipeline'/><category scheme='http://www.blogger.com/atom/ns#' term='Maya'/><title type='text'>Animation Pipeline</title><content type='html'>I'll be working on a new pipeline for 3D-Animation this month as part of a school-project.&lt;br /&gt;Follow the development here: &lt;a href="http://sites.google.com/site/mjpipeline"&gt;http://sites.google.com/site/mjpipeline&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/617502760843829600-8313879902283392755?l=mikkeljans.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/8313879902283392755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=617502760843829600&amp;postID=8313879902283392755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/8313879902283392755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/8313879902283392755'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/2008/06/animation-pipeline.html' title='Animation Pipeline'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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-617502760843829600.post-5897259619526450792</id><published>2008-06-01T08:50:00.000-07:00</published><updated>2008-06-01T09:02:41.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maya'/><category scheme='http://www.blogger.com/atom/ns#' term='Wii'/><title type='text'>Maya Wiimote</title><content type='html'>This video shows me controlling a cube in Maya with candle-light using a wii-remote.&lt;br /&gt;It's created by using Python and pyBluez to connect to the wii-remote with bluetooth and bind it to Maya.&lt;br /&gt;Each Wiimote has an infrared-camera in it, and since candle-light emits infrared light, it's possible to track the motion of the candles.&lt;br /&gt;This could be extended to create a simple and cheep motion-capture device.&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ietyAUD_JQg&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/ietyAUD_JQg&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&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/617502760843829600-5897259619526450792?l=mikkeljans.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/5897259619526450792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=617502760843829600&amp;postID=5897259619526450792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/5897259619526450792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/5897259619526450792'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/2008/06/maya-wiimote.html' title='Maya Wiimote'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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-617502760843829600.post-4760021263646903026</id><published>2007-04-17T01:30:00.000-07:00</published><updated>2008-12-11T05:49:20.518-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hotkey Manager'/><title type='text'>Hotkey Manager</title><content type='html'>This is one of my farvorit scripts right now.&lt;br /&gt;It's a UI that let's me create hotkeys, menus and triggers very quickly..&lt;br /&gt;I haven't completely finished it yet, put my plan is to use this UI to setup Maya to work more intutive..&lt;br /&gt;For example, having hotkeys and menus change depending on what i'm doing at the moment..&lt;br /&gt;The idea is to create a faster workflow by letting Maya guess what I might wan't to do now, depending on what i did before, and then change my hotkey/menu setup.&lt;br /&gt;&lt;div style="text-align: left;"&gt;It also let me setup Triggers very quickly, which are commands that automaticly run when 'things happens'.. For example, to have a script that runs each time a new transform node is created or when a connection is made...&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Xd4lXQu7NMo/RiSG-pwHoLI/AAAAAAAAAAU/XZadS0_3UPk/s1600-h/HotkeyManager.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_Xd4lXQu7NMo/RiSG-pwHoLI/AAAAAAAAAAU/XZadS0_3UPk/s320/HotkeyManager.jpg" alt="" id="BLOGGER_PHOTO_ID_5054313092734230706" border="0" /&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/617502760843829600-4760021263646903026?l=mikkeljans.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/4760021263646903026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=617502760843829600&amp;postID=4760021263646903026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/4760021263646903026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/4760021263646903026'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/2007/04/this-is-one-of-my-farvorit-scripts.html' title='Hotkey Manager'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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/_Xd4lXQu7NMo/RiSG-pwHoLI/AAAAAAAAAAU/XZadS0_3UPk/s72-c/HotkeyManager.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-617502760843829600.post-1517576990827945275</id><published>2007-04-02T12:15:00.000-07:00</published><updated>2007-04-02T12:22:30.162-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Camera Navigator</title><content type='html'>Uses a Photoshop-like control to pan/zoom the 3d-view.&lt;br /&gt;The camera never moves or changes perspective, it's just like zooming/tracking on a 2d picture.&lt;br /&gt;"&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/DbRaxc6EdZA"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/DbRaxc6EdZA" type="application/x-shockwave-flash" width="425" height="350"&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/617502760843829600-1517576990827945275?l=mikkeljans.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/1517576990827945275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=617502760843829600&amp;postID=1517576990827945275' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/1517576990827945275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/1517576990827945275'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/2007/04/camera-navigator.html' title='Camera Navigator'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-617502760843829600.post-2869982712704094425</id><published>2007-03-28T11:45:00.000-07:00</published><updated>2007-03-28T12:16:46.290-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>History Tweaker</title><content type='html'>A simple script that lets you go back in the history, and change earlier stages of a model..&lt;br /&gt;The changes will be added to the object Construction-History.&lt;br /&gt;This might also be useful for when creating blendshapes.&lt;br /&gt;Watch the Video!&lt;br /&gt;"&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/5nvD_mr4YSU"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/5nvD_mr4YSU" type="application/x-shockwave-flash" width="425" height="350"&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/617502760843829600-2869982712704094425?l=mikkeljans.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/2869982712704094425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=617502760843829600&amp;postID=2869982712704094425' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/2869982712704094425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/2869982712704094425'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/2007/03/history-tweaker.html' title='History Tweaker'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-617502760843829600.post-7384308847241894198</id><published>2007-03-28T04:28:00.000-07:00</published><updated>2008-12-11T05:49:20.687-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CodeNode'/><title type='text'>First Version of CodeNode</title><content type='html'>A Screenshot of my first version of CodeNode, at a very early stage.&lt;br /&gt;The concept is use connections and 3d-objects to generate code.&lt;br /&gt;In this way, lines of code can flow from object to object, creating a more dynamic code-structure instead of the linear text-file-structure, and making it more fun to be a scripter :).&lt;br /&gt;As shown in this very simple example, the height and width of 'pCube1' controls the height/width of the window to the right. 'kodeNode1' is getting some code from 'deleteWinNode'.&lt;br /&gt;Maya handles the creation and deletion of connections, and automaticly execute the final code.&lt;br /&gt;Right now, i'm only testing the idea in Maya, but my plan is to make it a stand-alone application. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Xd4lXQu7NMo/RgpRqCsJloI/AAAAAAAAAAM/F_kWrvZFN04/s1600-h/codeNodeDemo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 410px; height: 329px;" src="http://2.bp.blogspot.com/_Xd4lXQu7NMo/RgpRqCsJloI/AAAAAAAAAAM/F_kWrvZFN04/s320/codeNodeDemo.jpg" alt="" id="BLOGGER_PHOTO_ID_5046936115140466306" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/617502760843829600-7384308847241894198?l=mikkeljans.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mikkeljans.blogspot.com/feeds/7384308847241894198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=617502760843829600&amp;postID=7384308847241894198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/7384308847241894198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/617502760843829600/posts/default/7384308847241894198'/><link rel='alternate' type='text/html' href='http://mikkeljans.blogspot.com/2007/03/first-version-of-codenode.html' title='First Version of CodeNode'/><author><name>Mikkel Jans</name><uri>http://www.blogger.com/profile/09463860839135891748</uri><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/_Xd4lXQu7NMo/RgpRqCsJloI/AAAAAAAAAAM/F_kWrvZFN04/s72-c/codeNodeDemo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
