<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>technical architecture. &#187; Interactive</title>
	<atom:link href="http://buchhofer.com/category/architecture/interactive/feed/" rel="self" type="application/rss+xml" />
	<link>http://buchhofer.com</link>
	<description>Maxscript, Architecture, 3D, 3DSMax, Unity3D</description>
	<lastBuildDate>Sat, 14 Jan 2012 14:12:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Architecture &#8211; Revit to Max to Unity</title>
		<link>http://buchhofer.com/2011/12/uni/</link>
		<comments>http://buchhofer.com/2011/12/uni/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 21:42:19 +0000</pubDate>
		<dc:creator>Dave Buchhofer</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Unity3D]]></category>

		<guid isPermaLink="false">http://buchhofer.com/?p=318</guid>
		<description><![CDATA[Here is a Revit -> 3dsmax -> Unity project that we worked on earlier this year. the videos below are captured in HD in unity directly from some premade itween paths Exterior axo from Dave Buck on Vimeo. Realtime HD Architecture, Captured in Unity3D from Dave Buck on Vimeo. Basic workflow was to export out [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a Revit -> 3dsmax -> Unity project that we worked on earlier this year.</p>
<p>the videos below are captured in HD in unity directly from some premade itween paths</p>
<p><iframe src="http://player.vimeo.com/video/31943486?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/31943486">Exterior axo</a> from <a href="http://vimeo.com/vsai">Dave Buck</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><iframe src="http://player.vimeo.com/video/31940365?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/31940365">Realtime HD Architecture, Captured in Unity3D</a> from <a href="http://vimeo.com/vsai">Dave Buck</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Basic workflow was to export out the WorkSets from Revit as individual FBX files<br />
Import them into 3dsmax with the file link manager, usually set to combine objects by material<br />
from there run a set of scripts that collapsed / welded / AutoSmoothed / split meshes that were too large (65k verts is a pain) cleans up the layers, replaces materials, and exports the now unity friendly layers into different FBX&#8217;s for unitys consumption</p>
<p>Inside unity there are a few small steps needed, done mostly with AssetPostProcessors that hook up any external lightmaps that we generated in max, replace/reconnect any materials that are in our standard material library, and attach any components that are supplied in the max user properties fields.</p>
<p>bake the lighting to suit, (In this case, just give us some AO and Sunlight since we needed to be able to turn around revit design changes -> working webplayer overnight with minimal user babysitting.)</p>
<p>this workflow allowed the building owner to &#8216;walk&#8217; around the design very rapidly after it was changed.</p>
<p>There are a few more captures up at http://vimeo.com/vsai/videos/ for anyone interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://buchhofer.com/2011/12/uni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What have you done for me lately?</title>
		<link>http://buchhofer.com/2011/06/what-have-you-done-for-me-lately/</link>
		<comments>http://buchhofer.com/2011/06/what-have-you-done-for-me-lately/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 17:10:09 +0000</pubDate>
		<dc:creator>Dave Buchhofer</dc:creator>
				<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Unity3D]]></category>

		<guid isPermaLink="false">http://buchhofer.com/?p=286</guid>
		<description><![CDATA[I&#8217;ve been working on this tool for a while now, here&#8217;s a quick captured demo of some of the features of my hospital room design application in action. Interactive 3D OR/ICU design tool from Dave Buck on Vimeo. here&#8217;s a current video of my OR/ICU design project, created in unity3d, with fully configurable parametric models [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on this tool for a while now, here&#8217;s a quick captured demo of some of the features of my hospital room design application in action.</p>
<p><iframe src="http://player.vimeo.com/video/24523384?title=0&amp;byline=0&amp;portrait=0" width="400" height="205" frameborder="0"></iframe>
<p><a href="http://vimeo.com/24523384">Interactive 3D OR/ICU design tool</a> from <a href="http://vimeo.com/vsai">Dave Buck</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>here&#8217;s a current video of my OR/ICU design project, created in unity3d, with fully configurable parametric models rigged with both IK and FK, and a tool to quickly draw out any layout of walls, windows and doors to spatially visualize the placement and reach of equipment needed in an operating room space.</p>
]]></content:encoded>
			<wfw:commentRss>http://buchhofer.com/2011/06/what-have-you-done-for-me-lately/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Interactive Lab Demo</title>
		<link>http://buchhofer.com/2010/02/interactive-lab-demo/</link>
		<comments>http://buchhofer.com/2010/02/interactive-lab-demo/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 12:56:28 +0000</pubDate>
		<dc:creator>Dave Buchhofer</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[editorscripting]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://buchhofer.com/?p=228</guid>
		<description><![CDATA[Here is another Architectural interactive test project. This time, a laboratory setup, a tighter interior space, set up without any real lighting (1 direct light + ambient colors + Ambient Occlusion currently) created with the goal of customizing the unity asset pipeline to be a little more friendly for architectural work. First, the Project, roughly [...]]]></description>
			<content:encoded><![CDATA[<p>Here is another Architectural interactive test project. This time, a laboratory setup, a tighter interior space, set up without any real lighting (1 direct light + ambient colors + Ambient Occlusion currently) created with the goal of customizing the unity asset pipeline to be a little more friendly for architectural work.</p>
<p>First, the Project, roughly 6mb, clicking on the screenshot will open the project in a new window. its another quickly evolving work in progress, Warning: No consideration has been taken currently for speed on older hardware, ~100fps on an 8800GT was the target.<br />
<a title="3d demo" href="http://www.buchhofer.com/upload/files/labs/lab/default.html" target="_blank"><img src="http://www.buchhofer.com/upload/files/labs/lab/labshot_210_01.jpg" alt="Screenshot" /></a></p>
<p>Some findings and random ramblings on arch and interactive 3d:</p>
<ul>
<li>unlike with general gaming, with architecture you are in most cases going to already have a model provided in some form or another. odds are, the model is going to be pretty horrific, as arch models tend to be built for the purpose of either:
<ul>
<li>A: Viz&#8230; the Viz model will require a lot of cleanup in terms of material work, and stripping down a lot of the high poly fluff required for rendering.</li>
<li> B: Design Development&#8230; the DD model is normally plagued more by bad modeling conventions, no naming, poor materials, materials not fully assigned, or mangled geometry due to being stretched and squished for days on end to keep up with a design.</li>
</ul>
</li>
<li>you will probably still want to break up the file by some logical layer type system, by default this will land you with a unique material for each material of each fbx file</li>
<li>a small AssetPostProcessor script that works on the OnMaterialAssign function can make the process of sharing materials across multiple FBX files much easier to handle, with the added bonus of being able to easily progressively build up a library of reusable realtime materials</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
<span style="color: #008080; font-style: italic;">//file: MaterialsPostProcessor.cs</span>
<span style="color: #008080; font-style: italic;">//goal: Share a library of materials across different assets based on the name of material supplied in the FBX file</span>
<span style="color: #008080; font-style: italic;">// Dave Buchhofer - 02.10.2010</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">UnityEngine</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">UnityEditor</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> MaterialsPostProcessor <span style="color: #008000;">:</span> AssetPostprocessor
<span style="color: #008000;">&#123;</span>
    Material OnAssignMaterialModel <span style="color: #008000;">&#40;</span>Material material, Renderer renderer<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">//The path where you keep your &quot;Standard&quot; library of materials</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> StandardMatPath <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Assets/DMGStandardMaterials/&quot;</span> <span style="color: #008000;">+</span> material<span style="color: #008000;">.</span><span style="color: #0000FF;">name</span> <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;.mat&quot;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//the path where you want to keep your &quot;temp&quot; materials, that weren't found above</span>
        <span style="color: #008080; font-style: italic;">//So you have a logical place to look for materials that need editing and tweaking for realtime work.</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> TemporaryMatPath <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Assets/Mesh/Materials/&quot;</span> <span style="color: #008000;">+</span> material<span style="color: #008000;">.</span><span style="color: #0000FF;">name</span> <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;.mat&quot;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Check for it in the standard </span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>AssetDatabase<span style="color: #008000;">.</span><span style="color: #0000FF;">LoadAssetAtPath</span><span style="color: #008000;">&#40;</span>StandardMatPath, <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>Material<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            Debug<span style="color: #008000;">.</span><span style="color: #0000FF;">Log</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;FOUND: &quot;</span> <span style="color: #008000;">+</span> StandardMatPath<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">&#40;</span>Material<span style="color: #008000;">&#41;</span>AssetDatabase<span style="color: #008000;">.</span><span style="color: #0000FF;">LoadAssetAtPath</span><span style="color: #008000;">&#40;</span>StandardMatPath, <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>Material<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #008080; font-style: italic;">//Else check to see if we've already built one in the temp path</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>AssetDatabase<span style="color: #008000;">.</span><span style="color: #0000FF;">LoadAssetAtPath</span><span style="color: #008000;">&#40;</span>TemporaryMatPath, <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>Material<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            Debug<span style="color: #008000;">.</span><span style="color: #0000FF;">Log</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;FOUND temp: &quot;</span> <span style="color: #008000;">+</span> TemporaryMatPath<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">&#40;</span>Material<span style="color: #008000;">&#41;</span>AssetDatabase<span style="color: #008000;">.</span><span style="color: #0000FF;">LoadAssetAtPath</span><span style="color: #008000;">&#40;</span>TemporaryMatPath, <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>Material<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #008080; font-style: italic;">//Or create it?</span>
        material<span style="color: #008000;">.</span><span style="color: #0000FF;">shader</span> <span style="color: #008000;">=</span> Shader<span style="color: #008000;">.</span><span style="color: #0000FF;">Find</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Diffuse&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        AssetDatabase<span style="color: #008000;">.</span><span style="color: #0000FF;">CreateAsset</span><span style="color: #008000;">&#40;</span>material, TemporaryMatPath<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        Debug<span style="color: #008000;">.</span><span style="color: #0000FF;">Log</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;CREATED temp: &quot;</span> <span style="color: #008000;">+</span> TemporaryMatPath<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> material<span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>also check out the previous arch experiment a few posts down:<a href="http://buchhofer.com/?p=216"> Basketball Arena</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://buchhofer.com/2010/02/interactive-lab-demo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Architectural Interactive Demo</title>
		<link>http://buchhofer.com/2009/12/architectural-interactive-demo/</link>
		<comments>http://buchhofer.com/2009/12/architectural-interactive-demo/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 06:11:09 +0000</pubDate>
		<dc:creator>Dave Buchhofer</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Unity3D]]></category>

		<guid isPermaLink="false">http://buchhofer.com/?p=216</guid>
		<description><![CDATA[Here&#8217;s a current work in progress Interactive Architectural type demo of a college Basketball Arena it hasn&#8217;t been terribly optimized yet, so it requires a fairly hefty video card to play smoothly, that said, it runs at ~150fps on my 8800GT here, but at 5fps on my parents 3 year old dell. So your mileage may vary while I [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a current work in progress Interactive Architectural type demo of a college Basketball Arena</p>
<p>it hasn&#8217;t been terribly optimized yet, so it requires a fairly hefty video card to play smoothly, that said, it runs at ~150fps on my 8800GT here, but at 5fps on my parents 3 year old dell. So your mileage may vary while I experiment!</p>
<p><a href="http://www.buchhofer.com/upload/files/labs/drexel/">http://www.buchhofer.com/upload/files/labs/drexel/</a> ~5mb</p>
<p><a href="http://buchhofer.com/wp-content/uploads/2009/12/basketball_wip_screen.jpg"><img style="display: block; margin-left: auto; margin-right: auto; border: 0px initial initial;" title="screenshot" src="http://buchhofer.com/wp-content/uploads/2009/12/basketball_wip_screen-300x205.jpg" alt="screenshot" width="300" height="205" /></a></p>
<p>Everything has been done with ingame lighting and shaders, nothing is baked, and was meant as a test specifically for that purpose, to see how far it can be pushed before requiring Texture Baking on a fair sized scene. (With the aim to be able to quickly iterate models in earlier phases of design without having to unwrap and bake!)</p>
<p>To the game! There is a quality button on the lower left that toggles between various settings of Anti Aliasing, Shader Quality, Shadow Quality.. so you can tailor it to a point to your hardware.</p>
<p>On the upper left is a selection of preset Camera views, clicking and dragging the mouse button in the viewport anywhere will &#8216;look&#8217; the camera from the preset view.</p>
<p>On the upper right is some fun stuff, toggles for Ambient occlusion, Bloom shaders (glow) and a couple of sliders to adjust those primary values</p>
<p>there is also an alternate Daylighting scheme, if you do this i suggest toggling the roof, then you can adjust the time of day with the &#8216;TimeOfDay&#8217; slider, and the ambient lighting with the ambient.</p>
<p>the rest are just toggles to show/hide various layers of objects</p>
]]></content:encoded>
			<wfw:commentRss>http://buchhofer.com/2009/12/architectural-interactive-demo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

