<?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>3D | ユガラボ</title>
	<atom:link href="https://yugalab.net/archives/tag/3d/feed" rel="self" type="application/rss+xml" />
	<link>https://yugalab.net</link>
	<description>pursue the beauty with yuga lab.</description>
	<lastBuildDate>Fri, 30 Sep 2022 10:15:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.7.7</generator>
	<item>
		<title>【VRChat】自作ワールド作りました！ いろいろメモ(作業手順、UdonSharp、軽量化など)</title>
		<link>https://yugalab.net/archives/46481</link>
					<comments>https://yugalab.net/archives/46481#respond</comments>
		
		<dc:creator><![CDATA[ユーリ]]></dc:creator>
		<pubDate>Fri, 30 Sep 2022 10:15:05 +0000</pubDate>
				<category><![CDATA[Blender]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[VRChat]]></category>
		<guid isPermaLink="false">https://yugalab.net/?p=46481</guid>

					<description><![CDATA[<p>こんにちは、ユーリです。最近VR端末のMeta Quest2を買いまして、VRにはまってます！特にVRChatが楽しくてアバター作ったり色々してたのですが、ついにワールドも作りました。大変だったところなどをまとめました。 [&#8230;]</p>
<p>The post <a href="https://yugalab.net/archives/46481">【VRChat】自作ワールド作りました！ いろいろメモ(作業手順、UdonSharp、軽量化など)</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>こんにちは、ユーリです。最近VR端末のMeta Quest2を買いまして、VRにはまってます！<br />特にVRChatが楽しくてアバター作ったり色々してたのですが、ついにワールドも作りました。大変だったところなどをまとめました。<br /><span id="more-46481"></span><br /><div class="post_linker" data-href="0">VRChatの紹介(軽く)</div><div class="post_linker" data-href="1">ワールドの土台作成</div><div class="post_linker" data-href="2">家具と小物の配置</div><div class="post_linker" data-href="3">UdonSharp製ギミックをつくる</div><div class="post_linker" data-href="4">ギミックの同期問題</div><div class="post_linker" data-href="5">仕上げ(軽量化とライトベイク)</div><br /><h3 class="section_title putit_caption l_green">VRChatの紹介(軽く)</h3><br /><span class="under l_blue"><a href="https://hello.vrchat.com/">VRChat</a></span>とは、バーチャル空間上でアバターを着て他の方とおしゃべりできるツールです！<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_b02.jpg"><img loading="lazy" class="alignnone size-full wp-image-46645" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_b02.jpg" alt="" width="624" height="332" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_b02.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_b02-300x160.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />アバターは配布されているものもありますが、自作の3Dモデルをアップできるので非常に自由度が高く、人型はもちろんケモノでも触手でもなんにでもなれちゃうのがすごいところ。<br />楽しむために頭にかぶるようなVR機器が必要だと勘違いされがちですが、デスクトップPCでもモニタに映してプレイできます。(ただし没入感は得にくいです)<br /><br />自分オリジナルの場所として「ワールド」を作って思い通りの景色に降り立つこともできるし、スクリプトを書いてギミックを置いたりもできます。<br />ゲームというよりソーシャルプラットフォームに近いものですが、VRならではの臨場感からあたかもその場にいるような感覚があり、好きな見た目になって好きなところへ行けるが魅力。<br />近い未来、バーチャル空間で暮らせるようになったらこんな感じなのかも。ギミックが作り込まれているワールドではゲームっぽい遊びもできちゃう！<br /><br />ちなみにわたしはこのアバターをつかってます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_d01.jpg"><img loading="lazy" class="alignnone size-full wp-image-46655" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_d01.jpg" alt="" width="624" height="332" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_d01.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_d01-300x160.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><span class="l_blue under"><a href="https://vroid.com/studio">VRoidStudio</a></span>というアバター制作ツール(無料)と、モデリングソフトの<span class="l_blue under"><a href="https://blender.jp/">Blender</a></span>(無料)による小物追加で自作しました！<br />わたしは3Dモデリングは得意なほうではありませんが、今は便利なツールがたくさんあるので専門的な技術がなくても比較的とっつきやすかったです！ もしVRで見かけたらお気軽に絡んでください。<br /><br /><h4 class="section_subtitle putit_caption">自作ワールド紹介</h4>そして今回わたしが自作したワールドはこちら！「Cafe &amp; Bar 宵星」です。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_a01.jpg"><img loading="lazy" class="alignnone size-full wp-image-46629" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_a01.jpg" alt="" width="624" height="331" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_a01.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_a01-300x159.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />後述しますが、弓矢を使って夜空に星を打ち上げ、星座を作って遊べるギミックがあります。これがこのワールドの目玉！<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_b04.gif"><img loading="lazy" class="alignnone size-full wp-image-46644" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_b04.gif" alt="" width="624" height="351" /></a><br /><br />たくさん星を打ち上げればカラフルになってにぎやかです。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_a02.jpg"><img loading="lazy" class="alignnone size-full wp-image-46630" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_a02.jpg" alt="" width="624" height="351" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_a02.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_a02-300x169.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />カフェスペースではスイーツが食べ放題です。くつろげるスペースも置いてみました。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_a05.jpg"><img loading="lazy" class="alignnone size-full wp-image-46631" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_a05.jpg" alt="" width="624" height="362" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_a05.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_a05-300x174.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />Barコーナーはいい感じのシーリングファンライトがまわってます。影で雰囲気をだしてる。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_a04.jpg"><img loading="lazy" class="alignnone size-full wp-image-46632" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_a04.jpg" alt="" width="624" height="351" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_a04.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_a04-300x169.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />最近話題の画像生成AIでつくったアートを飾ったりもしてます。こういうのを配置するだけでもなんとなく見栄えがよくなるから助かる。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_a03.jpg"><img loading="lazy" class="alignnone size-full wp-image-46633" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_a03.jpg" alt="" width="624" height="351" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_a03.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_a03-300x169.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />ご興味がある方はVRChatのアカウントがあれば<span class="under l_blue"><a href="https://vrchat.com/home/launch?worldId=wrld_e9432bb9-03d7-4f5b-808b-f58c510ec6e0">こちらのリンク</a></span>からワールドを開けますので是非あそんでみてください！QUESTも対応してます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_a06.jpg"><img loading="lazy" class="alignnone size-full wp-image-46634" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_a06.jpg" alt="" width="624" height="370" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_a06.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_a06-300x178.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />以下、ワールド作成にあたり行った作業を紹介していきます。作業開始から2週間くらいでできたけど、めっちゃ楽しくて仕事と食事以外ずっとワールド作ってました。全作業合計で40~50時間くらいやった気がする。<br />※あくまでもわたしなりのやり方ですので参考までに！<br /><br /><h3 class="section_title putit_caption l_green">ワールドの土台作成</h3><br /><h4 class="section_subtitle putit_caption">Blenderで床や柱をつくる</h4>今回のワールドはおうち+庭的な構成にするつもりでしたが、細かいレイアウトはぜんぜん考えてなかったので作りながら雰囲気で組み立てました。<br />床と柱部分を作ってからUnity上で配置しながら作る方向で進めます。<br />まずBlenderでただの立方体を作り…、<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_c01.jpg"><img loading="lazy" class="alignnone size-full wp-image-46636" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_c01.jpg" alt="" width="624" height="317" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_c01.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_c01-300x152.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />ネット上で拾ってきたフリー素材のテクスチャを貼ります。(テクスチャの貼り方はググってください)そして縦サイズを縮めて平べったくつくれば「床」の完成です。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_c02.jpg"><img loading="lazy" class="alignnone size-full wp-image-46637" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_c02.jpg" alt="" width="624" height="336" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_c02.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_c02-300x162.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a>誰がなんと言おうと床タイルです。いいですね？<br /><br />同様に細長い立方体にテクスチャを貼れば柱の完成です。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_c03.jpg"><img loading="lazy" class="alignnone size-full wp-image-46638" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_c03.jpg" alt="" width="624" height="342" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_c03.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_c03-300x164.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />柱なんです。いいですね？ 完成です。<br />本当にただの立方体で頂点が8つしかないモデリングとも呼べないシロモノですが、テクスチャを貼れば見た目がそれっぽくなるので案外大丈夫です。<br /><br />ここで大事なのは縦横の寸法を1m x 1m などキリのよい数字で、座標xyzゼロで作ることです。こうすることでUnity上で座標を打って配置する時に隙間なくピッチリ置けるようになります。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_b01.jpg"><img loading="lazy" class="alignnone size-full wp-image-46646" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_b01.jpg" alt="" width="624" height="301" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_b01.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_b01-300x145.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />中途半端な寸法で作ると配置するときに重なったりうまく繋がらなかったりするのでご注意。<br /><br />書き出す時は、対象の立体(メッシュ)を選択してからfbx形式でエクスポート。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_g01.jpg"><img loading="lazy" class="alignnone size-full wp-image-46720" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_g01.jpg" alt="" width="624" height="297" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_g01.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_g01-300x143.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />「選択したオブジェクトのみ」、「メッシュのみ」で書き出します。パーツごとに1つ1つ書き出しましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_g02.jpg"><img loading="lazy" class="alignnone size-full wp-image-46721" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_g02.jpg" alt="" width="624" height="325" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_g02.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_g02-300x156.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />ついでにちょっと頑張って斜めの床も作ったりしました。ナナメパーツがあるとマイクラ的お豆腐建築から脱出でき、組み合わせバリエーションがグッと増えます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_c04.jpg"><img loading="lazy" class="alignnone size-full wp-image-46639" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_c04.jpg" alt="" width="624" height="338" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_c04.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_c04-300x163.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br /><h4 class="section_subtitle putit_caption">Unityで配置する</h4>それからUnity側の作業に移ります。VRChatに対応しているバージョンのUnityを入手してください。無料です。<br />ワールドを作り始める前の一番大事な作業はVRCWorldSDKをインポートすること。<br />インポートができたらAssets&gt;VRChat Examples&gt;Prefabsの中にあるVRCWorldをシーンに配置しましょう。これを入れることでVRChatのワールドとしてアップロードできるようになります。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_c05.jpg"><img loading="lazy" class="alignnone size-full wp-image-46640" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_c05.jpg" alt="" width="624" height="360" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_c05.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_c05-300x173.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />SDKなどの基本ファイルをインポートできたらいよいよ制作開始です。<br />まずお家の柱などを置く前に地面が欲しいので、3DオブジェクトのCubeを作成し基底の床(地面)をつくります。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_c06.jpg"><img loading="lazy" class="alignnone size-full wp-image-46641" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_c06.jpg" alt="" width="624" height="363" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_c06.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_c06-300x175.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />作ったcubeの縦横の寸法を100倍にすれば平べったい形状になります。もうこの上を立って歩けちゃいます！<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_c07.jpg"><img loading="lazy" class="alignnone size-full wp-image-46642" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_c07.jpg" alt="" width="624" height="360" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_c07.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_c07-300x173.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />真っ白な床のままだと味気ないですが、テクスチャを貼れば地面にも草原にでもサイバーパンクSFフィールドにもなります。テクスチャは万能です。<br />テクスチャを貼るためにはマテリアルが必要なので、画面下のファイルビューで右クリックし、作成→マテリアルを作りましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_h01.jpg"><img loading="lazy" class="alignnone size-full wp-image-46732" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_h01.jpg" alt="" width="624" height="353" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_h01.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_h01-300x170.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />次に作ったマテリアルを床にしたいCubeに割り当てます。Cubeを選択すると右インスペクタ内にCubeに対応する「Mesh Renderer」の設定ができます。これがCubeの描画を担当している部分です。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_h02.jpg"><img loading="lazy" class="alignnone size-full wp-image-46733" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_h02.jpg" alt="" width="624" height="436" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_h02.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_h02-300x210.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />MeshRendererはデフォルトでは真っ白なマテリアルが割り当てられていますが、編集するために新規作成したマテリアルをドラッグドロップして割り当てます。<br /><br />割り当てたら自由に編集できるようになるのでマテリアルを開き「アルベド」から床の見た目にしたいテクスチャを選択します。するとテクスチャ画像の模様が床に反映されます！<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_h03.jpg"><img loading="lazy" class="alignnone size-full wp-image-46734" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_h03.jpg" alt="" width="624" height="391" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_h03.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_h03-300x188.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />今回は草地にしました。テクスチャ画像についてはフリー素材を探してくるなりお絵かきソフトで作成するなり、AIで生成するなりしてください。<br /><br />それからBlenderで作成した床をUnityに取り込んでならべる作業です。<br />Blenderで書き出したfbxファイルをドラッグドロップでUnityのフォルダに放り込んでください。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_h04.jpg"><img loading="lazy" class="alignnone size-full wp-image-46735" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_h04.jpg" alt="" width="624" height="272" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_h04.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_h04-300x131.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />するとUnityプロジェクト内にモデリングした物体を取り込めるので、今度はそれをワールドに配置していきます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_h05.jpg"><img loading="lazy" class="alignnone size-full wp-image-46736" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_h05.jpg" alt="" width="624" height="397" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_h05.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_h05-300x191.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />先程の手順でマテリアルとテクスチャを取り込めば見た目もBlenderで作った通りになります。ここまでくればもう後は楽しい作業しかありません。<br /><br />床をいい感じに配置して、柱をいい感じに立てます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_b05.jpg"><img loading="lazy" class="alignnone size-full wp-image-46648" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_b05.jpg" alt="" width="624" height="380" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_b05.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_b05-300x183.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />ここはサクッとやったように見えますが1~2時間かかってます。<br /><br />次に柱の間を壁を構成する用の壁も作って、柱の間を壁で埋めたらもうそれっぽい感じがでてきます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_b06.jpg"><img loading="lazy" class="alignnone size-full wp-image-46649" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_b06.jpg" alt="" width="624" height="383" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_b06.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_b06-300x184.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />壁部分をblenderで作ってテクスチャをさらに用意して、窓ありverも作って…といった作業でさらに2~3時間かかってます。でも一番たのしいのでやってればいつのまにか時間が過ぎちゃいます。<br /><br />床と壁ができたら、床部分をコピペして天井を作ればもう屋内化が完了。屋根をつけると真っ暗になるので、建物内に光源を置きましょう。右クリックしてライトを新規作成します。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_e01.jpg"><img loading="lazy" class="alignnone size-full wp-image-46688" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_e01.jpg" alt="" width="624" height="288" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_e01.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_e01-300x138.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />屋内用ならポイントライトなどがオススメ。<br />光源を置いたら勝手に雰囲気がでてきます。すごいですね。ここまで来たらもう勝ったようなもんです。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_b07.jpg"><img loading="lazy" class="alignnone size-full wp-image-46650" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_b07.jpg" alt="" width="624" height="383" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_b07.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_b07-300x184.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br /><br /><h3 class="section_title putit_caption l_green">家具と小物の配置</h3><br />さて、建物のガワと床と壁は自前で用意しましたが、中にある家具や小物は自力で作ろうとすると大変です。<br />ですが！ VRChatのワールドを作りたい需要はけっこうあるためか、Boothなどで探すと無料で使える3Dデータがたくさんあります！ 高クオリティで有料のものも多数。<br />いろいろと置きたい小物を集めて配置しました。めちゃくちゃ良い感じになった！(これだけで10時間とかあっという間に過ぎます)<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_b08.jpg"><img loading="lazy" class="alignnone size-full wp-image-46651" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_b08.jpg" alt="" width="624" height="383" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_b08.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_b08-300x184.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />有料のも一部買いましたが、小物をひとつひとつ作るのにかかる時間を考えたら買ったほうが早いかなって…。金で解決。買ったら置くだけだから。<br />使わせていただいたものはワールド内のクレジットにぜんぶ書いてあります！ ありがとうございます！<br />家具と小物を置いたらこれは既に「家」じゃん…。という完成度となりました。こうなったらもう勝利は確定したようなもんです。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_b09.jpg"><img loading="lazy" class="alignnone size-full wp-image-46652" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_b09.jpg" alt="" width="624" height="347" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_b09.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_b09-300x167.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />が、これだけだと来た方はワールド内をひと通り見たら満足して帰っちゃうので、なにか面白いものを置きたいですよね。このような欲がでてきたらもう沼にはまっています。<br /><br /><h3 class="section_title putit_caption l_green">UdonSharp製ギミックをつくる</h3><br />VRChatのワールド作成は、コンセプトにもよりますがプログラミングスキルがなくても可能です。景観やデザインや雰囲気で魅せるなら光源やモノの配置センスだけで十分すばらしいものができあがります。<br />ですが、VRChatではユーザーが作ったプログラムの実行が制限付きながら許されているので、スクリプトが書けると手の込んだ仕掛けをワールドに配置することもできちゃいます！<br />わたしもプログラミングで食べているSEの端くれ。ここからが腕の見せ所！<br /><br />ここからはスクリプトを一部紹介。<br />このワールドのメインの見せ物は、入り口左手に置いてある「星の弓」です。<br />持ち運べるオブジェクトとしてワールドに配置してあります。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_d02.jpg"><img loading="lazy" class="alignnone size-full wp-image-46656" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_d02.jpg" alt="" width="624" height="339" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_d02.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_d02-300x163.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />この弓には大まかに5つのギミックが設定されています。<br />・弓を持つと矢を引けるようになる<br />・矢を引いて手を離すと矢を生成して飛ばす<br />・弓に付属のボタンを押すと矢を星として固定する<br />・固定した星を線で繋いで星座にする<br />・固定した星を順番に消す<br />ひとつずつ仕組みを解説します！<br />弓は持ち手(見た目は透明)の部分、弓の見た目部分、矢を持つ部分の3パーツで構成されており、持ち手←弓←矢の順で位置と回転を追従することで見かけを制御しています。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_e02.jpg"><img loading="lazy" class="alignnone size-full wp-image-46689" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_e02.jpg" alt="" width="624" height="306" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_e02.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_e02-300x147.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />最初は弓部分と矢の部分の2パーツだけだったのですが、矢を引いている時に弓の回転ができてしまうと系の表示がえらいことになるので、一時的に弓の回転を固定する必要がでてきました。しかしプレイヤーによるPickUpオブジェクトは回転の角度制限ができないため、弓の見た目部分と透明な持ち手部分を分離し、持ち手の回転をContraintで見た目部分に反映する方式にしました。<br />持ち手→弓見た目のConstraintは矢を引いている時だけスクリプトでOFFにします。すると矢を引いている時だけ弓の見た目部分が回転しなくなります。持ち手部分は実はプレイヤーの手の動きに合わせて回転しているのですが、透明なので見えません。<br /><br /><h4 class="section_subtitle putit_caption">弓を持つと矢を引けるようになる</h4>持ち手の部分にUdon BehaviourスクリプトとVRC PickUpコントローラーを付与しています。PickUpコンポーネントを付けることでそのオブジェクトは道具のようにユーザーが持って遊んだり操作できるようになります。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_e08.jpg"><img loading="lazy" class="alignnone wp-image-46699" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_e08.jpg" alt="" width="624" height="198" /></a><br />また、オブジェクトを持った時に紐づけられたUdon Behaviour側のOnPickUp、OnDropイベントが呼ばれます。<br />このスクリプトでは弓の持ち手部分を持ったら、矢の部分のPickUpをtrueにして矢を引けるようにしています。また、弓にくっついている制御用ボタンのアクティブ化も行っています。<br /><pre><code class="&#8221;language-cs&#8221;"><br /></p>
<div>
<div>public override void OnPickup(){ //グリップ部分を掴んだ時の処理</div>
<div>  //矢の部分を掴めるようにする</div>
<div>  ((VRC.SDK3.Components.VRCPickup)myArrow.GetComponent(typeof(VRC.SDK3.Components.VRCPickup))).pickupable = true;</div>
<div>  Networking.SetOwner(Networking.LocalPlayer, this.gameObject); //自分がこの弓のオーナーになる</div>
<div>  Networking.SetOwner(Networking.LocalPlayer, myArrow); //付属の矢もオーナーになる</div>
<div>  Networking.SetOwner(Networking.LocalPlayer, bowMesh); //弓本体見た目部分もオーナーになる</div>
<div>  //各種制御用コントローラーをアクティブに</div>
<div>  controllerUp.SetActive(true);</div>
<div>  controllerRight.SetActive(true);</div>
<div>  controllerLeft.SetActive(true);</div>
<div>}</div>
<br />
<div>//手を離した時の処理</div>
<div>public override void OnDrop(){</div>
<div>  //矢の部分を掴み許可を解除</div>
<div>  ((VRC.SDK3.Components.VRCPickup)myArrow.GetComponent(typeof(VRC.SDK3.Components.VRCPickup))).pickupable = false;</div>
<div>  //各種制御用コントローラーを隠す</div>
<div>  controllerUp.SetActive(false);</div>
<div>  controllerRight.SetActive(false);</div>
<div>  controllerLeft.SetActive(false);</div>
<div>}</div>
</div>
<p></code></pre><br /><h4 class="section_subtitle putit_caption">矢を引いて手を離すと矢を生成して飛ばす</h4>新しいオブジェクトをワールド内に動的に生成するには VRCInstantiate(GameObject) を利用します。<br />生成した後に位置や回転を渡すのを忘れないようにしましょう、<br />ソース内でpublic GameObject ~~~ と書くことで、Unity側でスクリプトで直接呼び出せるGameObjectやPrefabを登録できるようになりますので、使うオブジェクトは列挙して紐付けましょう！<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_e03.jpg"><img loading="lazy" class="alignnone size-full wp-image-46690" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_e03.jpg" alt="" width="624" height="258" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_e03.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_e03-300x124.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />矢の生成処理はワールド内にいる全員で行ってもらいので、SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, &#8220;(関数名)&#8221;); で呼び出します。 ついでに最後に打った矢を変数で保持しておきます。<br /><pre><code class="&#8221;language-cs&#8221;"><br /></p>
<div>
<div>public GameObject starlightArrowPrefab; //発射用の矢のPrefab<br />
<div>
<div>private GameObject lastShootingStar; //最後に射った流れ星</div>
</div>
</div>
<br />
<div>//矢から手を離した時の処理</div>
<div>public override void OnDrop()</div>
<div>{</div>
<div>  //ローカルで引き絞り距離を計算</div>
<div>  Vector3 arrow_transform = this.gameObject.transform.localPosition;</div>
<div>  varhikishibori_y = arrow_transform.y;</div>
<div>  if( hikishibori_y &gt; 0.15f ){ //一定以上矢をひいていれば</div>
<div>    SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, &#8220;Shot&#8221;); //矢を射つイベント(全員)</div>
<div>  }else{ //矢のひきしぼりが足りない</div>
<div>    SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, &#8220;NoShot&#8221;); //矢を射たないイベント</div>
<div>  }</div>
<div>}</div>
<br />
<div>//矢を打つ</div>
<div>public void Shot()</div>
<div>{</div>
<div>  myAnimator.SetTrigger(&#8220;PositionConstraintON&#8221;); //矢を元の位置に戻す</div>
<div> </div>
<div>  GameObject ArrowShoot = VRCInstantiate(starlightArrowPrefab); //Prefabから矢を生成</div>
<div>  ArrowShoot.transform.position = this.gameObject.transform.position; //矢の位置を決める</div>
<br />
<div>  var angles = bowMesh.transform.rotation.eulerAngles; //弓部分の角度を得る</div>
<div>  ArrowShoot.transform.rotation = Quaternion.Euler(angles); //角度をセット</div>
<br />
<div>  Rigidbody ArrowShootRigidbody = ArrowShoot.GetComponent&lt;Rigidbody&gt;(); //矢の「Rigidbody」を取得</div>
<div>  ArrowShootRigidbody.AddForce(bowMesh.transform.forward * shootPower); //Rigidbodyに前方向の推進力を伝える<br /><br />
<div>
<div>  lastShootingStar = ArrowShoot; //最後に射った星として記録</div>
</div>
</div>
<div>}</div>
</div>
<p><br /></code></pre><br /><h4 class="section_subtitle putit_caption">弓に付属のボタンを押すと矢を星として固定する</h4>弓に付属のボタンは別オブジェクト&amp;別スクリプトです。このオブジェクトをInteract(使用)するとグリップ側のイベントを呼ぶようにしました。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_e05.jpg"><img loading="lazy" class="alignnone size-full wp-image-46691" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_e05.jpg" alt="" width="624" height="261" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_e05.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_e05-300x125.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />SendCustomEventで、スクリプト内から別スクリプトの関数を呼び出せます。ただし引数は設定できません。<br /><pre><code class="&#8221;language-cs&#8221;"><br /></p>
<div>
<div>//星生成ボタン側のスクリプト<br />public class StarCreate : UdonSharpBehaviour{</div>
<div>  public GameObject myGrip; //グリップ部分</div>
<div>  private UdonBehaviour gripBehaviour; //グリップのうどん</div>
<br />
<div>  void Start(){</div>
<div>    gripBehaviour = (UdonBehaviour)myGrip.GetComponent(typeof(UdonBehaviour));</div>
<div>  }</div>
<div>  public override void Interact() { //オブジェクト使用時の処理</div>
<div>    gripBehaviour.SendCustomEvent(&#8220;StarCreate&#8221;); //グリップ側のイベント発火</div>
<div>  }</div>
<div>}</div>
</div>
<p><br /></code></pre><br />グリップ側のイベントで前述の発射処理で最後に射った矢を変数で保持しているものを使います。<br />物理情報はRigidbodyが持っているので、GetComponentから矢のRigidbodyを取得し、useGravityをfalse、isKinematicをtrueにするとその物体は物理演算をやめて停止します。<br /><pre><code class="&#8221;language-cs&#8221;"><br /></p>
<div>
<div>
<div>
<div>//持ち手ボタン側のスクリプト
<div>
<div>[SerializeField]private int myStarMaxLength = 12; //星を撒ける最大数</div>
<div>[UdonSynced]private int myStarsIndex = 0; //現在扱っている星</div>
</div>
<br />public void StarCreate(){</div>
<div>  if( lastShootingStar ){ //最後の矢が存在すれば</div>
<div>    SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, &#8220;Burst&#8221;);</div>
<div>  }</div>
<div>}</div>
</div>
<br />//矢を空中で固定し、その場にエフェクトを生成</div>
<div>public void Burst(){</div>
<div>  if( lastShootingStar ){</div>
<div>    Rigidbody lastShootRigidBody = lastShootingStar.GetComponent&lt;Rigidbody&gt;(); //矢のRegidBody取得</div>
<div>    lastShootRigidBody.useGravity = false; //重力無効化</div>
<div>    lastShootRigidBody.isKinematic = true; //その場に固定</div>
<br />
<div>    GameObject effect = VRCInstantiate(createEffect); //作成エフェクトを生成</div>
<div>    effect.transform.position = lastShootingStar.transform.position; //エフェクトの位置を決める</div>
<div>    if (stampSE) stampSE.PlayOneShot(stampSE.clip); //効果音を鳴らす</div>
<br />
<div>    Destroy(lastShootingStar, 3.0f); //矢は用済みなので3秒後に消す<br /><br />
<div>
<div>    myStarsIndex += 1; //星の管理番号を加算</div>
</div>
</div>
<div>  }</div>
<div>}</div>
</div>
<p></code></pre><br /><h4 class="section_subtitle putit_caption">固定した星を線で繋いで星座にする</h4>これは見た目上は複雑なことやってるように見えますが、実は簡単です。それぞれの星をLookAtで一つ前の星に向かせて、距離ぶんの大きさの線を生成しているだけです。生成するPrefabの大きさをデフォルトで横幅1にするのがポイントです。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_e04.jpg"><img loading="lazy" class="alignnone size-full wp-image-46692" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_e04.jpg" alt="" width="624" height="238" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_e04.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_e04-300x114.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />星は12個まで固定できる仕様で、0~11の番号で制御し GameObject配列で管理しています。<br /><pre><code class="&#8221;language-cs&#8221;"><br /></p>
<div>
<div>//星座をつくる(星座ボタンから呼ばれる)</div>
<div>public void DrawConstellation(){</div>
<div>  SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, &#8220;NetworkDrawConstellation&#8221;);</div>
<div>}</div>
<div>public void NetworkDrawConstellation(){</div>
<div>  //myStarsIndex : 現在空に固定済みの星の数</div>
<div>  for( int index = 0; index &lt; myStarsIndex; index++ ){ //手持ちの星すべて処理 index1から始めるので最初の星は処理しない</div>
<div>    GameObject currentStar = myStars[index];//最新の星</div>
<div>    GameObject backStar = myStars[index-1]; //一つ前の星</div>
<div>    if( currentStar &amp;&amp; backStar ){ //最新と前の星がちゃんとあれば</div>
<div>      float distance = Vector3.Distance(currentStar.transform.position,backStar.transform.position); //距離を算出</div>
<div>      GameObject stellaLineSky = VRCInstantiate(stellaLine); //星座の線を生成</div>
<div>      stellaLineSky.transform.position = currentStar.transform.position; //星の位置に移動</div>
<div>      stellaLineSky.transform.LookAt(backStar.transform); //星座の線を一つ前の星へ向ける</div>
<div>      Vector3 localScale = stellaLineSky.transform.localScale; //拡大率(ローカル)</div>
<div>      localScale.z = distance; //距離を拡大率に代入</div>
<div>      stellaLineSky.transform.localScale = localScale; //ローカル拡大率に反映</div>
<div>      stellaLineSky.transform.parent = currentStar.transform; //親を最新の星にする(親の星が消えれば線も消えるようになる)</div>
<div>    }</div>
<div>  }</div>
<div>}</div>
</div>
<p><br /></code></pre><br /><h4 class="section_subtitle putit_caption">固定した星を順番に消す</h4>こちらはもっと単純で、星を固定した後に加算する管理番号でGameObject配列から消したいオブジェクトを引っ張り出してDestroyしています。消したら管理番号の数も減算します。<br /><pre><code class="&#8221;language-cs&#8221;"><br /></p>
<div>
<div>//星を消すイベント(別ボタンから呼ばれる)</div>
<div>public void StarDestroy(){</div>
<div>  SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, &#8220;RefreshLastStar&#8221;);</div>
<div>}</div>
<br />
<div>//夜空に配置した星をひとつ消す</div>
<div>public void RefreshLastStar(){</div>
<div>  //myStarsIndex : 現在空に固定済みの星の数</div>
<div>  if( myStarsIndex &gt; 0 ){</div>
<div>    var lastStar = myStars[myStarsIndex-1];</div>
<div>    if( lastStar ){</div>
<div>      Destroy(lastStar, 0.0f); //星を即座に消す</div>
<div> </div>
<div>      GameObjecteffect = VRCInstantiate(destroyEffect); //削除エフェクトを生成</div>
<div>      effect.transform.position = lastStar.transform.position; //エフェクトの位置を決める</div>
<div>      Destroy(effect, 5.0f); //エフェクトは5秒後に消す</div>
<div>      myStarsIndex -= 1; //管理番号をひとつ戻す</div>
<div>    }</div>
<div>  }</div>
<div>}</div>
</div>
<p></code></pre><br />他にも細かい制御がありますが、大まかにはこんな感じです！<br /><br /><h4 class="section_subtitle putit_caption">おまけ:矢の衝突判定</h4>矢と星の処理とは直接関係ないのですが、矢がおうちまたはワールド内にあるターゲットに当たると消滅する処理をいれました。<br />おうちの中でくつろいでいる時に矢が部屋の中に飛んできたら落ち着かないだろうなと思ったためです。<br />最初は当たったオブジェクトのレイヤーで条件付けを試したのですが、何故かうまくいかなかったため最終的には当たったGameObjectの名前部分一致で処理を発火させるようにしました。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_e07.jpg"><img loading="lazy" class="alignnone wp-image-46696" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_e07.jpg" alt="" width="624" height="236" /></a><br />こちらではTargetと名のつくオブジェクトに紐づいたTriggerコライダーに当たった時に処理を行うようにし、おうち型の当たり判定を用意しています。<br /><pre><code class="&#8221;language-cs&#8221;"><br />//矢(Perfab生成)のスクリプト</p>
<div>
<div>//入ってはいけないところに矢が入った時またはTargetに当てた時に矢が消滅する</div>
<div>public void OnTriggerEnter(Collider other){ //トリガーに入った時</div>
<div>  triggerTarget(other);</div>
<div>}</div>
<div>public void OnTriggerStay(Collider other){ //トリガーの中にいる時</div>
<div>  triggerTarget(other);</div>
<div>}</div>
<div>public void triggerTarget(Collider other){ //実際の処理</div>
<div>  if( hit ){ return; } //private変数 既に何かに当たってたら処理しない</div>
<div>  if (other != null){ //コライダーのnullチェック(念の為)</div>
<div>    string otherAsString = ((object)other).ToString();</div>
<div>    if (otherAsString.Contains(&#8220;VRCPlayer&#8221;)){ //他のプレイヤーに当たった時</div>
<div>      //何も演出しないことにした</div>
<div>    }else if(otherAsString.Contains(&#8220;Target&#8221;)){ //名前にTargetが含まれている</div>
<div>      //自分オブジェクトその場で停止する</div>
<div>      Rigidbody myRigidBody = this.gameObject.GetComponent&lt;Rigidbody&gt;(); //自分のRegidBody取得</div>
<div>      myRigidBody.useGravity = false; //重力オフ</div>
<div>      myRigidBody.isKinematic = true; //その場に固定</div>
<div>      MeshRenderer myRenderer = this.gameObject.GetComponent&lt;MeshRenderer&gt;(); //メッシュレンダラ取得</div>
<div>      myRenderer.enabled = false; //矢の見た目だけオフにする(すぐ消すと軌跡が残らないため)</div>
<div>      Destroy(this.gameObject, 3.0f); //3秒後に破棄</div>
<div>      //エフェクト</div>
<div>      GameObject effect = VRCInstantiate(destroyEffect); //エフェクトを生成</div>
<div>      effect.transform.position = this.gameObject.transform.position; //エフェクトの位置を矢と同じにする</div>
<div>      Destroy(effect, 5.0f); //5秒後に破棄</div>
<div>      hit = true; //ヒットフラグON(2回目は処理しない)</div>
<div>    }</div>
<div>  }</div>
<div>}</div>
</div>
<p><br /></code></pre><br /><h4 class="section_subtitle putit_caption">おまけ:弓以外のギミック</h4>他、置いてあるスイーツとドリンクを飲み食いできる機能もUdonSharpで組みました。こちらはアニメーターで出し入れなど見かけを作って、UdonSharp側は簡単なフラグ管理とPickUpから取り上げるのと位置リセットのみ行ってます。<br />こちらはスイーツ食べるやつのソース(全文)<br /><pre><code class="&#8221;language-cs&#8221;"><br /></p>
<div> </div>
<p>using UdonSharp;</p>
<p><br />using UnityEngine;</p>
<p><br />using VRC.SDKBase;</p>
<p><br />using VRC.Udon;</p>
<p>&nbsp;</p>
<p>public class EatSweets : UdonSharpBehaviour</p>
<p><br />{</p>
<p><br />private Vector3 respawnPosition; //リポップする時の位置</p>
<p><br />private Quaternion respawnRotation; //リポップする時の回転</p>
<p><br />private float deltaTime = 0.0f; //経過時間</p>
<p><br />private bool eated = false; //食べました</p>
<p><br />[SerializeField] private Animator myAnimator; //アニメーター</p>
<p><br />[SerializeField] private AudioSource eatSE; //食べる音</p>
<p>&nbsp;</p>
<p><br />void Start(){</p>
<p><br /> //初期位置を保管</p>
<p><br /> respawnPosition = this.gameObject.transform.position;</p>
<p><br /> respawnRotation = this.gameObject.transform.rotation;</p>
<p><br />}</p>
<p>&nbsp;</p>
<p><br />private void Update()</p>
<p><br />{</p>
<p><br /> deltaTime += Time.deltaTime; //経過時間を足す</p>
<p><br /> if( eated &amp;&amp; deltaTime &gt; 1.5f ){ //一定時間たっていれば位置を戻す</p>
<p><br />  this.gameObject.transform.position = respawnPosition;</p>
<p><br />  this.gameObject.transform.rotation = respawnRotation;</p>
<p><br />  eated = false; //食べフラグ初期化</p>
<p><br /> }</p>
<p><br />}</p>
<p>&nbsp;</p>
<p><br />public override void OnPickupUseDown() { //このオブジェクトを持って使った時</p>
<p><br /> SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, &#8220;Eat&#8221;); //ワールド内全員にイベント通知</p>
<p><br />}</p>
<p>&nbsp;</p>
<p><br />//ワールド内全員に処理してもらう</p>
<p><br />public void Eat(){</p>
<p><br /> if (eatSE) eatSE.PlayOneShot(eatSE.clip); //食べる音</p>
<p><br /> myAnimator.SetTrigger(&#8220;Eat&#8221;); //アニメーター発火(縮小していくやつ)</p>
<p><br /> deltaTime = 0; //経過時間を初期化</p>
<p><br /> eated = true; //たべたフラグ</p>
<p>&nbsp;</p>
<p><br /><br /> //ピックアップから強制的に手を離す</p>
<p><br /> VRC_Pickup pickup = (VRC_Pickup)this.gameObject.GetComponent(typeof(VRC_Pickup));</p>
<p><br /> pickup.Drop();</p>
<p><br /> }</p>
<p><br />}</p>
<p></code></pre><br /><h3 class="section_title putit_caption l_green">ギミックの同期問題</h3><br />上記のギミックは一人で動かすぶんには何の問題もなかったのですが、いざ他人をワールドに呼んでテストしてみると色々と不具合が出ることが判明しました…。<br />ネットワークを介した挙動となると途端に気を遣う部分がたくさん出てきて大変になります！<br /><h4 class="section_subtitle putit_caption">同期の基本</h4>Udonには便利な「VRC Object Sync」というコンポーネントが用意されています。基本的にはこのコンポーネントを付与しておけば位置や状態が他のプレイヤーと同期されるようになります！<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_d04.jpg"><img loading="lazy" class="alignnone size-full wp-image-46658" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_d04.jpg" alt="" width="624" height="267" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_d04.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_d04-300x128.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />逆に言うと、このコンポーネントを付与していない物体は何も同期しません。基本はローカル動作で、グローバル化したい物には全て「VRC Object Sync」を付けなければなりません。<br /><br /><h4 class="section_subtitle putit_caption">うまく同期されないケース</h4>これが最大のワナだったのですが、Instantiateで<span class="bold">動的に生成したオブジェクトはVRC Object Syncを付与していても同期されません！</span><br />つまり、同期を行いたいオブジェクトは最初からワールドに配置した状態にしなければならなかったのです。<br />これでは矢から星を生成しても位置が完全には合わなくなるし、後からワールドに入ってきた人には生成済みの星が見えなくなります。これでは会話が噛み合わず遊んでいるひとが困っちゃいます。<br />そこで、やむをえず星として夜空に固定するオブジェクトはあらかじめワールドの下に埋めて隠しておく方式に変更しました。泥臭くてあまり美しくないやり方ですが仕方なし。この都合により星は最大12発しか固定できません。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_d03.jpg"><img loading="lazy" class="alignnone size-full wp-image-46657" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_d03.jpg" alt="" width="624" height="357" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_d03.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_d03-300x172.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />矢のほうはその場で生成しているので無限に打てます。ワールドに入っている人全員に矢の発射イベントを投げれば弓の現在位置と角度に基づいてだいたい合ってる感じで射出されます！<br /><br /><h4 class="section_subtitle putit_caption">その他、同期挙動の細かいところ</h4>VRC Object Syncは[Udon synced]を付与すればUdon Behaviourスクリプト内の変数も同期してくれます。射った矢の番号はこの仕組みで同期しています。<br />オブジェクト位置の同期は静止中は常にしているわけではなく、移動時のみ再判定されるとのことなので、矢を射ったり弓を持ったりといった動作をするたびに全ての固定済みの星を誤差ミリ程度にズラすことで念入りに位置同期するようにしました。<br />また、プレイヤーのワールド離脱時に誰のものでもなくなった弓は同期が怪しくなるため、自動的にオーナーになったプレイヤー側で明示的に位置合わせを行うようにしました。<br /><pre><code class="&#8221;language-cs&#8221;"><br /></p>
<div>
<div>private float deltaTime = 0.0f; //経過時間</div>
<div>private bool syncedToPlayerLeft = false; //プレイヤーいなくなった後に同期するフラグ</div>
<div>private float toggleStarPosition = -0.0001f; //同期するときに微妙に星をずらす時に足す座標(毎回反転する)</div>
<div> </div>
<div>public override voidOnPlayerJoined(VRCPlayerApi player){</div>
<div>  //プレイヤーが入ってきた時、自分がオーナーなら全ての星を再確認する</div>
<div>  if (Networking.IsOwner(this.gameObject) ){</div>
<div>    RefreshStarsCheck(); //全ての星を確認</div>
<div>  }</div>
<div>}</div>
<div>//プレイヤーがどっかいった時</div>
<div>public override void OnPlayerLeft(VRCPlayerApi player){</div>
<div>  deltaTime = 0;</div>
<div>  syncedToPlayerLeft = true; //同期用フラグON</div>
<div>}</div>
<br />
<div>private void Update(){</div>
<div>  deltaTime += Time.deltaTime; //経過時間を足す</div>
<div>  //プレイヤー離脱後、一定時間したら同期を行う</div>
<div>  if( syncedToPlayerLeft &amp;&amp; deltaTime &gt; 5.0f ){</div>
<div>    syncedToPlayerLeft = false;</div>
<div>    if (Networking.IsOwner(Networking.LocalPlayer, this.gameObject)){ //オーナーになってたら</div>
<div>      getAllPartsOwner(); //全てを相続する</div>
<div>    }</div>
<div>  }</div>
<div>}</div>
<div>//この弓に関連するすべてのパーツのオーナーを得る</div>
<div>public void getAllPartsOwner(){</div>
<div>  Networking.SetOwner(Networking.LocalPlayer, myAnimator.gameObject); //弓の一番親のオーナーになる</div>
<div>  Networking.SetOwner(Networking.LocalPlayer, this.gameObject); //自分がこの弓のオーナーになる</div>
<div>  Networking.SetOwner(Networking.LocalPlayer, myArrow); //付属の矢もオーナーになる</div>
<div>  Networking.SetOwner(Networking.LocalPlayer, bowMesh); //弓本体ビジュアルもオーナーになる</div>
<div>  for( int index = 0; index &lt; myStarMaxLength; index++ ){ //全ての星に実行</div>
<div>    var star = myStars[index];</div>
<div>    if( star ){</div>
<div>      Networking.SetOwner(Networking.LocalPlayer, star); //うちの子です</div>
<div>    }</div>
<div>  }</div>
<div>  RefreshStars(); //全ての星を確認</div>
<div>}</div>
<div>//すべての星を確認する(オーナー専用)</div>
<div>publicvoidRefreshStars(){</div>
<div>  toggleStarPosition *= -1;</div>
<div>  for( int index = 0; index &lt; myStarMaxLength; index++ ){ //全ての星に実行</div>
<div>    var star = myStars[index];</div>
<div>    if( star ){</div>
<div>      star.transform.position += newVector3(0,0 + toggleStarPosition ,0);</div>
<div>    }</div>
<div>  }</div>
<div>}</div>
</div>
<p></code></pre><br /><h3 class="section_title putit_caption l_green">仕上げ(軽量化とベイク)</h3><br />ここからはやらなくてもワールドが動作する部分ですが、光源やオブジェクトを置きすぎて重くなっていたので力を入れて取り組みました。<br />快適なワールド作りのためにはある意味いちばん大事なところかも。<br /><br /><h4 class="section_subtitle putit_caption">オブジェクトのStatic化</h4>まず、オブジェクトには動くモノと動かないモノがあります。ワールド内に置いてある弓や飲み物や本などは掴んで移動することができるので当然「動くモノ」です。<br />しかし家や木や山はその場から絶対に移動しません。移動しないなら影の計算や物理演算を一部省略することができるため「このオブジェクトは絶対動かしませんよ」と、あらかじめ登録しておくことで処理を軽くできるわけです！<br /><br />Static(静的オブジェクト)の登録はインスペクターの右上のチェックを行うことでできます。動かないものはどんどんstatic化しましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_d05.jpg"><img loading="lazy" class="alignnone size-full wp-image-46659" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_d05.jpg" alt="" width="624" height="253" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_d05.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_d05-300x122.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />諸々配置が終わったら、動く可能性のあるギミック系と、動かない建物と、建物の外のオブジェクトとで大まかにオブジェクトを親子関係にして分けました。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_g03.jpg"><img loading="lazy" class="alignnone size-full wp-image-46722" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_g03.jpg" alt="" width="624" height="269" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_g03.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_g03-300x129.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />こうすると一括でStatic化チェック管理ができて楽になります！<br /><br /><h4 class="section_subtitle putit_caption">インポート設定による容量圧縮</h4>ワールドに読み込むテクスチャや3Dモデルのインポート設定をいじると、見た目の影響を少なめに容量を削減できます。<br />まずはテクスチャ。最大サイズを下げることで画像を軽量化できます。ちょっとした手のひらサイズの小物程度であれば256や128でも見た目の影響はそんなに無かったりします。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_h06.jpg"><img loading="lazy" class="alignnone size-full wp-image-46738" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_h06.jpg" alt="" width="624" height="445" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_h06.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_h06-300x214.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />逆に、壁や床など面積が大きいものは解像度を低くするとぼんやりとしますので、512や1024などを選んでおいたほうが無難です。<br /><br />次に3Dモデル。メッシュ圧縮を設定すると容量を削減できます。見た目が大体あってればOK程度のオブジェクトはどんどん圧縮しましょう。中程度なら影響も少ないようです。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_h07.jpg"><img loading="lazy" class="alignnone size-full wp-image-46739" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_h07.jpg" alt="" width="624" height="416" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_h07.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_h07-300x200.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />また、後述のライトベイク対象として使う3Dモデルの場合は「ライトマップUV生成」をONに設定しておきましょう。この設定をしないとライトベイクが正しくできません。<br /><br /><h4 class="section_subtitle putit_caption">ライトベイク</h4>軽量化のための最重要作業。それがライトベイクです！ これは必ずおさえておきたい。<br />ライトベイクが何かというと、ひとことで言うと<span class="bold">光の当たり具合をテクスチャに焼き付ける</span>ことです。<br />光源がオブジェクトに当たって影を落とす計算は負荷が大きく、リアルタイムで行うと処理落ちします。光源をたくさん置いたり、影の計算対象のオブジェクトが増えれば増えるほど顕著になります。それを解決するのがライトベイク！<br />まず、こちらがライトベイク済みの室内です。特に違和感ないと思います。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f01.jpg"><img loading="lazy" class="alignnone size-full wp-image-46705" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f01.jpg" alt="" width="624" height="304" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_f01.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_f01-300x146.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />しかし、家具をどかしてみると…。床に家具の影がお化けみたいに焼き付いています。こわいね。影の計算はその場ではしていなくて、あらかじめ床に影の模様が描かれているのです。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f02.jpg"><img loading="lazy" class="alignnone size-full wp-image-46706" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f02.jpg" alt="" width="624" height="304" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_f02.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_f02-300x146.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />オブジェクトをStatic化して「絶対にその場所から動かない」とわかっているなら影が動くことはないのですから、リアルタイム計算する必要がなくなるためです。実はこれ、コンシューマゲームなどでもよく使われている手法だったりします。<br /><br />ライトベイクは、画面上にあるウィンドウ→レンダリング→ライティング設定 から行うことができます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f04.jpg"><img loading="lazy" class="alignnone size-full wp-image-46708" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f04.jpg" alt="" width="624" height="366" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_f04.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_f04-300x176.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />設定は詳しく解説しているサイトさんを参考にしてください。解像度は高いほど綺麗になりますが、ワールド読み込み時のサイズが重くなります。一度ダウンロードしてワールドに入ってしまえば軽いのですが、ライトベイクするということはテクスチャが増えるので必然的にサイズが増えます。<br />あまりサイズを肥大化させたくない場合はベイクを行う対象を絞りましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f06.jpg"><img loading="lazy" class="alignnone size-full wp-image-46711" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f06.jpg" alt="" width="624" height="315" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_f06.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_f06-300x151.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />ライトベイクしたくないオブジェクトのMeshRendererのグローバルイルミネーションをOFFにすればベイク対象から外せます。<br /><br />いろいろ準備できたら「ライティングの生成」を押せばライトベイクが開始されます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f05.jpg"><img loading="lazy" class="alignnone size-full wp-image-46709" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f05.jpg" alt="" width="624" height="326" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_f05.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_f05-300x157.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />CPUスペックにもよりますが、けっこう重い計算なので場合によっては数十分から数時間待たされることもあります。PCを長時間放置できるタイミングで行うようにしましょう。つよつよGPUがあるなら別ですが！<br /><br />他にもライトベイクに関連して「ライトプローブ」も配置しました。こちらはベイク済みのライトの影響を動的なオブジェクトに受けさせたい場合に役立つ仕組みです。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f03.jpg"><img loading="lazy" class="alignnone size-full wp-image-46707" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f03.jpg" alt="" width="624" height="315" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_f03.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_f03-300x151.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />ただ、ひとつひとつ配置するのが面倒だったので「Magic Light Probes」というアセット(有料)を使って自動配置しちゃいました。作業にかかる時間を考えたら買ったほうが早いかなって…。金で解決。<br /><br /><h4 class="section_subtitle putit_caption">メッシュベイク</h4>ライトベイクだけでも十分軽くなりますが、さらに軽さを追求したいのであればメッシュベイクでしょう。<br />これは同じような見た目のモノが複数置いてある時や、細々したオブジェクトがたくさん置いてある時に有効です。<br />下の画像のように雑多にモノが配置されている場合、ひとつひとつのオブジェクトに座標や回転などが設定され、別々に描画処理が走るのでモノを置くほど負荷が増えるのですが…。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_g04.jpg"><img loading="lazy" class="alignnone size-full wp-image-46728" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_g04.jpg" alt="" width="624" height="254" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_g04.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_g04-300x122.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />メッシュベイクすれば「小物がたくさん集まっている見た目の、一つのオブジェクト」として扱われるので、見た目に反して負荷がかからなくなります！<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_g05.jpg"><img loading="lazy" class="alignnone size-full wp-image-46729" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_g05.jpg" alt="" width="624" height="257" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_g05.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_g05-300x124.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />見かけ上はモノがいっぱい置いてあるように見えますが、全にして一なのです。ただし、その場から動かさないstatic化が条件。<br /><br />これはBlenderなどをうまく使えば人力でできなくもないのですが、基本はツールを使うことをオススメします。<br />わたしは「Mesh Combine Studio」というアセット(有料)を使ってボタン一つで結合/解除できるようにしちゃいました。作業にかかる時間を考えたら買ったほうが早いかなって…。金で解決。<br />このアセットはとても使いやすくてオススメです！ まとめたいGameObjectの親を放り込んでボタンを押せば全部やってくれます。建物の1階部分はこのアセットでくっつけてあります。ちゃんと結合後の見た目でライトベイクも考慮してくれます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_g06.jpg"><img loading="lazy" class="alignnone size-full wp-image-46730" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_g06.jpg" alt="" width="624" height="252" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_g06.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_g06-300x121.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />マテリアルの結合はできないため、床や壁など同じマテリアルを使った構造物をまとめるのに適しています。<br /><br />無料の「Mesh Baker」というアセットも良いです！ こちらも併用しました。<br />こちらは一度ベイクしたものを元に戻す手順が若干面倒ですが、ぜんぶばっちり配置した後に最終的にベイクするのであれば問題なさそうです。<br /><br /><h4 class="section_subtitle putit_caption">オクルージョンカリング</h4>これも地味に重要。<br />ひとことで言うと「見えない場所は描画しない」という設定です。<br />ユーザーの視界に入っていない部分も常に描画していると負荷になりますから、描画を行わないようにします。これもあらかじめStatic設定しているオブジェクトが影響を受けます。明示的にONにする必要があるので忘れずに設定しましょう。<br />ウィンドウ→レンダリング→オクルージョンカリングから設定画面を開きます。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f07.jpg"><img loading="lazy" class="alignnone size-full wp-image-46723" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f07.jpg" alt="" width="624" height="410" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_f07.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_f07-300x197.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />ライトベイクと同じように「ベイク」を押す事でいまstatic化されているオブジェクトの位置を元にオクルージョンカリングの設定が行われます。static化オブジェクトが増減したら再度ベイクしましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f08.jpg"><img loading="lazy" class="alignnone size-full wp-image-46724" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f08.jpg" alt="" width="624" height="406" srcset="https://yugalab.net/wp-content/uploads/2022/09/20220915_f08.jpg 624w, https://yugalab.net/wp-content/uploads/2022/09/20220915_f08-300x195.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />「遮蔽物の最小値」は、この値より小さいサイズのものは非表示処理に含まれなくなります。<br />「最小の穴」は、カメラから見る事ができるワールド内の小さな隙間より小さく設定してください。うまく設定されていないと、モノとモノの隙間から景色を覗いた時などに視界内にあるのにオブジェクトが消えることがあります。<br /><br />設定が完了すると、カメラの視界から外れて見えない位置にあるモノがスッと消えるようになります。こわいね。<br /><a href="https://yugalab.net/wp-content/uploads/2022/09/20220915_f09.gif"><img loading="lazy" class="alignnone wp-image-46725" src="https://yugalab.net/wp-content/uploads/2022/09/20220915_f09.gif" alt="" width="624" height="406" /></a><br />現実も実は人間が観測していない場所は暗闇なのかもしれないですね。<br /><br />以上です！<br />VRChatは無料だしPCだけでもできますが、VR機器があるともっと楽しいです。MetaQuestなど購入した方は是非一度はやってみて！</p><p>The post <a href="https://yugalab.net/archives/46481">【VRChat】自作ワールド作りました！ いろいろメモ(作業手順、UdonSharp、軽量化など)</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://yugalab.net/archives/46481/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Blender】ボーンを動かしてアニメーションを作成する</title>
		<link>https://yugalab.net/archives/2570</link>
					<comments>https://yugalab.net/archives/2570#comments</comments>
		
		<dc:creator><![CDATA[ユーリ]]></dc:creator>
		<pubDate>Fri, 18 Sep 2015 03:00:08 +0000</pubDate>
				<category><![CDATA[Blender]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[(フラグ)ランダム非表示]]></category>
		<category><![CDATA[3D]]></category>
		<guid isPermaLink="false">http://yugalab.net/?p=2570</guid>

					<description><![CDATA[<p>お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。その３　 前回の記事はこちらです↓今回は、ボーンの位置、回転などの状態をひとつひとつ登録していき、登録したものを繋げてアニメーションさせる、という作業を行い [&#8230;]</p>
<p>The post <a href="https://yugalab.net/archives/2570">【Blender】ボーンを動かしてアニメーションを作成する</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。その３　 <br /><span id="more-2570"></span><br />前回の記事はこちらです↓<br /><a href="https://yugalab.net/archives/2446" target="_blank" class="bg_technical minipost_link_wrap hover_fade clearfix"><div class="minipost_link_img"><img width="300" height="185" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_d01.gif" class="minipost_link_img_inner" alt="" loading="lazy" /></div><div class="minipost_link_title"><span class="l_gray f080">ユガラボ | 2015/09/11</span><br />【Blender】メッシュにボーン(Armature)を入れてポーズ変更できるようにする</div></a><br /><br />今回は、ボーンの位置、回転などの状態をひとつひとつ登録していき、<br />登録したものを繋げてアニメーションさせる、という作業を行います！<br /><br /><h3 class="section_title putit_caption l_green">マスターボーンを追加する。</h3><br />前回までの記事の手順通り、<br />メッシュにボーンをいれてペアリングまでが完了しているものとします。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_a01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2620" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_a01.jpg" alt="20150918_a01" width="300" height="376" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_a01.jpg 300w, https://yugalab.net/wp-content/uploads/2015/09/20150918_a01-239x300.jpg 239w" sizes="(max-width: 300px) 100vw, 300px" /></a><br /><br />このままだと、背骨の下部分と腰の付け根部分がまだ繋がっていません。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_a02.gif"><img loading="lazy" class="alignnone size-full wp-image-2621" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_a02.gif" alt="20150918_a02" width="200" height="226" /></a><br />アニメーションさせる際も、このままでは不便なので<br />「マスターボーン」を追加する作業を行います。<br /><br />マスターボーンは、全てのボーンの親となるボーンで、<br />マスターボーンを動かせば子になっている全てのボーンを動かしたり回転させたりできます。<br /><br />まず、編集モードに入り背骨の真ん中あたりのボーンのTipを選択します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_a03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2622" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_a03.jpg" alt="20150918_a03" width="300" height="345" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_a03.jpg 300w, https://yugalab.net/wp-content/uploads/2015/09/20150918_a03-260x300.jpg 260w" sizes="(max-width: 300px) 100vw, 300px" /></a> <br />そこから後ろに向かってボーンを押し出します。(ホントはどこから押し出してもいいのですが、位置的にわかりやすいので)<br />視点を平行視点<span class="bold">(テンキー5)</span>の真横から<span class="bold">(テンキー3)</span>にするとやりやすいです。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_a04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2623" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_a04.jpg" alt="20150918_a04" width="300" height="282" /></a><br /><span class="bold">Eキー</span>の押し出しを押してから、<span class="bold">Yキー</span>を押せば移動座標軸がY軸に固定されます。<br />この操作をすると、背骨のボーンの子としてボーンが作られますが、まずはそれで大丈夫です。<br /><br />新しく押し出したボーンの名前を「Master」とします。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_a05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2624" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_a05.jpg" alt="20150918_a05" width="177" height="106" /></a><br />編集モードで画面右のアウトライナーからこのボーンのプロパティを開き、<br />「親」のボーン関連付けを解除し、このボーンを独立したボーンにします。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_a06.jpg"><img loading="lazy" class="alignnone size-full wp-image-2625" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_a06.jpg" alt="20150918_a06" width="400" height="548" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_a06.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150918_a06-218x300.jpg 218w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />今度は逆に、すでにある背骨、右足の付け根、左足の付け根の３つの親ボーンを設定します。<br />「親:」からMasterボーンを選ぶことで、Masterボーンの子となります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_a07.gif"><img loading="lazy" class="alignnone size-full wp-image-2626" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_a07.gif" alt="20150918_a07" width="250" height="549" /></a><br /><br />これで、すべてのボーンをMasterボーンの子としてまとめることができました。<br /><br />マスターボーンは、ペアリング後に追加したボーンなので、曲げたり伸ばしたりしても、<br />メッシュの形が変わらないようになっています。<br /><br /><h3 class="section_title putit_caption l_green">アニメーション登録前の準備</h3><br />ここまででボーンの作成が完了したので、<br />アニメーション編集の際に見やすくなるよう、表示状態を変更します。<br /><br />アウトライナーのアーマチュアプロパティを選び、表示を<span class="l_blue">「八面体」</span>から<span class="l_blue">「スティック」</span>に変更しましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_b01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2627" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_b01.jpg" alt="20150918_b01" width="300" height="468" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_b01.jpg 300w, https://yugalab.net/wp-content/uploads/2015/09/20150918_b01-192x300.jpg 192w" sizes="(max-width: 300px) 100vw, 300px" /></a><br />これでメッシュが見やすくなりました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_b02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2628" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_b02.jpg" alt="20150918_b02" width="300" height="382" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_b02.jpg 300w, https://yugalab.net/wp-content/uploads/2015/09/20150918_b02-235x300.jpg 235w" sizes="(max-width: 300px) 100vw, 300px" /></a><br /><br />次に、画面下のエディターを「ドープシート」に変更します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_b03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2629" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_b03.jpg" alt="20150918_b03" width="300" height="473" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_b03.jpg 300w, https://yugalab.net/wp-content/uploads/2015/09/20150918_b03-190x300.jpg 190w" sizes="(max-width: 300px) 100vw, 300px" /></a><br />このシートにポーズを一つ一つ登録していくことで、アニメーションを作成することができます。<br />ドープシートメニューのアクションモードを使用します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_b04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2630" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_b04.jpg" alt="20150918_b04" width="500" height="142" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_b04.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150918_b04-300x85.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br /><br /><h3 class="section_title putit_caption l_green">モーション作成！</h3><br />歩行モーションを作ってみましょう。<br />「新規」をクリックして新しいアニメーションを登録します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2631" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c01.jpg" alt="20150918_c01" width="500" height="98" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_c01.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150918_c01-300x58.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />アニメーション名は「walk(loop)」としました。<br />名前を決めたら右にある<span class="bold">「F」</span>のボタンを押しておいてください。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2632" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c02.jpg" alt="20150918_c02" width="415" height="136" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_c02.jpg 415w, https://yugalab.net/wp-content/uploads/2015/09/20150918_c02-300x98.jpg 300w" sizes="(max-width: 415px) 100vw, 415px" /></a><br />これを押さないと作ったモーションが保存されません！<br />また、フレームを1コマ目に合わせておいてください。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2633" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c03.jpg" alt="20150918_c03" width="259" height="225" /></a><br /><br />歩行モーションですから、<br />「足を前に出す」<br />「足に合わせて腕を降る」<br />「腰、背中を歩く姿勢に合わせて軽く曲げる」などの動作になります。<br />まずは、1コマ目の動作として右足を前に出す動作を登録します。<br /><br />まずは、「右足を前に出すポーズ」を作ります。<br /><span class="bold">右クリック</span>で曲げたいボーンを選択し、<span class="bold">rキー</span>で角度調節を行っていきます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c04.gif"><img loading="lazy" class="alignnone size-full wp-image-2638" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c04.gif" alt="20150918_c04" width="300" height="263" /></a><br />ひとつひとつのボーンを調整し、納得するポーズになったら「キーフレーム」を登録します。<br />3Dビュー上で<span class="bold">Iキー</span>を押し、キーフレーム挿入メニューを開いて「位置/回転」をクリックします。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2639" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c05.jpg" alt="20150918_c05" width="400" height="359" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_c05.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150918_c05-300x269.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />これで、いま作成したポーズが登録されました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c06.jpg"><img loading="lazy" class="alignnone size-full wp-image-2640" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c06.jpg" alt="20150918_c06" width="400" height="258" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_c06.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150918_c06-300x193.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />このポーズは右足を前に出していますが、これを左右判定して左足を前に出したポーズにします。<br />ドープシート上でキーフレームの一番上の「ドーブシート概要」の列を<span class="bold">右クリック</span>で選択します。これでこのフレームの全てのボーンの位置状態を選択できます。<br /><span class="bold">Ctrl + C</span>でポーズごとコピーします。<br />そして、21フレーム目あたりをクリックして<span class="bold">Shift + Ctrl + V</span>で「左右反転ペースト」を行います。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c07.jpg"><img loading="lazy" class="alignnone size-full wp-image-2641" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c07.jpg" alt="20150918_c07" width="535" height="575" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_c07.jpg 535w, https://yugalab.net/wp-content/uploads/2015/09/20150918_c07-279x300.jpg 279w" sizes="(max-width: 535px) 100vw, 535px" /></a><br />左足を前に出したポーズが生成されました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c08.jpg"><img loading="lazy" class="alignnone size-full wp-image-2642" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c08.jpg" alt="20150918_c08" width="245" height="327" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_c08.jpg 245w, https://yugalab.net/wp-content/uploads/2015/09/20150918_c08-224x300.jpg 224w" sizes="(max-width: 245px) 100vw, 245px" /></a><br />次に、41フレーム目あたりに最初に作った右足を前に出したポーズを左右反転せずそのままペーストします。<br />ポーズのペーストは<span class="bold">Ctrl + V</span>で大丈夫です。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c09.jpg"><img loading="lazy" class="alignnone size-full wp-image-2643" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c09.jpg" alt="20150918_c09" width="535" height="551" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_c09.jpg 535w, https://yugalab.net/wp-content/uploads/2015/09/20150918_c09-291x300.jpg 291w" sizes="(max-width: 535px) 100vw, 535px" /></a><br />これで1~41フレームにかけて<br />「右足を前に出したポーズ」<br />「左足を前に出したポーズ」<br />「右足を前に出したポーズ」<br />の3つが登録されました。<br />一旦、この状態でアニメーションさせてみましょう。<br />左下のビューを「タイムライン」に切り替えます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_c10.jpg"><img loading="lazy" class="alignnone size-full wp-image-2644" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_c10.jpg" alt="20150918_c10" width="346" height="198" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_c10.jpg 346w, https://yugalab.net/wp-content/uploads/2015/09/20150918_c10-300x171.jpg 300w" sizes="(max-width: 346px) 100vw, 346px" /></a> <br />ここでアニメーション開始フレームと終了フレームを設定することができます。<br />開始を「1」、終了を「41」に設定しましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_d01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2645" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_d01.jpg" alt="20150918_d01" width="400" height="158" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_d01.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150918_d01-300x118.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br /><br />設定したら<span class="bold">alt + A</span>で再生ができます！<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_d02.gif"><img loading="lazy" class="alignnone size-full wp-image-2646" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_d02.gif" alt="20150918_d02" width="300" height="351" /></a><br />おお！？うーん。<br />いちおう手足を前後に振って動いてくれましたが、まだ躍動感が足りません。<br />こんなときは中間フレームを登録して動きを補間しましょう。<br />1フレーム目の「右足を前に出したポーズ」と<br />21フレーム目の「左足を前に出したポーズ」の中間に位置する<br />11フレーム目を選択します。ここのポーズを調整します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_d03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2647" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_d03.jpg" alt="20150918_d03" width="400" height="497" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_d03.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150918_d03-241x300.jpg 241w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />いまのままだと、宙に浮いているようなポーズになっています。<br />人間はふつう、歩行中にこんなポーズにはならないハズです。<br />足の角度を調節して、地に足がついたカンジにしました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_d04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2648" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_d04.jpg" alt="20150918_d04" width="400" height="518" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_d04.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150918_d04-231x300.jpg 231w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />また全体の座標を少し前寄りにし、肩と腕の角度も少し変えました。<br />補間用のポーズができたら、最初と同じように3Dビュー上でIキーを押し、<br />「位置/回転」を登録します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_d05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2649" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_d05.jpg" alt="20150918_d05" width="400" height="231" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_d05.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150918_d05-300x173.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />1〜21の間の11フレーム目に一歩目の補間ポーズができたので、<br />同様に21〜41フレーム目の二歩目の部分も補間ポーズを登録します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_d06.jpg"><img loading="lazy" class="alignnone size-full wp-image-2650" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_d06.jpg" alt="20150918_d06" width="535" height="521" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_d06.jpg 535w, https://yugalab.net/wp-content/uploads/2015/09/20150918_d06-300x292.jpg 300w" sizes="(max-width: 535px) 100vw, 535px" /></a><br />31フレーム目には、いま作った補間用ポーズを左右判定したものを貼り付けましょう。<br /><br />もう一度再生してみると…前よりよくなりました！<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_d07.gif"><img loading="lazy" class="alignnone size-full wp-image-2651" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_d07.gif" alt="20150918_d07" width="300" height="380" /></a><br />このように、さらに細かい調整をしていき、こきみよいモーションになるまで試行錯誤することになります！<br /><br /><h3 class="section_title putit_caption l_green">別のモーションを作る場合</h3><br />次は歩行以外のモーションを作りたい！という場合は、<br />ポーズ名の右の「×」ボタンを押してそのポーズの編集を解除します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_e01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2668" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_e01.jpg" alt="20150918_e01" width="316" height="82" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_e01.jpg 316w, https://yugalab.net/wp-content/uploads/2015/09/20150918_e01-300x77.jpg 300w" sizes="(max-width: 316px) 100vw, 316px" /></a><br />もう一度「新規」を押して別のモーションの作成に入ることができます。<br />別のモーションを作る際は、フレーム番号が他のモーションとかぶらないように注意してください。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150918_e021.jpg"><img loading="lazy" class="alignnone size-full wp-image-2670" src="https://yugalab.net/wp-content/uploads/2015/09/20150918_e021.jpg" alt="20150918_e02" width="624" height="317" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150918_e021.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150918_e021-300x152.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />今回はこんな感じでした。<br />お読みいただき、ありがとうございました！</p><p>The post <a href="https://yugalab.net/archives/2570">【Blender】ボーンを動かしてアニメーションを作成する</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://yugalab.net/archives/2570/feed</wfw:commentRss>
			<slash:comments>26</slash:comments>
		
		
			</item>
		<item>
		<title>【Blender】メッシュにボーン(Armature)を入れてポーズ変更できるようにする</title>
		<link>https://yugalab.net/archives/2446</link>
					<comments>https://yugalab.net/archives/2446#comments</comments>
		
		<dc:creator><![CDATA[ユーリ]]></dc:creator>
		<pubDate>Fri, 11 Sep 2015 03:00:35 +0000</pubDate>
				<category><![CDATA[Blender]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[(フラグ)ランダム非表示]]></category>
		<category><![CDATA[3D]]></category>
		<guid isPermaLink="false">http://yugalab.net/?p=2446</guid>

					<description><![CDATA[<p>お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。その２前回の記事はこちら↓です！今回は、Blenderにメッシュを取り込んで大きさと位置合わせまで完了しているものとし、前回の続きからお伝えします！今回は、 [&#8230;]</p>
<p>The post <a href="https://yugalab.net/archives/2446">【Blender】メッシュにボーン(Armature)を入れてポーズ変更できるようにする</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。その２<br /><span id="more-2446"></span><br />前回の記事はこちら↓です！<br /><a href="https://yugalab.net/archives/2395" target="_blank" class="bg_technical minipost_link_wrap hover_fade clearfix"><div class="minipost_link_img"><img width="300" height="185" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_thumb.jpg" class="minipost_link_img_inner" alt="" loading="lazy" /></div><div class="minipost_link_title"><span class="l_gray f080">ユガラボ | 2015/09/04</span><br />【Blender】Sculptrisで作成したモデルをBlenderへインポートする</div></a><br />今回は、Blenderにメッシュを取り込んで大きさと位置合わせまで完了しているものとし、<br />前回の続きからお伝えします！<br /><br />今回は、Blenderに取り込んだメッシュに骨格(ボーン、アーマチュア等と呼称します)を入れて、<br />3Dモデルのポーズを自由自在に変更できるようにいたします。<br /><br /><h3 class="section_title putit_caption l_green">最初のボーンを追加する</h3><br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2517" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a01.jpg" alt="20150910_a01" width="300" height="232" /></a><br />まずは、メッシュの基底部分(足の裏的な部分)がゼロ座標に合わさっていることを確認します。<br /><br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2518" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a02.jpg" alt="20150910_a02" width="300" height="311" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_a02.jpg 300w, https://yugalab.net/wp-content/uploads/2015/09/20150910_a02-289x300.jpg 289w" sizes="(max-width: 300px) 100vw, 300px" /></a><br />正面から見るとピッタリ合っていますね。<br />ピッタリ正面から見たい場合は、<span class="bold">テンキーの5</span>で平行投影に切り替え、<br /><span class="bold">テンキーの1</span>で正面視点にしてください。<br /><br />そして、3Dビューにマウスが乗った状態で<span class="bold">Shift + Aキー</span>を押してください。<br />オブジェクトの追加メニューが表示されます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2519" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a03.jpg" alt="20150910_a03" width="500" height="358" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_a03.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150910_a03-300x214.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />この中から、アーマチュア(Armature) &gt; 一つのボーン(Single Bone)を選択します。<br />ボーンが追加されました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2520" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a04.jpg" alt="20150910_a04" width="300" height="251" /></a><br />この、最初に追加されたボーンは一番基本となる骨である背骨として利用します。<br /><br />まずは、ボーンの位置を合わせます。ボーンを選択した状態で画面右のアウトライナーからオブジェクトプロパティから座標を選択し、X、Y、Zすべて0を入力してください。<br />(アウトライナーとは、画面上に素材するオブジェクトのリストと、その情報が表示されるビューです。)<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2521" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a05.jpg" alt="20150910_a05" width="382" height="502" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_a05.jpg 382w, https://yugalab.net/wp-content/uploads/2015/09/20150910_a05-228x300.jpg 228w" sizes="(max-width: 382px) 100vw, 382px" /></a><br /><br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a06.gif"><img loading="lazy" class="alignnone size-full wp-image-2522" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a06.gif" alt="20150910_a06" width="400" height="276" /><br /></a><br />ボーンが中心点に移動しました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a07.jpg"><img loading="lazy" class="alignnone size-full wp-image-2523" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a07.jpg" alt="20150910_a07" width="300" height="379" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_a07.jpg 300w, https://yugalab.net/wp-content/uploads/2015/09/20150910_a07-237x300.jpg 237w" sizes="(max-width: 300px) 100vw, 300px" /></a><br /><br />このままでは、ボーンが他のオブジェクトと重なった時に、メリ込んで見えなくなってしまいますので、アウトライナーでアーマチュアを選択し、アーマチュアプロパティのオプションから「レントゲン」をONにします。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a08.jpg"><img loading="lazy" class="alignnone size-full wp-image-2524" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a08.jpg" alt="20150910_a08" width="624" height="399" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_a08.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150910_a08-300x191.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a09.jpg"><img loading="lazy" class="alignnone size-full wp-image-2525" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a09.jpg" alt="20150910_a09" width="290" height="604" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_a09.jpg 290w, https://yugalab.net/wp-content/uploads/2015/09/20150910_a09-144x300.jpg 144w" sizes="(max-width: 290px) 100vw, 290px" /></a><br />この設定を行うことで、ボーンがメッシュに対してどのように重なっていても、ボーン全体が優先表示されるようになります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_a10.gif"><img loading="lazy" class="alignnone size-full wp-image-2526" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_a10.gif" alt="20150910_a10" width="400" height="258" /></a><br /><br /><h3 class="section_title putit_caption l_green">メッシュの形状に合わせてボーンを生やす</h3><br />こちらはかなり重要な作業です！と同時に面白い部分でもあります。<br />現実に存在する生物の骨格を参考に作ると、かなりそれっぽい動きになりますよ！<br /><br />まずは、ボーンを構成する部位について覚えてください。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2527" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b01.jpg" alt="20150910_b01" width="150" height="216" /></a><br />初期設定の八面体表示のボーンを例にします。<br />ボーンの上部分(尖ったほう)をTip、下部分(太いほう)をRootと呼びます。<br /><br />まずは、編集モードに移動します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2528" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b02.jpg" alt="20150910_b02" width="500" height="188" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_b02.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150910_b02-300x112.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />画面左側のオプションから、アーマチュアオプションの<span class="bold">「X軸ミラー」をONに</span>してください。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2529" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b03.jpg" alt="20150910_b03" width="500" height="251" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_b03.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150910_b03-300x150.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />オプションが画面に出ていない場合は<span class="bold">Tキー</span>で表示されます。<br /><br />ボーンを選択するには、<span class="bold">右クリック</span>を使用します。<br />ボーンの真ん中部分を<span class="bold">右クリック</span>して、ボーン全体を選択し、<br />最初のボーンを背骨にあたる位置まで移動しましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2530" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b04.jpg" alt="20150910_b04" width="350" height="393" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_b04.jpg 350w, https://yugalab.net/wp-content/uploads/2015/09/20150910_b04-267x300.jpg 267w" sizes="(max-width: 350px) 100vw, 350px" /></a><br />ボーンのTip部分が上に大きくはみ出してしまっている場合、<br />Tip部分を<span class="bold">右クリック</span>で選択し、青軸の矢印(Z軸)をひっぱって下に移動します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2531" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b05.jpg" alt="20150910_b05" width="350" height="290" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_b05.jpg 350w, https://yugalab.net/wp-content/uploads/2015/09/20150910_b05-300x248.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b06.jpg"><img loading="lazy" class="alignnone size-full wp-image-2532" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b06.jpg" alt="20150910_b06" width="400" height="345" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_b06.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150910_b06-300x258.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br /><br /><br />斜めから見るとこんな感じです。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b07.jpg"><img loading="lazy" class="alignnone size-full wp-image-2533" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b07.jpg" alt="20150910_b07" width="500" height="369" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_b07.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150910_b07-300x221.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br /><br />次に、2本目、3本目…とボーンを生やして繋げていく作業です。<br />これを「ボーンの押し出し」と呼びます。<br />ボーンを生やしたい部位のTip部分かRoot部分を右クリックで選択します。<br />選択したら<span class="bold">Eキー→マウスドラッグ</span>で次のボーンが生えてきます。<br />今回はZ軸方向に固定して伸ばしたいので、ボーンを生やしてから<span class="bold">Zキー</span>を押して、<br />移動軸を限定させましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b08.gif"><img loading="lazy" class="alignnone size-full wp-image-2534" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b08.gif" alt="20150910_b08" width="400" height="342" /></a><br /><br />そのままZ軸固定の押し出しを続け、首、頭のボーンも追加します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_b09.jpg"><img loading="lazy" class="alignnone size-full wp-image-2535" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_b09.jpg" alt="20150910_b09" width="500" height="482" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_b09.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150910_b09-300x289.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br /><br /><h4 class="section_subtitle putit_caption">左右対象のボーン</h4>両腕、両足などは左右おなじように作る必要があります。<br />通常の押し出しは<span class="bold">Eキー</span>ですが、<br /><span class="bold">Shift + Eキー</span>を押すことで左右対象にボーンを生やすことができます。<br />(オプションのX軸ミラーをONにしておいてください。)<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_c01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2536" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_c01.jpg" alt="20150910_c01" width="497" height="394" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_c01.jpg 497w, https://yugalab.net/wp-content/uploads/2015/09/20150910_c01-300x237.jpg 300w" sizes="(max-width: 497px) 100vw, 497px" /></a><br /><br />背骨あたりから肩に相当するボーンを伸ばします。<br />肩から下のボーンは普通に<span class="bold">Eキー</span>の押し出しで大丈夫です。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_c02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2537" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_c02.jpg" alt="20150910_c02" width="495" height="401" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_c02.jpg 495w, https://yugalab.net/wp-content/uploads/2015/09/20150910_c02-300x243.jpg 300w" sizes="(max-width: 495px) 100vw, 495px" /></a><br /><br />腰から下のボーンは、最初に置いた背骨ボーンのRootから伸ばします。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_c03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2538" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_c03.jpg" alt="20150910_c03" width="622" height="175" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_c03.jpg 622w, https://yugalab.net/wp-content/uploads/2015/09/20150910_c03-300x84.jpg 300w" sizes="(max-width: 622px) 100vw, 622px" /></a><br /><br />足のボーンは、カメラを正面ではなく真横<span class="bold">(テンキー3)</span>に向けて押し出すとよいです。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_c04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2539" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_c04.jpg" alt="20150910_c04" width="398" height="341" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_c04.jpg 398w, https://yugalab.net/wp-content/uploads/2015/09/20150910_c04-300x257.jpg 300w" sizes="(max-width: 398px) 100vw, 398px" /></a><br /><br />これで、大雑把ですが身体全体分ボーンを作製できました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_c05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2540" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_c05.jpg" alt="20150910_c05" width="249" height="427" /></a><br /><br /><h4 class="section_subtitle putit_caption">動かしたい部位の数だけボーンが必要です</h4>これは別のモデルになりますが、<br />ポーズを変更する場合、ボーンを動かすことになる関係上、複雑な動きをさせたい場合はその分だけボーンが必要になります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_d01.gif"><img loading="lazy" class="alignnone size-full wp-image-2541" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_d01.gif" alt="20150910_d01" width="300" height="185" /></a><br />こちらの例の場合は、くちばしの上部分と下部分にボーンを入れ、くちばしの開閉ができるようにしています。<br />人間のモデルの場合、こだわるなら指の一本一本、関節まで考慮してボーンを入れ込むなど。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_d02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2542" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_d02.jpg" alt="20150910_d02" width="400" height="292" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_d02.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150910_d02-300x219.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />そうすれば指を一本一本自由に動かせるので、ピースさせたり、ぐわしさせたりできますが、その分処理も重くなります。<br /><br />ゲームなどで動作させる場合は、ボーンの数が多くなればなるほど処理も重くなるので、その点を考慮しながらボーンの配置を行いましょう。<br /><br /><h3 class="section_title putit_caption l_green">ボーンの命名</h3><br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_e01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2543" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_e01.jpg" alt="20150910_e01" width="500" height="368" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_e01.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150910_e01-300x220.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />このままだとどれがどこの骨かわからないので、名前をつけましょう。<br /><br />アウトライナーでボーンの名前部分をクリックすると名前を変えることができます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_e02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2544" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_e02.jpg" alt="20150910_e02" width="300" height="76" /></a><br /><br />左右二つあるボーンの場合は、末尾に「 _R」、「_L」を付けて区別しましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_e03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2545" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_e03.jpg" alt="20150910_e03" width="500" height="368" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_e03.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150910_e03-300x220.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br /><br />今回の例ではこのようにつけました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_e04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2546" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_e04.jpg" alt="20150910_e04" width="624" height="677" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_e04.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150910_e04-276x300.jpg 276w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br /><h3 class="section_title putit_caption l_green">メッシュとアーマチュアのペアリング</h3><br />このままでは、メッシュとアーマチュア(骨格)はそれぞれ独立したオブジェクトでしかありません。<br />このふたつを関連付ける操作をします。<br /><br />オブジェクトモードで、アウトライナーで<span class="bold">Shift + クリック</span>で<span class="l_blue">メッシュとアーマチュアを両方同時に選択</span>します。<br />両方選択した状態で <span class="bold">Ctrl + P</span>を押すと<span class="l_blue">「メッシュとボーンのペアリング」</span>を行うことができます。<a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_f01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2547" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_f01.jpg" alt="20150910_f01" width="624" height="422" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_f01.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150910_f01-300x202.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />今回は「自動のウェイトで」を選択します！なんと！これだけでメッシュがボーンに従って大体は動いてくれるようになります！すばらしい。<br /><br />ペアリングが済んだら、ポーズモードに移行しましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_f02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2548" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_f02.jpg" alt="20150910_f02" width="400" height="228" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_f02.jpg 400w, https://yugalab.net/wp-content/uploads/2015/09/20150910_f02-300x171.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />ポーズモードではボーンを曲げたり移動させたりしても、「ポーズ編集している」とみなされ、<br />ボーンのデフォルト位置や角度が変わるわけではありません。<br /><br />ポーズモードでボーンを回転させてみると…<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_f03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2549" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_f03.jpg" alt="20150910_f03" width="300" height="364" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_f03.jpg 300w, https://yugalab.net/wp-content/uploads/2015/09/20150910_f03-247x300.jpg 247w" sizes="(max-width: 300px) 100vw, 300px" /></a><br />メッシュもいっしょに曲がりました！<br /><br />ボーンを初期位置に戻したい場合は、<br />3Dビュー上で<span class="bold">aキー</span>で全ボーンを選択し、<br /><span class="bold">alt + g</span> で位置、<span class="bold">alt + r</span> で回転、<span class="bold">alt + s</span>で拡縮を元に戻すことができます。<br /><br />ポーズモード(ボーンを選択すると水色になる状態)で、ボーンを回転させたりして、<br />動きを確認してみましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_f04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2550" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_f04.jpg" alt="20150910_f04" width="500" height="286" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150910_f04.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150910_f04-300x171.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />いろんなポーズができちゃいます！楽しい！<br /><br />この次は、ボーンの動きの状態を登録したものを繋げて作る「アニメーション」についてお伝えしたいと思います。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150910_next.gif"><img loading="lazy" class="alignnone size-full wp-image-2551" src="https://yugalab.net/wp-content/uploads/2015/09/20150910_next.gif" alt="20150910_next" width="205" height="306" /></a></p><p>The post <a href="https://yugalab.net/archives/2446">【Blender】メッシュにボーン(Armature)を入れてポーズ変更できるようにする</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://yugalab.net/archives/2446/feed</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>【Blender】Sculptrisで作成したモデルをBlenderへインポートする</title>
		<link>https://yugalab.net/archives/2395</link>
					<comments>https://yugalab.net/archives/2395#comments</comments>
		
		<dc:creator><![CDATA[ユーリ]]></dc:creator>
		<pubDate>Fri, 04 Sep 2015 03:00:17 +0000</pubDate>
				<category><![CDATA[Blender]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Sculptris]]></category>
		<guid isPermaLink="false">http://yugalab.net/?p=2395</guid>

					<description><![CDATA[<p>お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。Suclptrisとは、粘土をこねるように3Dモデリングが簡単にできるモデリングソフトです！フリーソフトですので、ご興味のある方は、是非触れてみてください！ [&#8230;]</p>
<p>The post <a href="https://yugalab.net/archives/2395">【Blender】Sculptrisで作成したモデルをBlenderへインポートする</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。<br /><span id="more-2395"></span><br />Suclptrisとは、粘土をこねるように3Dモデリングが簡単にできるモデリングソフトです！<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2134" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a01.jpg" alt="2015_3Dpresent_a01" width="300" height="203" /></a><br />フリーソフトですので、ご興味のある方は、是非触れてみてください！<br /><br />モデリング操作方法の簡単な解説は、こちら↓の記事で触れていますので今回は割愛します。<br /><a href="https://yugalab.net/archives/1651" target="_blank" class="bg_pleasure minipost_link_wrap hover_fade clearfix"><div class="minipost_link_img"><img width="300" height="185" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_thumb.jpg" class="minipost_link_img_inner" alt="" loading="lazy" /></div><div class="minipost_link_title"><span class="l_gray f080">ユガラボ | 2015/08/19</span><br />3Dプリンターで誕生日プレゼントを作った話</div></a><br /><h3 class="section_title putit_caption l_green">Sculptrisでモデル作製</h3><br /><span class="f120">まずは、モデリングをはじめます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_a01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2413" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_a01.jpg" alt="20150904_a01" width="624" height="435" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_a01.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150904_a01-300x209.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />よいしょっ<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_a02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2414" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_a02.jpg" alt="20150904_a02" width="624" height="371" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_a02.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150904_a02-300x178.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />できました。</span><br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_a03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2415" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_a03.jpg" alt="20150904_a03" width="624" height="555" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_a03.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150904_a03-300x266.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br /><br />Sculptrisで色も塗ってしまう場合は、画面右上のPAINTボタンを押して、ペイント画面へ。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_a04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2416" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_a04.jpg" alt="20150904_a04" width="500" height="179" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_a04.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150904_a04-300x107.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />(ペイント画面へ進むと、モデリングへ戻れないのでご注意ください。)<br /><br /><span class="f120">塗りました。</span><br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_a05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2417" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_a05.jpg" alt="20150904_a05" width="624" height="421" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_a05.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150904_a05-300x202.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />Blenderへモデルを持っていく為に、エクスポートの作業を行います。<br />Show advencedツールをクリックし、<br />SAVE TEXMAPを選択します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_a06.jpg"><img loading="lazy" class="alignnone size-full wp-image-2418" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_a06.jpg" alt="20150904_a06" width="509" height="282" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_a06.jpg 509w, https://yugalab.net/wp-content/uploads/2015/09/20150904_a06-300x166.jpg 300w" sizes="(max-width: 509px) 100vw, 509px" /></a><br />この操作で、テクスチャの書き出しができます。<br />***.pngという拡張子pmgのファイルを保存します。<br /><br />EXPORTを選択し、3Dモデルの書き出しを行います。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_a07.jpg"><img loading="lazy" class="alignnone size-full wp-image-2419" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_a07.jpg" alt="20150904_a07" width="331" height="229" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_a07.jpg 331w, https://yugalab.net/wp-content/uploads/2015/09/20150904_a07-300x207.jpg 300w" sizes="(max-width: 331px) 100vw, 331px" /></a><br />***.objという拡張子objのファイルを保存します。<br /><br />元ファイル1つと書き出したファイル2つが生成できました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_a08.jpg"><img loading="lazy" class="alignnone size-full wp-image-2420" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_a08.jpg" alt="20150904_a08" width="294" height="173" /></a><br />なお、Sculptrisから<span class="f_red">ファイルを保存するときは、ファイル名は必ず半角にしてください。</span><br />ファイル名に全角文字が含まれていた場合、フリーズするようです。<br /><br /><h3 class="section_title putit_caption l_green">Blenderへインポート</h3><br />Blenderを開き、ファイルからインポート &gt; Wavefront(.obj)を選択し、Sculptrisでエクスポートしたobjファイルを選びます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_b01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2423" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_b01.jpg" alt="20150904_b01" width="500" height="462" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_b01.jpg 500w, https://yugalab.net/wp-content/uploads/2015/09/20150904_b01-300x277.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />読み込みが完了すると、3Dモデルが画面上に生成されます。<br />3Dモデルは、点と線の集まりで、網目のように見えることから「メッシュ」と呼称します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_b02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2424" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_b02.jpg" alt="20150904_b02" width="300" height="239" /></a><br /><br /><h3 class="section_title putit_caption l_green">座標と縮尺を合わせる</h3><br />読み込んだ直後は、このように座標上の地面よりも下までメッシュがめり込んでしまっています。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_b03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2425" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_b03.jpg" alt="20150904_b03" width="624" height="355" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_b03.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150904_b03-300x170.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />また、サイズもかなり大きめになっているかと思いますので、縮尺も調整しましょう。<br /><h4 class="section_subtitle putit_caption">縮尺合わせ</h4>先に縮尺を合わせます。<br />画面左のツールから「拡大・縮小」を選択するか、もしくはsキーで拡大縮小を行うことができます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_b04.gif"><img loading="lazy" class="alignnone size-full wp-image-2426" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_b04.gif" alt="20150904_b04" width="300" height="201" /></a><br />キャラクターの場合、デフォルトで生成できる立法体に対してこのくらいの大きさにするといいあんばいだと思います。(アバウトでごめんなさい)<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_b05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2427" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_b05.jpg" alt="20150904_b05" width="450" height="311" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_b05.jpg 450w, https://yugalab.net/wp-content/uploads/2015/09/20150904_b05-300x207.jpg 300w" sizes="(max-width: 450px) 100vw, 450px" /></a><br /><br /><h4 class="section_subtitle putit_caption">位置合わせ</h4>縮尺を合わせたら、位置を合わせます。<br />画面中央下あたりの「グローバル」という座標表記の左にあるテトラなボタンを押すと、<br />オブジェクトの上に赤、青、緑の矢印が表示されますので、矢印を引っ張ることで位置移動ができます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_add1.gif"><img loading="lazy" class="alignnone size-full wp-image-2464" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_add1.gif" alt="20150904_add1" width="300" height="315" /></a><br />このさい、X方向の中心軸(赤い矢印)はSculptrisからインポートした時点で合っているはずなので、動かさないでください。<br />調整するのはY方向とZ方向です。<br /><br />キャラクターやオブジェクトの基底部分(キャラクターの場合なら足の裏)が<br />中心座標(0,0,0)の上に乗るように移動させましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_c01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2428" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_c01.jpg" alt="20150904_c01" width="624" height="255" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_c01.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150904_c01-300x122.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />位置あわせの際は、テンキーでのカメラ移動を利用しましょう。<br />テンキーの5で透視投影と平行投影とを切り替えることができますが、<br />メッシュが歪まない平行投影での作業がオススメです。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_c02.gif"><img loading="lazy" class="alignnone size-full wp-image-2429" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_c02.gif" alt="20150904_c02" width="300" height="251" /></a><br />位置と縮尺を合わせると、オブジェクト情報の「位置」、「回転」、「拡大縮小」の値が読み込み時のデフォルト値から変化した状態になっています。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_c03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2430" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_c03.jpg" alt="20150904_c03" width="453" height="413" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_c03.jpg 453w, https://yugalab.net/wp-content/uploads/2015/09/20150904_c03-300x273.jpg 300w" sizes="(max-width: 453px) 100vw, 453px" /></a><br />このままだと回転や移動をすると合わせた位置が元に戻ってしまう為、<br />補正後の位置・縮尺状態をデフォルト値として登録しなおす必要があります。<br /><br />メッシュを選択した状態のオブジェクトモードから、<br />オブジェクト &gt; 適用 &gt; 位置、<br />オブジェクト &gt; 適用 &gt; 回転、<br />オブジェクト &gt; 適用 &gt; 拡大縮小<br />をそれぞれ選択してください。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_c04_2.gif"><img loading="lazy" class="alignnone size-full wp-image-2444" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_c04_2.gif" alt="20150904_c04_2" width="400" height="259" /></a><br /><br />これで、合わせた位置と拡大縮小値がデフォルト状態として適用されました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_c05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2432" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_c05.jpg" alt="20150904_c05" width="453" height="291" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_c05.jpg 453w, https://yugalab.net/wp-content/uploads/2015/09/20150904_c05-300x192.jpg 300w" sizes="(max-width: 453px) 100vw, 453px" /></a><br /><br /><h3 class="section_title putit_caption l_green">テクスチャの適用</h3><br />こちらは、前回記事からの引用になります。<br /><h4 class="section_subtitle putit_caption">テクスチャを持ってくる</h4><span style="color: #66c; background-color: #dadafa; display: block;">Sculptrisのペイントで作ったテクスチャは別データなので、読み込むための操作を行います。<br /><br />画面右側のアウトライナー内で対象オブジェクトを選択(1)し、<br />テクスチャメニュー(2)を選んで、新規(3)から新しいテクスチャを作成します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2152" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b05.jpg" alt="2015_3Dpresent_b05" width="624" height="493" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b05.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b05-300x237.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />新しいテクスチャで出来たら少し下にある「開く」を選んで、Sculptrisで書き出したテクスチャ(png)を取りに行きましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b06.jpg"><img loading="lazy" class="alignnone size-full wp-image-2153" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b06.jpg" alt="2015_3Dpresent_b06" width="295" height="638" /></a><br /><br />テクスチャを読み込みましたが、まだ反映はされません。<br /><br />次はビューメニューから「UV Editing」を選択し、UV(テクスチャ)編集用画面に移ります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b07.jpg"><img loading="lazy" class="alignnone size-full wp-image-2154" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b07.jpg" alt="2015_3Dpresent_b07" width="350" height="303" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b07.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b07-300x259.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br /><br /><br />UV Editingモードはこのような二画面構成になります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b08.jpg"><img loading="lazy" class="alignnone size-full wp-image-2155" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b08.jpg" alt="2015_3Dpresent_b08" width="500" height="403" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b08.jpg 500w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b08-300x241.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />右画面の下の方にある「オブジェクトモード」を「編集モード」に切り替えます。<br /><br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b09.jpg"><img loading="lazy" class="alignnone size-full wp-image-2156" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b09.jpg" alt="2015_3Dpresent_b09" width="350" height="191" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b09.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b09-300x163.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br />編集モードになったら「メッシュ」→「UV展開…」→「展開」を選択します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b10.jpg"><img loading="lazy" class="alignnone size-full wp-image-2157" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b10.jpg" alt="2015_3Dpresent_b10" width="500" height="434" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b10.jpg 500w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b10-300x260.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br /><br />ここまででテクスチャを反映する準備ができましたので、今度は左画面の下にある「開く…」を選んで、再びSculptrisで書き出した(.png)のテクスチャファイルを読み込みましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b11.jpg"><img loading="lazy" class="alignnone size-full wp-image-2159" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b11.jpg" alt="2015_3Dpresent_b11" width="350" height="138" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b11.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b11-300x118.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br /><br />そして再びビューメニューを「UV Editing」から「Default」にもどします。<br />シェーダーから「マテリアル」を選択すると…<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2158" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c01.jpg" alt="2015_3Dpresent_c01" width="350" height="122" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c01.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c01-300x104.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br /><br />お見事！やっとテクスチャが反映されました。</span><h4 class="section_subtitle putit_caption">テクスチャ反映後</h4>この時点で影が濃すぎてよくわからない場合は、マテリアルメニューから<br />シェーディングを調整しましょう。<br />「放射」の値を増やすと見やすくなると思います。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_d01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2433" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_d01.jpg" alt="20150904_d01" width="274" height="408" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_d01.jpg 274w, https://yugalab.net/wp-content/uploads/2015/09/20150904_d01-201x300.jpg 201w" sizes="(max-width: 274px) 100vw, 274px" /></a><br /><br />Blenderに持ってきたメッシュに対して、テクスチャを反映することができました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_d02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2434" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_d02.jpg" alt="20150904_d02" width="624" height="435" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_d02.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150904_d02-300x209.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br /><br />今回はここまでです。<br />次は、アーマチュアを使用したポーズ変更について書きたいと思います。<br /><a href="https://yugalab.net/wp-content/uploads/2015/09/20150904_d03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2435" src="https://yugalab.net/wp-content/uploads/2015/09/20150904_d03.jpg" alt="20150904_d03" width="624" height="394" srcset="https://yugalab.net/wp-content/uploads/2015/09/20150904_d03.jpg 624w, https://yugalab.net/wp-content/uploads/2015/09/20150904_d03-300x189.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />メッシュに骨組みをいれて、メッシュを動かす作業です。</p><p>The post <a href="https://yugalab.net/archives/2395">【Blender】Sculptrisで作成したモデルをBlenderへインポートする</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://yugalab.net/archives/2395/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>3Dプリンターで誕生日プレゼントを作った話</title>
		<link>https://yugalab.net/archives/1651</link>
					<comments>https://yugalab.net/archives/1651#comments</comments>
		
		<dc:creator><![CDATA[ユーリ]]></dc:creator>
		<pubDate>Wed, 19 Aug 2015 03:00:35 +0000</pubDate>
				<category><![CDATA[pleasant]]></category>
		<category><![CDATA[pleasure]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Sculptris]]></category>
		<guid isPermaLink="false">http://yugalab.net/?p=1651</guid>

					<description><![CDATA[<p>こんにちは、ユーリです！今回はなにやらクリエイティブなお話。ことのはじまりある日のこと私「最近、会社でUnityっていうのやってるんだー」母「へー、なにそれ」私「3Dでいろいろ動かしてアプリ作れるソフトだよ」母「ほほう」 [&#8230;]</p>
<p>The post <a href="https://yugalab.net/archives/1651">3Dプリンターで誕生日プレゼントを作った話</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>こんにちは、ユーリです！<br />今回はなにやらクリエイティブなお話。<br /><span id="more-1651"></span><br /><h3 class="section_title putit_caption l_green">ことのはじまり</h3><br />ある日のこと<br /><span class="l_blue">私「最近、会社でUnityっていうのやってるんだー」<br />母「へー、なにそれ」<br />私「3Dでいろいろ動かしてアプリ作れるソフトだよ」<br />母「ほほう」<br />私「3Dのモデリングとかもやってるよ！」<br />母「3Dかー じゃあ今流行りの3Dプリンターとかも使えるの？」<br />私「あ、たしかに3Dのデータがあれば3D出力もできそうだね」<br />母「じゃあ今度のお母さんの誕生日プレゼント、3Dプリンターで作って！」<br />私「えっ」</span><br /><br />こんなことがあり、3Dモデリングをして3Dプリンターで世界にオンリーワンの誕生日プレゼントを作るという任務が課せられました！ひー！<br /><span class="f120">まあ作れるけどな！！</span><br /><br /><br /><span class="l_blue">私「3Dで作るのはいいけど、どんなのがいい？」<br />母「ねこ好きだから、ねこのオブジェがいいなー。」<br />母「ねこがのび〜〜〜ってしてるポーズ作って！箸置きとして使いたい！」<br />私「御意」</span><br /><br />ということで、ご注文は「ねこの箸置き」になりました。<br /><br />さあモデリングじゃ！<br /><br /><h3 class="section_title putit_caption l_green">モデリング工程</h3><br />モデリングに使用したのはSculptrisというアプリケーション。<br />粘土をこねるようにして直感的に3Dモデリングができるソフトです！<br />フリーソフトなので、興味がある方は是非お試しください！<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2134" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a01.jpg" alt="2015_3Dpresent_a01" width="300" height="203" /></a><br /><br /><h4 class="section_subtitle putit_caption">モデリング</h4>Sculptrisを起動すると、まあるい粘土のカタマリみたいなものが初期配置されています。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2135" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_01.jpg" alt="2015_3Dpresent_a02_01" width="624" height="358" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_01.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_01-300x172.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />これをマウスを使ってこねこねしていきます。<br /><br />まずは画面左上にあるツール<span class="l_red">「GRAB」</span>をつかって、大まかな形を整えます。<br />この<span class="l_red">「GRAB」</span>がもっとも使いやすく、最初に多用するツールになります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2136" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_02.jpg" alt="2015_3Dpresent_a02_02" width="379" height="189" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_02.jpg 379w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_02-300x149.jpg 300w" sizes="(max-width: 379px) 100vw, 379px" /></a><br /><br />ぐにゃー<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2139" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_03.jpg" alt="2015_3Dpresent_a02_03" width="624" height="385" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_03.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_03-300x185.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />ぐにゃにゃー<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2137" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a03.jpg" alt="2015_3Dpresent_a03" width="624" height="371" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a03.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a03-300x178.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />形は自動的に左右対象に作られていくので、特になにも考えずとも美しい形が仕上がっていきます。<br /><br /><span class="l_red">「GRAB」</span>で整えた形を<span class="l_red">「DRAW」</span>と<span class="l_red">「SMOOTH」</span>で整えていきます。<br />この二つは<span class="l_red">「GRAB」</span>の次によく使います。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2136" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_02.jpg" alt="2015_3Dpresent_a02_02" width="379" height="189" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_02.jpg 379w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a02_02-300x149.jpg 300w" sizes="(max-width: 379px) 100vw, 379px" /><br /></a><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a03_02.gif"><img loading="lazy" class="alignnone size-full wp-image-2190" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a03_02.gif" alt="2015_3Dpresent_a03_02" width="300" height="232" /></a><br />shiftキーを押しながらマウスホイールの上下で、ツールの効果範囲を調整できます。<br />Xキーを押して<span class="l_red">[Invert]</span>がオンになっている間は、ツールの効果が反転します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a03_03.gif"><img loading="lazy" class="alignnone size-full wp-image-2191" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a03_03.gif" alt="2015_3Dpresent_a03_03" width="300" height="232" /></a><br /><span class="l_red">「GRAB(ふくらます)」</span>の場合は反転するとへこませる効果になります。<br /><br />なんだか猫っぽくなってきました！<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2140" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a04.jpg" alt="2015_3Dpresent_a04" width="624" height="360" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a04.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a04-300x173.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br /><br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2138" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a05.jpg" alt="2015_3Dpresent_a05" width="624" height="342" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a05.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a05-300x164.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />ここまで作ったものを一旦見せたところ、<span class="l_blue">「目は開いていたほうがよい」「毛色はアメショーにして！」</span>とご注文をいただきました。<br />まあ色を塗るのは最後なんですけどね。<br />それと、こういうデザインのオブジェだったらどこかに売ってそうなので、何かオリジナル要素が欲しい！と思いつき…<br />ねこの頭になにかを乗せたデザインにしようと決まりました。<br /><br /><span class="l_blue">私「あたまに何か乗せようと思うんだけど何がいいかな？たとえばシルクハットとかさ」<br />母「りんごがいいなあ。りんご好きだから」</span><br /><br />りんご！？これまたナナメ上だわー<br /><br /><br />りんごが乗りました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a06.jpg"><img loading="lazy" class="alignnone size-full wp-image-2141" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a06.jpg" alt="2015_3Dpresent_a06" width="624" height="331" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a06.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a06-300x159.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br /><br />せっかくなので、りんごの正面に「Happy Birthday」と掘りました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a07.jpg"><img loading="lazy" class="alignnone size-full wp-image-2142" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a07.jpg" alt="2015_3Dpresent_a07" width="624" height="429" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a07.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a07-300x206.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />よしよし！オンリーワン！！<br /><br />ちなみに、カメラの調節をしたい場合は、画面上の図形ではないところをドラッグしてみてください。<br />通常の<span class="l_red">ドラッグで視点回転</span>、<span class="l_red">Altキーを押しながらドラッグで視点移動</span>です。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a07_02.gif"><img loading="lazy" class="alignnone size-full wp-image-2192" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a07_02.gif" alt="2015_3Dpresent_a07_02" width="300" height="226" /></a><br /><br /><h4 class="section_subtitle putit_caption">色を塗った</h4>Sculptrisではモデリングだけでなくペインティングもできちゃいます！超便利！<br />モデリングが終わったら、画面右上の<span class="l_red">「PAINT」</span>ボタンからペイントモードへ。<br />色を塗ったら一気にいい感じになりました。ワーオ！<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a08.jpg"><img loading="lazy" class="alignnone size-full wp-image-2143" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a08.jpg" alt="2015_3Dpresent_a08" width="624" height="471" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a08.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a08-300x226.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><span class="f_red">※注意！</span><br />一度ペイントモードにすると、3Dモデルは確定することになります。<br />つまり、ペイントモードに入ると、もう図形の変更はできません。<br />どうしても3Dモデルのやりなおしをしたい場合は、ペイントは消えてしまいますが、<br />いったんファイルを開き直して「Go To Paint Mode?」で<span class="l_red">いいえ</span>を選ぶと、<br />モデリング画面からやりなおすことができます。<br /><br /><h4 class="section_subtitle putit_caption">書き出し</h4>完成したら、EXPORTボタンより<span class="l_red">「.obj」</span>のファイルを書き出します。<br />これがモデルデータになります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a09.jpg"><img loading="lazy" class="alignnone size-full wp-image-2144" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a09.jpg" alt="2015_3Dpresent_a09" width="195" height="309" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a09.jpg 195w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a09-189x300.jpg 189w" sizes="(max-width: 195px) 100vw, 195px" /></a><br /><br />さらに、<span class="l_red">「Show advanced tool」</span>ボタンから<br /><span class="l_red">「SAVE TEXMAP」</span>を選択し<span class="l_red">「.png」</span>のファイルを書き出します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a10.jpg"><img loading="lazy" class="alignnone size-full wp-image-2145" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a10.jpg" alt="2015_3Dpresent_a10" width="354" height="211" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a10.jpg 354w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a10-300x178.jpg 300w" sizes="(max-width: 354px) 100vw, 354px" /></a><br />こちらはテクスチャデータです。<br />今回の場合はねこにペイントした色情報が1枚の画像に収まった状態になります。<br /><br />書き出したテクスチャファイルがこちら。<br />なにやら不思議な画像ですが、3Dモデルを展開した形なのだそうです。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a11.jpg"><img loading="lazy" class="alignnone size-full wp-image-2146" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a11.jpg" alt="2015_3Dpresent_a11" width="256" height="256" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a11.jpg 256w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a11-150x150.jpg 150w" sizes="(max-width: 256px) 100vw, 256px" /></a><br /><br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a12.jpg"><img loading="lazy" class="alignnone size-full wp-image-2147" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a12.jpg" alt="2015_3Dpresent_a12" width="466" height="161" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a12.jpg 466w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_a12-300x103.jpg 300w" sizes="(max-width: 466px) 100vw, 466px" /></a><br /><br /><br />3Dの形状が入った「モデルデータ」と、<br />モデルに対して色を配置する「テクスチャデータ」が必要なファイルのセットになります。<br /><br /><h3 class="section_title putit_caption l_green">3Dプリンター出力用ファイルを生成する</h3><br />3Dモデルが完成したら、今度はそのデータを3Dプリンターさんが正しく読んでくれる形に整える必要があります。<br />今度はblenderというアプリケーションを使用しました。<br />こちらもフリーソフトです。素晴らしいい！！<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2148" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b01.jpg" alt="2015_3Dpresent_b01" width="368" height="102" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b01.jpg 368w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b01-300x83.jpg 300w" sizes="(max-width: 368px) 100vw, 368px" /></a><br /><br />blenderは総合3D編集ソフトです。<br />このソフトでもモデリングは可能ですが、直感的にモデルが作れるScluptrisと比べると、blenderでのモデリングは座標に頂点を配していくような厳密なものになります。<span class="l_gray">(今回はblenderでのモデリングは説明しません。)</span><br />今回blenderで行う操作はサイズ調整とテクスチャ貼り付け、書き出しのみです！<br /><br /><h4 class="section_subtitle putit_caption">インポート</h4>まずは初期状態で配置されている立方体をDeleteキーで削除し…<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2149" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b02.jpg" alt="2015_3Dpresent_b02" width="400" height="152" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b02.jpg 400w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b02-300x114.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br /><br />ファイルからImport &gt; obj を選び、Sculptrisで書き出したものを読み込みます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2150" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b03.jpg" alt="2015_3Dpresent_b03" width="400" height="383" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b03.jpg 400w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b03-300x287.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />blenderに読み込むことができました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2151" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b04.jpg" alt="2015_3Dpresent_b04" width="500" height="390" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b04.jpg 500w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b04-300x234.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br /><br /><h4 class="section_subtitle putit_caption">テクスチャを貼る</h4>Sculptrisのペイントで作ったテクスチャは別データなので、読み込むための操作を行います。<br /><br />画面右側のアウトライナー内で対象オブジェクトを選択(1)し、<br />テクスチャメニュー(2)を選んで、新規(3)から新しいテクスチャを作成します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2152" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b05.jpg" alt="2015_3Dpresent_b05" width="624" height="493" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b05.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b05-300x237.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />新しいテクスチャで出来たら少し下にある「開く」を選んで、Sculptrisで書き出したテクスチャ(png)を取りに行きましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b06.jpg"><img loading="lazy" class="alignnone size-full wp-image-2153" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b06.jpg" alt="2015_3Dpresent_b06" width="295" height="638" /></a><br /><br />テクスチャを読み込みましたが、まだ反映はされません。<br /><br />次はビューメニューから「UV Editing」を選択し、UV(テクスチャ)編集用画面に移ります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b07.jpg"><img loading="lazy" class="alignnone size-full wp-image-2154" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b07.jpg" alt="2015_3Dpresent_b07" width="350" height="303" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b07.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b07-300x259.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br /><br /><br />UV Editingモードはこのような二画面構成になります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b08.jpg"><img loading="lazy" class="alignnone size-full wp-image-2155" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b08.jpg" alt="2015_3Dpresent_b08" width="500" height="403" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b08.jpg 500w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b08-300x241.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />右画面の下の方にある「オブジェクトモード」を「編集モード」に切り替えます。<br /><br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b09.jpg"><img loading="lazy" class="alignnone size-full wp-image-2156" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b09.jpg" alt="2015_3Dpresent_b09" width="350" height="191" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b09.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b09-300x163.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br />編集モードになったら「メッシュ」→「UV展開…」→「展開」を選択します。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b10.jpg"><img loading="lazy" class="alignnone size-full wp-image-2157" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b10.jpg" alt="2015_3Dpresent_b10" width="500" height="434" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b10.jpg 500w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b10-300x260.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br /><br />ここまででテクスチャを反映する準備ができましたので、今度は左画面の下にある「開く…」を選んで、再びSculptrisで書き出した(.png)のテクスチャファイルを読み込みましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b11.jpg"><img loading="lazy" class="alignnone size-full wp-image-2159" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b11.jpg" alt="2015_3Dpresent_b11" width="350" height="138" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b11.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_b11-300x118.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br /><br />そして再びビューメニューを「UV Editing」から「Default」にもどします。<br />シェーダーから「マテリアル」を選択すると…<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2158" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c01.jpg" alt="2015_3Dpresent_c01" width="350" height="122" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c01.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c01-300x104.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br /><br />お見事！やっとテクスチャが反映されました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2160" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c02.jpg" alt="2015_3Dpresent_c02" width="500" height="318" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c02.jpg 500w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c02-300x190.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />ここまで来ればあとひといきです。<br /><br />ちなみに、この時点でモデルの影が強すぎて暗くてよくわからない場合…<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2162" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c04.jpg" alt="2015_3Dpresent_c04" width="350" height="222" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c04.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c04-300x190.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br />マテリアルメニューから「陰影なし」を選んで、影の表示をOFFにしましょう。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c05.jpg"><img loading="lazy" class="alignnone size-full wp-image-2163" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c05.jpg" alt="2015_3Dpresent_c05" width="313" height="650" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c05.jpg 313w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c05-144x300.jpg 144w" sizes="(max-width: 313px) 100vw, 313px" /></a><br /><br /><h4 class="section_subtitle putit_caption">微調整</h4>あとは書き出すだけなのですが、このBlenderデータ内での「モデルの大きさ」が、<br />実際に3Dプリントする際の「実物の大きさ」になります。<br /><br />モデルの大きさは画面左の「トランスフォーム」ツールから「拡大/縮小」<br />またはモデルを選択して「sキー」で調整できますので、いろいろお試しください。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2161" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c03.jpg" alt="2015_3Dpresent_c03" width="350" height="210" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c03.jpg 350w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_c03-300x180.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></a><br /><br />なにはともあれ、一旦書き出してみましょう！<br /><br />「ファイル」から「エクスポート」、「Wavefront(.obj)」を選択します。<br /><br />エクスポート設定はとくにそのままで大丈夫ですが、<br />エクスポートファイルの保存先は、必ず「blenderファイル」と「テクスチャファイル」が入っている同じフォルダにしてください。<br />(こうしないと一緒に出力される.mtlのパスがややこしいことになります。)<br /><br />このエクスポートによって出力されるのは「.obj」と「.mtl」の2ファイルになります。<br />最終的に3Dプレンターで出力する際に必要なのは、この2つにテクスチャ「.png」をあわせて3つのファイルになります！これで全て揃いました。<br /><br /><br /><br />このままファイルを使えば3D出力も可能ですが、念のため出力される大きさの確認とモデルデータにエラーがないかどうかも確認しましょう。<br /><br /><h3 class="section_title putit_caption l_green">データから仕上がりサイズを確認</h3><br />仕上がりの確認には、また別のソフトを使います。<br />またかよって！？ゆるしてください！これで最後ですしフリーソフトです！<br />私はMac使いなので「netFabb Basic」というフリーソフトを利用しました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_d01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2164" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_d01.jpg" alt="2015_3Dpresent_d01" width="264" height="87" /></a><br />Windowsの方は「MiniMagics」というフリーソフトがよいらしいです。<br /><br /><h4 class="section_subtitle putit_caption">読み込むだけ！</h4>といっても、使い方は先ほど書き出したobjファイルを読み込むだけです。<br />ファイルを開くと、画面右下にリアル寸法が表示されます。<br />今回のデータですと、<br />Length : 16.49 mm<br />Width : 61.92 mm<br />Height : 24.36 mm<br />と書いてあります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_d02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2165" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_d02.jpg" alt="2015_3Dpresent_d02" width="500" height="352" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_d02.jpg 500w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_d02-300x211.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />これを出力すると、現実世界では<br />横幅 6.1cm 奥行き 1.6cm 高さ 2.4cm のサイズで出来上がるわけです！<br /><br />サイズの確認ができたら、いよいよ出力です！<br /><br /><h3 class="section_title putit_caption l_green">さあプリントだ！ in DMM.make</h3><br />3Dプリンターを出力できる場所はいろいろありますが、<br />今回は<a href="http://make.dmm.com/" target="_blank" rel="noopener">DMMさんの3Dプリントサービス</a>を利用しました。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_e01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2166" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_e01.jpg" alt="2015_3Dpresent_e01" width="400" height="253" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_e01.jpg 400w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_e01-300x189.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br />フルカラープリントが選べて値段もお手頃だった為。<br />ネットでデータ入稿して、出力されたら自宅に宅配で届きます。便利！<br /><br />素材はアクリル、ナイロンなどありますが、最初から色がついた状態で出力したもらいたい場合は「石膏フルカラー」！<br />PC上でテクスチャで塗った色を再現してくれるので、自分で着色しなくても大丈夫です！<br />blenderで書き出した、「.obj」「.mtl」の2ファイルと、<br />Sculptrisで書き出した「.png」ファイル、あわせて3ファイルをzipでかためてアップロードします。<br /><br />ただしくアップロードできていれば、このようにプレビュー画面の時点で色が付いた状態になります。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_e02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2188" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_e02.jpg" alt="2015_3Dpresent_e02" width="624" height="378" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_e02.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_e02-300x181.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br />ここから「石膏フルカラー」で注文すれば、予め着色された状態で届くのです！<br /><br /><span class="l_gray f080">※ちなみに、第一稿でリンゴのヘタ部分が細すぎた為かNGを食らった為、<br />一旦モデルの調整&amp;色の塗り直しを行っています。<br />その際、猫の腕と尻尾も細すぎる恐れがあった為、若干太めにする修正も行いました。</span><br /><br /><br /><h3 class="section_title putit_caption l_green">おうちに到着！</h3><br />数日後…<br />おうちに届きました！<br />プチプチにくるまれて厳重に。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f01.jpg"><img loading="lazy" class="alignnone size-full wp-image-2169" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f01.jpg" alt="2015_3Dpresent_f01" width="400" height="238" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f01.jpg 400w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f01-300x178.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br /><br />開封してみると…<br />おおおー！そのままやんけ！！<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f02.jpg"><img loading="lazy" class="alignnone size-full wp-image-2170" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f02.jpg" alt="2015_3Dpresent_f02" width="624" height="527" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f02.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f02-300x253.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />後ろからみるとこんなカンジ。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f03.jpg"><img loading="lazy" class="alignnone size-full wp-image-2171" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f03.jpg" alt="2015_3Dpresent_f03" width="624" height="391" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f03.jpg 624w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f03-300x187.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><br /><br />写真撮るのへたでごめんなさい。<br />我ながら良い仕上がりでした。<br /><br />この通り、お箸も乗せれます。<br /><a href="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f04.jpg"><img loading="lazy" class="alignnone size-full wp-image-2172" src="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f04.jpg" alt="2015_3Dpresent_f04" width="400" height="246" srcset="https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f04.jpg 400w, https://yugalab.net/wp-content/uploads/2015/08/2015_3Dpresent_f04-300x184.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><br /><br />残念ながら、りんごの正面に彫った文字は、細かすぎたのか再現されませんでした。<br />石膏フルカラーの3Dプリンターでは、まだ10分の1ミリ単位の細かい装飾は再現できないようです。<br /><br />母は大変まんぞくしていらっしゃいました。<br />これまでの誕生日プレゼントでいちばんだったそうな。<br /><br />興味のある方は、ぜひチャレンジしてみてください！<br /><br />ユーリでした。</p><p>The post <a href="https://yugalab.net/archives/1651">3Dプリンターで誕生日プレゼントを作った話</a> first appeared on <a href="https://yugalab.net">ユガラボ</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://yugalab.net/archives/1651/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
