tag:blogger.com,1999:blog-2657670597614459692024-03-20T17:46:38.496+09:00UnityつかうよK_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-265767059761445969.post-58182335113462700142014-08-12T07:28:00.000+09:002014-08-12T07:35:22.122+09:00FXMakerことはじめ<a href="http://unityassetjp.doorkeeper.jp/events/12843" target="_blank">Unity アセット真夏のアドベントカレンダー 2014 Summer!</a>
<br />
こちら8/12の担当をさせて頂くことになりました。<br />
昨日の記事は<span style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px;">mohammedariさんの</span><a href="http://mohammedari.blogspot.jp/2014/08/vr.html" target="_blank">VRで女の子に歯磨きするまでにやったこと</a>でした。<br />
<br />
先日の<a href="http://unityassetjp.doorkeeper.jp/events/12698" target="_blank">アセットまみれのLT大会</a>ではなんだこれ of the Todayを担当し、<br />
便利でも有効でもないアセットを紹介しましたが今回はこちら<br />
<br />
<div>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBOMYcc4lRzXWAsvrgAdgrY5EqUbhGtanWm59kduZmKkk7PpgI-LYPrlYMvEb86EeSpiQccqSSuUmDL6zJztB24wKLtKqC3zZdTWO0Bux1bkLpXY1Ifcj6bJvcWqkc2jK09VNKiaVnPzw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.22.22.png" height="212" width="400" /></div>
FXMakerを紹介したいとおもいます。<br />
<h2>
FXMakerとは?</h2>
FXMakerとは簡単に言ってしまえばエフェクト作成ツールです。<br />
値段が高いためかネット上を検索してもあまり情報はなく、使われているイメージは薄いですがとんでもなく作り込まれたGUIなどが光るアセットです。<br />
<br />
肝心のエフェクトについてですが現在主流のShurikenに加えてLegacyなシステムにも対応しており、それらをより直感的に編集しやすくなっています。<br />
また、汎用的なコンポーネントも複数含まれております。例えば<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLCelRYef11KM2EnPP0jCbcVbAbZFlNrnpQIX0V_1NTTQpMAxwbtHrO5WdS1VgaqtRo7KHYIFMH1OgueqMtdg-jqMjkoGY1HyMzKOThxLyXGKf03i6ByuUyokRFEF2d51q_hnjhtKNH5g/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+5.51.24.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLCelRYef11KM2EnPP0jCbcVbAbZFlNrnpQIX0V_1NTTQpMAxwbtHrO5WdS1VgaqtRo7KHYIFMH1OgueqMtdg-jqMjkoGY1HyMzKOThxLyXGKf03i6ByuUyokRFEF2d51q_hnjhtKNH5g/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+5.51.24.png" height="400" width="368" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">NCCurveAnimation</td></tr>
</tbody></table>
こちらでは基本的なTransformやColorなどのパラメータをカーブで指定することができるコンポーネントです。<br />
ほかにもNcDuplicatorやNcAutoDestructなどなんとなくこう使えばいいのでは?ってものが用意されています。<br />
<br />
<h2>
エフェクトを作成するまで</h2>
FxMakerには編集用の専用シーンが存在します。<br />
アセットをインポート後 IGSoft_Tools > sceneFXMaker のシーンを開き、実行してください<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXTZSAchtveQGPN3Fam6qHQgY4rE9gBLAdG9cAFhXcX7wwCoHHQg3Ymf-RM-tPQjKv2zSizpfHe2sUeMn3QgESrYrX49x0BfsGxLszAUhm-QlDJ5GcIC4Jxuevh_zBMmjoXH2-zAKN2lM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.24.37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXTZSAchtveQGPN3Fam6qHQgY4rE9gBLAdG9cAFhXcX7wwCoHHQg3Ymf-RM-tPQjKv2zSizpfHe2sUeMn3QgESrYrX49x0BfsGxLszAUhm-QlDJ5GcIC4Jxuevh_zBMmjoXH2-zAKN2lM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.24.37.png" height="200" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
すると<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4tlZwXB05dn8bbRFUffpArxjHgif08RLZFHI-6gyuNv6TFkfsVs-Vnh1Z1dQMsZygoK8oKREkhP4vw4qqz0rdVrC9tAqi9agIEYg9Pj2zWij7VLCoCCQoHC1rDcpnu_CIs2yfdgnY2CM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.26.03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4tlZwXB05dn8bbRFUffpArxjHgif08RLZFHI-6gyuNv6TFkfsVs-Vnh1Z1dQMsZygoK8oKREkhP4vw4qqz0rdVrC9tAqi9agIEYg9Pj2zWij7VLCoCCQoHC1rDcpnu_CIs2yfdgnY2CM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.26.03.png" height="312" width="400" /></a></div>
こんな感じのシーンが表示されます。<br />
このシーンでエフェクトの編集を行います。<br />
<br />
<h2>
とりあえずエフェクトを出す</h2>
<div>
画面上部のビューではエフェクト作成用のProjectFolderを設定することができます。</div>
<div>
ここではProjectFolderとGroupでエフェクトを整理することができます。</div>
<div>
今回は新しく作成するので 1Project の Group1 を使用します。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMRqXX3FIgqa5Zc5b5yK1BP-vc1KtQRYu4ibpBV2hKZVgXVA3T3OaNLVbb5gDnixV9bySWFsdcEEw2rAy9Kqb88wq8FrLejOVjL8IkgEMoRzdE1ObI9k7orUv4tDIPQO0cLu2Ci8X0T2U/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.35.40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMRqXX3FIgqa5Zc5b5yK1BP-vc1KtQRYu4ibpBV2hKZVgXVA3T3OaNLVbb5gDnixV9bySWFsdcEEw2rAy9Kqb88wq8FrLejOVjL8IkgEMoRzdE1ObI9k7orUv4tDIPQO0cLu2Ci8X0T2U/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.35.40.png" height="66" width="400" /></a></div>
UnityのProjectとしては IGSoft_Resources/Projects/1Project/Group1のフォルダに今後作業したものが保存されるようになります。<br />
<br />
続いて画面左のPrefabListのビューを見てください。<br />
ここでは先ほど指定したProject/Groupのフォルダに入っているエフェクト一覧が表示されます。今回は新規のものになるので空になっています。<br />
新しいエフェクトを作成するには左上のNewボタンを押します。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5lsZujglSnbhaxsvwCCWZNTV9pOZaPjx6qx_oosrJw448-CDyYueUmWSUL6oWX8b9LJ0YQv1nLyLPLSH6j8tm_PZX1EkCpikK0YAm2GQu1bB4xPAv6Ap4LTyhnMy8UR6wKbC5QfIZDmI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.35.54.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5lsZujglSnbhaxsvwCCWZNTV9pOZaPjx6qx_oosrJw448-CDyYueUmWSUL6oWX8b9LJ0YQv1nLyLPLSH6j8tm_PZX1EkCpikK0YAm2GQu1bB4xPAv6Ap4LTyhnMy8UR6wKbC5QfIZDmI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.35.54.png" height="320" width="193" /></a></div>
<br />
するとこのようなウインドウが出てくるので、ここでテンプレートを指定できます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzR5kqN2LVB3B53xJmWxIVatj8gKDcWPG-n9yqyS9mBqtxbqC78fFdwL0VsiW56l8FXomEs8vJ2loMMaZdwTBIdDwN40l08Eu80hYlEvAfcCp53pxKP2JcmxTw8u0D_LvEljwrwgh1hFM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.36.11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzR5kqN2LVB3B53xJmWxIVatj8gKDcWPG-n9yqyS9mBqtxbqC78fFdwL0VsiW56l8FXomEs8vJ2loMMaZdwTBIdDwN40l08Eu80hYlEvAfcCp53pxKP2JcmxTw8u0D_LvEljwrwgh1hFM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.36.11.png" /></a></div>
今回はEmptyを指定してください。<br />
<br />
今度は画面右側のProjectHierarchyビューを確認してください。このビューはUnityでいうHierarchyビューとInspectorの合体したビューになります。今回は新規でEmptyなエフェクトがあることが確認できると思います。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7tjF4dfNf9mUQAqPIvErapGRkU3lIrMzP-wW_LBQULMbBplsuE2tRk-nQI1aEoq6q1lz_lVQOsN2T2Yef320dImTadkDq-gB7iM37YQdkMti1KpgcG4kB_ED0e5XJZeJs1vsUDbb_dgU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.36.22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7tjF4dfNf9mUQAqPIvErapGRkU3lIrMzP-wW_LBQULMbBplsuE2tRk-nQI1aEoq6q1lz_lVQOsN2T2Yef320dImTadkDq-gB7iM37YQdkMti1KpgcG4kB_ED0e5XJZeJs1vsUDbb_dgU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.36.22.png" /></a></div>
では、NewEffectの右にある [P] のボタンをクリックしてみましょう。<br />
すると<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJLIKuJtWlDeO_qwrIKW7wrgDYNurQhpeUZl0jNBi1i8FEEol2pta4dbBdLNcdbfnOnWk1BoE47iDtNCYr9ZOPLoi212dDFj4QwfjCUCMkncOe17dJV6VGxrnY-jSDJWb-LUgKOzxBE0I/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.36.38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJLIKuJtWlDeO_qwrIKW7wrgDYNurQhpeUZl0jNBi1i8FEEol2pta4dbBdLNcdbfnOnWk1BoE47iDtNCYr9ZOPLoi212dDFj4QwfjCUCMkncOe17dJV6VGxrnY-jSDJWb-LUgKOzxBE0I/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.36.38.png" height="320" width="229" /></a></div>
上のようなウインドウが表示されるはずです。ここでは現在FXMakerが管理しているエフェクトの一覧を参照することができ、先ほどのNewEffectに追加することができます。<br />
試しに一つ選択してみましょう。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPW9t3T-MJSgJI4OAM-B62qey2IUvTGE7ZZ7RIodYXGVHF5U61ulurfHmp3HAr270vqqv2Pj5B36tofrdxsIy_Nf9fj4120zMv73QGktdNeH7pwFszuv20u6L5l9itho6N93s72FS9D4Q/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.43.20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPW9t3T-MJSgJI4OAM-B62qey2IUvTGE7ZZ7RIodYXGVHF5U61ulurfHmp3HAr270vqqv2Pj5B36tofrdxsIy_Nf9fj4120zMv73QGktdNeH7pwFszuv20u6L5l9itho6N93s72FS9D4Q/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-11+21.43.20.png" height="288" width="320" /></a></div>
<br />
<span id="goog_1862353395"></span><span id="goog_1862353396"></span>画面中央に選択したエフェクトが表示されることが確認できると思います。先ほどのウインドウは下部にあるCloseボタンで閉じてください。<br />
<br />
<h3>
なんとなく炎魔法っぽいエフェクトを作る</h3>
<div>
とりあえず基本的な操作はここまでで、実際にエフェクトを作成しましょう。</div>
<div>
それではRPGでつかえる炎魔法のようなエフェクトを作成してみましょう</div>
<div>
今回のエフェクトはFXMakerのサンプルを組み合わせるだけで作成することができます。</div>
<div>
まずは先ほどの手順でEmptyを作成します。ちなみに<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5JBqcVegK1l6ENg135xdoOImUmnOypcqbJpL3bRfyQ7rfTEZjHNZ19qEXAhAFjGF00lz9nH2ls_1vgdF4wx-DfxBmaH7-gPnQ44Qk8r8BPk2ZZfnz-VObkWikzucKAw6B5Ub6C_S2Lbk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.29.20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5JBqcVegK1l6ENg135xdoOImUmnOypcqbJpL3bRfyQ7rfTEZjHNZ19qEXAhAFjGF00lz9nH2ls_1vgdF4wx-DfxBmaH7-gPnQ44Qk8r8BPk2ZZfnz-VObkWikzucKAw6B5Ub6C_S2Lbk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.29.20.png" /></a></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
こちらのテキストボックスで名前を変更できます。(ちなみにテキストボックスの挙動に癖があるので注意してください)</div>
<div>
今回はFireMagicにしました。続けてPrefabHierarchyビューから[P]を押し、EffectSample/Sampleのground13を選択します</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjJrrBVrWGuCMdDi7ngIaC5uP-ao99rEy6tNreteCfLf-grV-fJPCylfjv4XskV0EpogPsrTf_5KWpu-De4mhYKuGBQa1FT_n3ybpLkBaSDu23eNP7Im-fUYqAQO0c1ZkwK7lKOoL7Juo/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.32.47.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjJrrBVrWGuCMdDi7ngIaC5uP-ao99rEy6tNreteCfLf-grV-fJPCylfjv4XskV0EpogPsrTf_5KWpu-De4mhYKuGBQa1FT_n3ybpLkBaSDu23eNP7Im-fUYqAQO0c1ZkwK7lKOoL7Juo/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.32.47.png" height="400" width="168" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikHUTw9WbCBJ8C_SRYESM2eJPKsX0rL9Mfk60hasnFOGyC8rE6bBhyVBvANLgWuY6ruOu28H4GkXoBSaCBRxK6at3D5CAbRColluSgLqlyoTpGpfGhXxOi8h-W9u-jupUu81mafnpzmCg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.34.41.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikHUTw9WbCBJ8C_SRYESM2eJPKsX0rL9Mfk60hasnFOGyC8rE6bBhyVBvANLgWuY6ruOu28H4GkXoBSaCBRxK6at3D5CAbRColluSgLqlyoTpGpfGhXxOi8h-W9u-jupUu81mafnpzmCg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.34.41.png" height="226" width="320" /></a></div>
<div>
何となく魔法陣のようなエフェクトが表示されるはずです。</div>
<div>
PrefabHierarchyを見ると<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbw3eda7m_n-w8y6Y_H2pEhAq63FUQs_thJ_9t_U4n4PNz_h0lXVdTTuLvzrHVSpK2EL6RxbBl1exV7HCvZaZg30vlE7BEsxgetmN44yRyNZlOuwGJNbfuiWstXiZhm0pSiFL-hoVGwuA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.36.35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbw3eda7m_n-w8y6Y_H2pEhAq63FUQs_thJ_9t_U4n4PNz_h0lXVdTTuLvzrHVSpK2EL6RxbBl1exV7HCvZaZg30vlE7BEsxgetmN44yRyNZlOuwGJNbfuiWstXiZhm0pSiFL-hoVGwuA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.36.35.png" height="400" width="202" /></a></div>
</div>
<div>
<br /></div>
<div>
このような構造になっていると思います。</div>
<div>
続けてFireMagicの [E] ボタンを押してください。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWwFnzWNX5CiWg3wxltilVhnoVNcQGBJnaYgpbcOAeIu22KbcqPI60uHoLtXn2ZdUxCwftqJwZk-DTINQe1ej6BI_wB6td62SHlPjcNbUUbh21Yo7nmYg4cy5xIWL2o4uzWxhaf_itxuA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.38.03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWwFnzWNX5CiWg3wxltilVhnoVNcQGBJnaYgpbcOAeIu22KbcqPI60uHoLtXn2ZdUxCwftqJwZk-DTINQe1ej6BI_wB6td62SHlPjcNbUUbh21Yo7nmYg4cy5xIWL2o4uzWxhaf_itxuA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.38.03.png" height="320" width="233" /></a></div>
</div>
<div>
このようなウインドウが表示されます。ここでは先ほど説明したスクリプトなどのコンポーネントをアタッチすることができます。</div>
<div>
今回はNcEffectのNcAttachPrefabを選択し、Add Componentボタンを押してください。<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK0a3Z_vkE0Y_BVs4uq_-XfVN_b77hk2JsIR6Fu8PBciOsylGxZNZ2hMEi_VpfK4TuH7OlAZuKa7yDB4xcl0hJQvvRkvMAEOqF70uKoWZoPvvHjWgiyusdtkGLAxCjaCg53ZKu_BmrjVY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.41.31.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK0a3Z_vkE0Y_BVs4uq_-XfVN_b77hk2JsIR6Fu8PBciOsylGxZNZ2hMEi_VpfK4TuH7OlAZuKa7yDB4xcl0hJQvvRkvMAEOqF70uKoWZoPvvHjWgiyusdtkGLAxCjaCg53ZKu_BmrjVY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.41.31.png" height="121" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">NcAttachPrefabは既に作成されたエフェクトを実行時にInstantiateするコンポーネントです</td></tr>
</tbody></table>
</div>
<div>
FireMagicにTransformに加えて新たにNcAttachPrefabのコンポーネントが追加されていることが確認できるはずです。ここでNcAttachPrefabをクリックしUnityのInspectorを確認してみましょう、いくつか設定できるパラメータがあると思います。</div>
<div>
とりあえずパラメータは弄らずに下部にある SelectPrefab ボタンを押します。プレハブ一覧が表示されると思うので、今回は EffectSample/Sample の explosion15 を選択しましょう。</div>
<div>
すると目標のエフェクトに近いものが表示されるはずです。ですが<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioUN1fZITwMFY2PXkbaWQiGRblnVUJkhjH-I4PIKlCmjvgvvEWxonoK7ZHGW6nFjZW_wmZVZkciq4WNxwYZWpUVdCLy6YCb81BFGeYBPQPs122Z6adC8RoOw_ZBarWomJX7a4N8SmH9Bs/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.48.50.png" /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT3NjM91lqyZQhD9xstBlNUCKtKuJPB2g3h1TeVVmvbJ-Ylum46TesGXXFSU4iQdwmyYlf4pI9qw1oANaRqLxwVgxK7pNJckWmUDp4iyEOzPg9uT2ZNfNu8fXcT-DZNuWn9KMN9kAjZfM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.49.01.png" imageanchor="1" style="display: inline !important; margin-left: 1em; margin-right: 1em; text-align: left;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT3NjM91lqyZQhD9xstBlNUCKtKuJPB2g3h1TeVVmvbJ-Ylum46TesGXXFSU4iQdwmyYlf4pI9qw1oANaRqLxwVgxK7pNJckWmUDp4iyEOzPg9uT2ZNfNu8fXcT-DZNuWn9KMN9kAjZfM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.49.01.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
このままでは魔法陣と炎のエフェクトが同時に作られてしまいちょっと見た目がダサくなってしまっています。今回は炎のエフェクトを遅れて発生させましょう。</div>
</div>
NcAttachPrefabを選択しInspectorを確認、fDelayTimeというパラメータがあるはずです。<br />
これは名前の通りディレイをかけられるパラメータで、今回は0.3を指定しました。すると<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIxT_sTSbiI2myFhyphenhyphenwDYLyZVnS8RB9ZyIYwqGn9gZHQ3DAzR0UpbfNgIl0ad-LUCkQajDxpcE9TEheEQB3dt2Pv9RD27vVJ5QqjjH5uOiOHfvz2z1MrObgXoHJLHTFlkmOhb_dBcH3OC0/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.55.29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIxT_sTSbiI2myFhyphenhyphenwDYLyZVnS8RB9ZyIYwqGn9gZHQ3DAzR0UpbfNgIl0ad-LUCkQajDxpcE9TEheEQB3dt2Pv9RD27vVJ5QqjjH5uOiOHfvz2z1MrObgXoHJLHTFlkmOhb_dBcH3OC0/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+6.55.29.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
いい感じのエフェクトができたと思います。<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjumcUf36AOKsLqorevt3CNtfjmuNyFSC0uo55BkiWfwKrqqWjmYPEDJ-YMsqnMvOYteEeRMAkOUfKXwZvPHfCiMHZFCSJB_khHnD3Niyz70A2MN5i_yLpkU3IGsRe_YSHn9V3FOeopQmU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+7.10.33.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjumcUf36AOKsLqorevt3CNtfjmuNyFSC0uo55BkiWfwKrqqWjmYPEDJ-YMsqnMvOYteEeRMAkOUfKXwZvPHfCiMHZFCSJB_khHnD3Niyz70A2MN5i_yLpkU3IGsRe_YSHn9V3FOeopQmU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+7.10.33.png" height="320" width="301" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">ゲーム中に組み込んでみる</td></tr>
</tbody></table>
ほかにもこんな感じに<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZS9QVgGlCSAWKyJH4iDklK6rakO0tnxqXWlMiKNVBGOgCix68u2nicaO15UXHWNwEZHdaMNCPA88M0s11qXX21ElSJ3qxTgL8pe5k3nFOzaRPLPo1wCLkLGwuzpQ9wMS-M905UiCBZtI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+7.23.24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZS9QVgGlCSAWKyJH4iDklK6rakO0tnxqXWlMiKNVBGOgCix68u2nicaO15UXHWNwEZHdaMNCPA88M0s11qXX21ElSJ3qxTgL8pe5k3nFOzaRPLPo1wCLkLGwuzpQ9wMS-M905UiCBZtI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+7.23.24.png" height="311" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPkx6hgM0DNUPDQ1TY6-5NZvdCAPyxF692zYjrSOQCW6r-d4sJZvLKkHWxU0ze8wfrujcz3OJNsqhT7l3nYGOX3PmgDMSf73-Zn4iwNrQN5nc_uONPOle9pF-Vk_ziQvfWqA7c3oiwzCI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+7.19.29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPkx6hgM0DNUPDQ1TY6-5NZvdCAPyxF692zYjrSOQCW6r-d4sJZvLKkHWxU0ze8wfrujcz3OJNsqhT7l3nYGOX3PmgDMSf73-Zn4iwNrQN5nc_uONPOle9pF-Vk_ziQvfWqA7c3oiwzCI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+7.19.29.png" height="320" width="195" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLmy2avzWwe3G3IVfoN9v4hMbGeAYWySDrmMs-TeEclSy_n1BMUiMKbHTw-odtkT0mUHbuAdC4Rg37W7SAjHavuHfe4BnVf6vYzEmDBImDkDf8VIjAOD1_tAAU_o7_zduynvRYdv9YsA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+7.19.15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLmy2avzWwe3G3IVfoN9v4hMbGeAYWySDrmMs-TeEclSy_n1BMUiMKbHTw-odtkT0mUHbuAdC4Rg37W7SAjHavuHfe4BnVf6vYzEmDBImDkDf8VIjAOD1_tAAU_o7_zduynvRYdv9YsA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-08-12+7.19.15.png" height="249" width="320" /></a></div>
<br />
<br />
<h2>
まとめ</h2>
<div>
FXMakerを使用すればとりあえずそれっぽいエフェクトが簡単に作れます。</div>
<div>
元々入っているサンプルでも面白いものが作れるのでちょっと高いですが試してみる価値はありそうです。今回紹介していませんが作成したエフェクトをスプライトアニメーションに変換したりスライダーによるエフェクトスピードの調整などまだまだたくさんの機能がありますので、そちらについては後日機会があれば...</div>
<div>
<br /></div>
明日はやまださんによる「<span style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px;">ユニティちゃんにAssetStoreで販売しているモーションをアタッチしよう!」となります。</span></div>
K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-43714733160564987422014-02-23T15:54:00.000+09:002014-02-23T15:54:33.707+09:00Unityの謎Editor拡張ふとAssetStoreを見て回ってたときにみつけたアセットがこちら<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFQWMcUoujYTcA34GWGI6Z_98joJEPIcUjLwuqNYUPuuFf6NE4-g-RZloijYcLjzsCZ_CfGeSM8a1PWstt3_J7BHT3LfxVn05jgjXr430kcL5BRpgfPnt6fA2vR0MfgYOt4SrppWBHkdo/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-23+15.21.26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFQWMcUoujYTcA34GWGI6Z_98joJEPIcUjLwuqNYUPuuFf6NE4-g-RZloijYcLjzsCZ_CfGeSM8a1PWstt3_J7BHT3LfxVn05jgjXr430kcL5BRpgfPnt6fA2vR0MfgYOt4SrppWBHkdo/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-23+15.21.26.png" height="294" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
StressBallというアセットらしい。</div>
<div class="separator" style="clear: both; text-align: left;">
アセットをインポート後WindowタブのPixelplacementからStressBallを選択で上の様なウィンドウがひらく。</div>
<div class="separator" style="clear: both; text-align: left;">
これで出来ることというと左クリックでこのつやつやなボールを掴んで投げることが出来るらしい。ただそれだけのアセットなのだが、どうやらアセットの説明をみているとLightMapのベイク中などにもこのウィンドウで遊んでねということらしい。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigSTHwxbuXkfsEyN1py0UfUUmSqILoLPSDLLrRAl9sFSrlnn6DnxcKFA2vsHDY9BmZodtsTxZY_OUQSowPRYM4BV5gleMQqDCDZTVQCOO_bLHkSlP15glsHLkvMsN3LrmMsvHFVgKzf-8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-23+15.35.11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigSTHwxbuXkfsEyN1py0UfUUmSqILoLPSDLLrRAl9sFSrlnn6DnxcKFA2vsHDY9BmZodtsTxZY_OUQSowPRYM4BV5gleMQqDCDZTVQCOO_bLHkSlP15glsHLkvMsN3LrmMsvHFVgKzf-8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-23+15.35.11.png" height="320" width="228" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
楽しい...?</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
つづいてはこちら</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQgKZITu2wULuiFi7DTyh03tGZ071i2K5ark7QubuTIqVNwfAMsh65hQnodSTexEPOqmr7-UxVJSCHSAFMOsjMN18-kWl_SXaY7MAtkk6waT_eXM-bhYI8hvGRoziYw50scevcuz8uf3g/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-23+15.43.33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQgKZITu2wULuiFi7DTyh03tGZ071i2K5ark7QubuTIqVNwfAMsh65hQnodSTexEPOqmr7-UxVJSCHSAFMOsjMN18-kWl_SXaY7MAtkk6waT_eXM-bhYI8hvGRoziYw50scevcuz8uf3g/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-23+15.43.33.png" height="320" width="312" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
一見こちら、宇宙を背景にした<strike>チープな</strike>ゲームみえるが、これもEditor拡張である。<br />
ルールはどうやらマウスを追っかけるロケットをうまく操り、プレイヤーを追いかけるロケットを回避するというものらしい。<br />
また、ゲーム途中で現れる白い丸(Bombらしい)をとると画面内の敵を一掃出来るようだ。<br />
これがなかなか難しくイイカンジに暇が潰れる。<br />
<br />
意外と楽しい...K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-86651069432670119192014-02-19T13:46:00.002+09:002014-02-19T13:47:22.736+09:00InspectorのLock機能についてUnityのInspectorのLock機能つかってますか?<br />
ということで知っていると超便利なLock機能について紹介します。<br />
UnityのViewのタブ部分を右クリックでWindowを追加出来るのはご存知だと思います。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnao1a21t9h-UUjCr7PO7SRjC8Hnzsx6q63HgYEoR642Lr3U74-Z34lJKCHC0HowueWrSUHLJC7MJm77T343LmIQcaGuqsTAk6QFpXou8PYCuFXEuNtS-lPgwS8eHvDtEawj3Cmv8Agwk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.25.05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnao1a21t9h-UUjCr7PO7SRjC8Hnzsx6q63HgYEoR642Lr3U74-Z34lJKCHC0HowueWrSUHLJC7MJm77T343LmIQcaGuqsTAk6QFpXou8PYCuFXEuNtS-lPgwS8eHvDtEawj3Cmv8Agwk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.25.05.png" height="200" width="178" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
こうするとインスペクタを追加できるので縦に並べます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsjRqKvWVG6ePBuOmbIcmb9Pq93D6h9VIfdMyOXXgGEmujBGWyaD1_CyRjxDU3Ui-7aIYnhwVdRoCE-isQVlN_wD29upgCaUNqbwCAt6kbFvp4Iq5mCCCl7Kl1thhsGsV-ReP_QlnWK5Q/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.25.21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsjRqKvWVG6ePBuOmbIcmb9Pq93D6h9VIfdMyOXXgGEmujBGWyaD1_CyRjxDU3Ui-7aIYnhwVdRoCE-isQVlN_wD29upgCaUNqbwCAt6kbFvp4Iq5mCCCl7Kl1thhsGsV-ReP_QlnWK5Q/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.25.21.png" height="640" width="243" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
この状態でいろいろ名物を選択すると上下のインスペクタそれぞれに同じ物が表示されます。Normal表示とDebug表示を同時にみたいときにはこのままでも使えますが、今回はLock機能についてなのでLockしてみましょう。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaaS3pdE28qjzfHwwZnzJ_VgvoSSdVFHMjpAwhyUMqAhS41U5mvADMpxSa1jBLgvlhBjA3kmR6bPpIOUAkGJo1oPd5bx6INDe_KI7-PkqNTAwK7UrIkc6MOS3d5wtXqion6mgjw5DgytI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.39.00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaaS3pdE28qjzfHwwZnzJ_VgvoSSdVFHMjpAwhyUMqAhS41U5mvADMpxSa1jBLgvlhBjA3kmR6bPpIOUAkGJo1oPd5bx6INDe_KI7-PkqNTAwK7UrIkc6MOS3d5wtXqion6mgjw5DgytI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.39.00.png" height="63" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
インスペクタの右上の鍵マークをクリックすることでアイコンの鍵がかかり、Lockされます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-VTg50pdGVbrjEOANB4tnFe6wfiD4GPeRUVvIVTcWQpSrOZRF8H-lWR2K-D3cW6giW2_ziVtcEESwnhtt5syxxkzMWQj3GR4stMTGEdb23fahrdFj2d5dDQEXxRQrSzVa-vxV9uomIhU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.26.16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-VTg50pdGVbrjEOANB4tnFe6wfiD4GPeRUVvIVTcWQpSrOZRF8H-lWR2K-D3cW6giW2_ziVtcEESwnhtt5syxxkzMWQj3GR4stMTGEdb23fahrdFj2d5dDQEXxRQrSzVa-vxV9uomIhU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.26.16.png" height="640" width="248" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
LockされたインスペクタはUnity上で別のオブジェクトを選択しても、Lockした時のオブジェクトを表示し続けます。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirWlQRmxbRO7QzaXDGsejKeHnNeuN0hgCFBjIVxU4jkpnKu1kOAjlL-ocgW9INZfjh6DUo6QZNhgFvCddmJui9jy5wG2FkR01uHbJmLNA_JmbesUGGgYoAarhp3O4xIZ_kATnoF1vhYSQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.29.07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirWlQRmxbRO7QzaXDGsejKeHnNeuN0hgCFBjIVxU4jkpnKu1kOAjlL-ocgW9INZfjh6DUo6QZNhgFvCddmJui9jy5wG2FkR01uHbJmLNA_JmbesUGGgYoAarhp3O4xIZ_kATnoF1vhYSQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-02-19+13.29.07.png" height="640" width="248" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
登録されている複数のPrefabを順番に確認したい場合等にLock機能を使うことでスムーズに確認を行うことが出来ます。</div>
<br />
<br />K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-87840630859630338112012-08-14T01:03:00.000+09:002014-02-19T13:47:42.735+09:00EditorScript入門最近忙しくて記事を書くのがサボり気味です。<br />
今回はお酒を飲みながらEditor拡張について扱います。<br />
<br />
Unity大きな特徴としてEditor自身を簡単に拡張できるところがあります。普段利用している際にも細かいところに手が届かず、ちょっと困ることがあると思います。<br />
そういった場合にEditor拡張を行うことでより自由自在にUnityを活用することが出来ます。<br />
<br />
まずEditor拡張を行う際には専用のスクリプトを用意します。Projectタブの中にEditorフォルダを用意してください。その中に入れたスクリプトがEditor拡張用のスクリプトとして認識されます。注意すべきは、Projectのなかにあればどのような階層にあったとしてもEditorフォルダの中にあるものはすべてEditor拡張用として見なされてしまうという点です。Editorフォルダの中に入っているスクリプトに関しては実際にゲームをビルドする際には含まれません。そのため、ゲームの進行に必要なスクリプトはEditorフォルダに入れないようにしましょう。<br />
<br />
Editor拡張を行う際にはUnityEditorの名前空間を指定する必要があります。そのためC#の場合は<br />
using UnityEditor<br />
とスクリプトのはじめに記述します。<br />
そのごの細かい部分に関しては以下のスクショにて<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoXuT3YwBygBlEXduospGWTAjU6w03Ix6GblKvCUByxLDGHgNzVXRWFEzpDOzIZgCp5kXwPg5YUssk54BCoxyckXaxdh-80FWVfp9qf_G0jX7B1SsA2uHl2YatMbDUoFz7XQMAjyoi-xs/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-14+0.49.35.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoXuT3YwBygBlEXduospGWTAjU6w03Ix6GblKvCUByxLDGHgNzVXRWFEzpDOzIZgCp5kXwPg5YUssk54BCoxyckXaxdh-80FWVfp9qf_G0jX7B1SsA2uHl2YatMbDUoFz7XQMAjyoi-xs/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-14+0.49.35.png" height="305" width="400" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoXuT3YwBygBlEXduospGWTAjU6w03Ix6GblKvCUByxLDGHgNzVXRWFEzpDOzIZgCp5kXwPg5YUssk54BCoxyckXaxdh-80FWVfp9qf_G0jX7B1SsA2uHl2YatMbDUoFz7XQMAjyoi-xs/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-14+0.49.35.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"><br /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
こんな感じです。</div>
<div class="separator" style="clear: both; text-align: left;">
具体的に何が出来るスクリプトかというと、シーン内にあるMeshの純粋な頂点数を計算しています。</div>
<div class="separator" style="clear: both; text-align: left;">
Editor拡張を行う際にはEditorWindowなどのクラスを基底クラスとして拡張していきます。そして、主にOnGUIを利用してWindowの中のボタンやテキストフィールドを用意します。その際には今回利用しているGUILayoutクラスを利用することで綺麗に並べることが可能となります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
今回は利用していませんが、Assetの管理を行う際にはファイル操作の知識があると便利です。特定の形式のデータだけを抽出してソートする等、様々な使い方があります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
また、今回このスクリプトを作成した際に気がついたのはUnityのGameWindowにあるStatsで表示されるVertsは純粋な頂点数ではないということがわかりました。</div>
<div class="separator" style="clear: both; text-align: left;">
具体的にはMesh自体が持っている超点数よりも2倍近く表示されているということがわかりました。</div>
<div class="separator" style="clear: both; text-align: left;">
試しにCube(8頂点) のみを画面内においたところ頂点数が16と表示されていました。</div>
<div class="separator" style="clear: both; text-align: left;">
これに関しては今後調査する必要がありそうです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<br />K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-35880631678407593822012-08-09T01:05:00.000+09:002014-02-19T13:47:32.659+09:00パーティクルシステムShurikenパーティクルシステムがShurikenに変わってからどうやって設定したら思い通りのパーティクルが作れるか悩んでいる人も多いみたいです。そもそも、項目が分けわからんという人も結構いるみたいですが...<br />
意外と簡単だったりします。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsdtVGRnhOXTYZeUwKTfOmc_-II5atQnjLMYftqbPBrkapUoWd7_0tGD1wuuE6yJbGJWdp8kq01V5MZjothY5ZPLaII3tQd8FnG3qx9tfnTljGuTT9hwIkhy63qLsJm_ksI1lopQsSYwY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-08+1.04.18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsdtVGRnhOXTYZeUwKTfOmc_-II5atQnjLMYftqbPBrkapUoWd7_0tGD1wuuE6yJbGJWdp8kq01V5MZjothY5ZPLaII3tQd8FnG3qx9tfnTljGuTT9hwIkhy63qLsJm_ksI1lopQsSYwY/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-08+1.04.18.png" height="320" width="298" /></a></div>
<br />
<br />
<br />
上から順番に確認していきましょう。<br />
ParticleSystemをクリックするとまずは基本となる部分が出てきます。どの要素も名前で大体判別できると思います。重要なのは、値を入力できるフィールドの右はじに下向きの三角形がついているものです。三角を押すことでわかりますが、フィールドの値をカーブやランダムな値等柔軟に入力できるようになります。これに関しては今後の部分でも非常に良く使用する部分ではあります。<br />
<br />
・Emission<br />
エミッションとは排出のことを指し示しています。すなわち、パーティクルの要素一つ一つがどのように発射されるかを定義する部分です。基本はTimeで値を設定するだけで良いでしょう。<br />
<br />
・Shape<br />
パーティクルがどのような形で排出されるかを設定することが出来ます。デフォルトはCornすなわち上に向かって開いている三角錐みたいな感じになっています。そのため、初期のパーティクルが上向きに広がるようになっています。ほかにはBoxやSphereなどの形状が設定でき、どれもその形に添って発出します。<br />
<br />
・ 〜〜 over LifeTime系<br />
パーティクルのライフタイムに応じて様々な値を変更することができます。<br />
<br />
・〜〜 over Speed<br />
上記と同様にスピードに応じて変更が出来ます。<br />
<br />
・Collision<br />
Colliderの衝突判定を設定すること可能です。設定したTransform情報(座標、回転)から面を作り、発生したパーティクルはそれに反射するようになります。<br />
<br />
・SubEmitter<br />
パーティクルの発生に伴い更に別のパーティクルを発生させることができます。Birth(発生時)、Death(消失時)、Collision(衝突時)それぞれに対して設定できます。<br />
<br />
・TextureSheetAnimation<br />
テクスチャを分割してアニメーションさせます。XおよびYで分割数を、Animationで全体を巡るのか一つの軸(XもしくはY)のみ巡るのか、Cyclesでスクロールする回数を設定できます。<br />
<br />
・Renderer<br />
パーティクルで使用するマテリアル等を設定します。パーティクルの表示方法や最大サイズ等を設定することが可能です。<br />
<br />
こんな感じです。<br />
正直使ってみれば意外とわかりやすいことがわかります。<br />
<br />K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-90238121887573814412012-08-07T02:24:00.004+09:002012-08-07T02:24:57.219+09:00FGJに参加してきましたつい昨日まで福島にいました。<br />
<div>
もちろん<a href="http://fgj12.ecloud.nii.ac.jp/" target="_blank">FGJ</a>に参加するためです。</div>
<div>
<br /></div>
<div>
今回でゲームジャムは三回目でしたが、制限時間30時間はなかなかにしんどかったです。企画やコンセプトは早い段階で決まりましたが、思うように実装が進まないこともあります。</div>
<div>
特に今回はUnityにおいて2Dゲームを作成するということで<a href="http://forum.unity3d.com/threads/142608-Uni2D-tool-A-new-amazing-way-to-create-2D-games-in-Unity!!" target="_blank">Uni2D</a>を使用しました。<br />
こいつは、作成した画像データからコリジョンを自動で生成してくれるというなかなかの優れもので、Unityで2Dの物理系ゲームを作成するならば見ておいても損はなさそうです。<br />
<br />
しかし、こいつになかなかに振り回された部分もありました。<br />
テクスチャからコリジョンを作成する際にプレハブを生成するのですが、どうやら自動でリソースを作成してしまうようでAssetServerを利用しているとコンフリクトしまくるということが発生しました。<br />
直接的なダメージは無いものの、Updateするたびに毎回コンフリクトするのはなかなかに面倒です。また、今回はWebPlayer上での発表だったため問題なかったのですが、iOSやAndroid向けに使用するにはまだまだ重いということも聞きます。これらのことが解決されれば非常に強力なツールとして広まるのではないでしょうか。<br />
<br />
ここでまたFGJの話に戻ります。<br />
今回自分は3班に参加しました。主にプログラムとサウンドを扱いましたが、やはりまだまだスキルアップの余地があるなあとも思いました。また、今回初めてペアプログラミングを行ったのですが、なかなかにたのしかったです。バグを見つけるには十分な目の数があればいいとかなんとかそんな話もありますが、事実二人で一つの処理を考えれば意外としっかりとしたものができるようです。<br />
<br />
次回のGGJではリーダーに立候補しようかなぁとも考えるこのごろです。<br />
<br />
技術系の話はまた明日からつづきます。</div>K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-32242050115929487762012-08-03T00:48:00.003+09:002012-08-03T00:54:32.775+09:00マイクから音を取得して波形を描画する今回はマイクから音を取得して波形を生成するプログラムを作成しました。その結果は<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj67EO6ypLVQ1iMxAbjJJIFRXAM9oO9A_V3L0r3jfAu95WyREVoGeMKQ2BIVqzyCrBEEgt8nCTYwcWYyJiqUH3KjfQwEPzef3nlv0mz9_vYy3YDrEzE41qlB6mGIZvAS9JwKKC7NSmYkoE/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-03+0.32.28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj67EO6ypLVQ1iMxAbjJJIFRXAM9oO9A_V3L0r3jfAu95WyREVoGeMKQ2BIVqzyCrBEEgt8nCTYwcWYyJiqUH3KjfQwEPzef3nlv0mz9_vYy3YDrEzE41qlB6mGIZvAS9JwKKC7NSmYkoE/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-03+0.32.28.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
こんな感じになりました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
今回のソースは</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfkam8RXkMDzPbvSASixIDZUttZ30RrE48cJK1gjGa9G1W7srQijAuOPl6mSiUCb1TP-zE3U5ET3geVB19pjDvFDp8zB3Gb3cfFJse885LkL2aOSGq4LU2P-0qXVcQQgF1-JDt8PA2viA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-03+0.50.23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfkam8RXkMDzPbvSASixIDZUttZ30RrE48cJK1gjGa9G1W7srQijAuOPl6mSiUCb1TP-zE3U5ET3geVB19pjDvFDp8zB3Gb3cfFJse885LkL2aOSGq4LU2P-0qXVcQQgF1-JDt8PA2viA/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-03+0.50.23.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1UXNoPBvanBJ_rPzfa9z5UW61rve5weREc-Df_1Ov8YIk4oJKYM1h9qcf5qVHTFLjPyA4DUTSXDvzCWkdeC5FQk2cqOm_EG93pkxdY3MTiq-UBHUW10qpF-6c_y8U-p8At2YypRJSWFs/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-03+0.53.49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1UXNoPBvanBJ_rPzfa9z5UW61rve5weREc-Df_1Ov8YIk4oJKYM1h9qcf5qVHTFLjPyA4DUTSXDvzCWkdeC5FQk2cqOm_EG93pkxdY3MTiq-UBHUW10qpF-6c_y8U-p8At2YypRJSWFs/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-08-03+0.53.49.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
こんな感じです。</div>
<div class="separator" style="clear: both; text-align: left;">
音声の入力にはMicrophoneクラスを、波形の描画に関してはLineRendererを使用しています。PlayClip関数内のwhile文の中にあるマジックナンバーは主に波形の描画位置の調整を行っています。</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com1tag:blogger.com,1999:blog-265767059761445969.post-18920443299786211482012-08-02T00:25:00.002+09:002012-08-02T00:25:31.408+09:00最適化のお話最適化についてまとめます。<br />
特にiPhoneやAndroid向けに開発する場合は悩まされる部分ではあります。<br />
Unityに限らず役に立つ部分もあるかもしれません。<br />
<br />
まず最適化を行う上で意識すべきことはキャッシュすることです。<br />
毎ループごとにGetComponent()しているような部分はStartであらかじめキャッシュすることで無駄な処理を省くことができます。<br />
また、ComponentだけではなくFind()で探しているオブジェクトや、結果が変わらない計算等はキャッシュするのが基本です。<br />
<br />
ほかにもRaycastのキャッシュも効果があります。Raycast自身を無意識で使用してしまうととんでもないネックになることがほとんどです。LayerMaskを指定して判定を行うオブジェクトを少なくすることは当然ですが、一度判定が取れたのならばその判定をキャッシュしておきRaycastHit.colliderからコライダのRaycastを使用するようにしましょう。<br />
Physics.Raycastが全てのコライダと判定をとろうとするのに対してCollider.Raycastではコライダ自身との判定をとるだけなので圧倒的にコストが変わると考えられます。<br />
<br />
キャッシュの他にはUpdateおよびFixedUpdateで処理する内容に注意する必要があります。特にFixedUpdateは単位時間あたりに呼び出される回数がUpdateよりも多いので、気をつけないと非常に危険です。とくに前述のRaycastと複合されてしまうと非常に大きなネックとなります。<br />
<br />
最後にベクター系クラスのmagnitudeには気をつける必要があります。ベクトルの大きさを求める際には三平方の定理からもわかりますが、平方根の計算を行う必要があり、それには地味に負荷がかかります。単にベクトルの大小比較を行うだけであればsqrMagnitudeを使用しましょう。こちらの値は最後に平方根をとる部分が除かれているすなわち大きさの二乗の値が取れることになり、x < y ならば x^2 < y^2 となるので単純な大小比較だけであればこちらで問題ありません。<br />
<br />
今回はプログラムを中心にまとめました。<br />
バッチやDrawcallなどプログラム以外に深く関わっている部分に関しては後日まとめます。<br />
<br />K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-56837371493832333532012-07-27T00:39:00.000+09:002012-07-27T00:39:06.190+09:00しってると便利な小技系関数知っとくと意外と得する関数について今日は紹介していきます。<div>
<br /></div>
<div>
GameObject.SetActiveRecursively(bool)</div>
<div>
あるゲームオブジェクトおよびそのオブジェクトの全ての子オブジェクトをアクティブor非アクティブにすることができる。</div>
<div>
➡複雑な階層構造のオブジェクトをまとめて非アクティブにする際に便利です。</div>
<div>
<br /></div>
<div>
GameObject.GetComponentInChildren(Type)</div>
<div>
あるゲームオブジェクトの子オブジェクトから指定のコンポーネントを取り出す。</div>
<div>
➡GetComponent"s"にすることで複数あった場合にまとめて取得することが出来る。こちらも階層構造になっているオブジェクトを扱うときに便利。</div>
<div>
<br /></div>
<div>
Mathf.Rad2Deg Mathf.Deg2Rad</div>
<div>
値を度数法と弧度法でそれぞれ変換する</div>
<div>
➡ angle = radian * Mathf.Rad2Deg のように使用する。この場合は弧度法から度数法へ変換したことになる。</div>
<div>
<br /></div>
<div>
Mathf.PingPong(float t , float length)</div>
<div>
0〜lengthの値をピンポン球を床に反発させているかのように行き来させた値を取得することが出来る。</div>
<div>
➡サンプルにもあるが hoge = Mathf.PingPong(time.deltaTime . 10.0); のように使用するこの場合 hoge には0~10.0までの値が入る。</div>
<div>
<br /></div>
<div>
Lerp(Hoge fuga1, Hoge fuga2 , float rate) Slerp(<span style="background-color: white;">Hoge fuga1, Hoge fuga2 , float rate</span><span style="background-color: white;">)</span></div>
<div>
Lerpは線形補完、Slerpは球面線形を補完を行い、rateの比率分だけ進んだ値を返す。</div>
<div>
➡Lerpでは二点を直線的に結び、Slerpは曲線でなめらかに結ぶ。Vector3やQuaternionなど様々な型で用意されている。例えばLerp(v1,v2,0.5)ではv1とv2の中点が取得できる。</div>
<div>
<br /></div>
<div>
ほかにもたくさん便利な関数が用意されています。</div>
<div>
本日は眠いのでここまで。後日またまとめていきます。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-86808131300040470402012-07-26T00:39:00.001+09:002012-07-26T00:40:58.663+09:00続・LayerについてLayerについて昨日書けなかった部分を書いていきます。<br />
<div>
昨日はカメラのカリングマスクとして使用しましたが、Lightのカリングマスクとして使用することも可能です。</div>
<div>
<br /></div>
<div>
まずは設定なしの状態<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBJb3Ru7qv_eooSWybM7F8KTBhFf7wjWCTMSlWDg5bpSpjwT54iOWHInk7ml_t_ffl0ZB5KJKfD2Szi2W2P44mYU-_-yxlQfkeLGi5w0rRAj3Mnax4GDGRjtJoz_YDDx2CQHtQJYmwFKM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.10.44.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBJb3Ru7qv_eooSWybM7F8KTBhFf7wjWCTMSlWDg5bpSpjwT54iOWHInk7ml_t_ffl0ZB5KJKfD2Szi2W2P44mYU-_-yxlQfkeLGi5w0rRAj3Mnax4GDGRjtJoz_YDDx2CQHtQJYmwFKM/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.10.44.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
カリングマスクを設定するにはLightのコンポーネントの下から二番目のタブで、カメラと同様に設定することが可能。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisZXUtaxR4OHUM5n-GirjVJ1Q2vPRJ2p1NnRIqmIUSf-am9QZ6op3I7PocDdVQjdy2oJUyskE1UF1PiQXYRqT9I8VnCfjrQs6QHw79tM1tVgU0Im4JRnNNtrSO96Q8PffuXqEtQX3HTBc/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.10.57.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisZXUtaxR4OHUM5n-GirjVJ1Q2vPRJ2p1NnRIqmIUSf-am9QZ6op3I7PocDdVQjdy2oJUyskE1UF1PiQXYRqT9I8VnCfjrQs6QHw79tM1tVgU0Im4JRnNNtrSO96Q8PffuXqEtQX3HTBc/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.10.57.png" width="320" /></a></div>
<br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;"><br /></span><br />
<br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;">まずは青いライトのカリングマスクからPlaneをのぞいた場合。</span><br />
Planeには青いライトの影響がなくなっています。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgIPZDnsQ02WDJVwHrKVXQHGaeC084feF2QjdCP0S2QLDcChtSSclc7t4shjGjFWN1wMpyMlJCVhs1gl6DW3PjX0UMP3p0PWkdTfGGUVYoHZKUZ9tfzS-sp2wwNYYUjD7qDfqNBvDICyo/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.11.16.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgIPZDnsQ02WDJVwHrKVXQHGaeC084feF2QjdCP0S2QLDcChtSSclc7t4shjGjFWN1wMpyMlJCVhs1gl6DW3PjX0UMP3p0PWkdTfGGUVYoHZKUZ9tfzS-sp2wwNYYUjD7qDfqNBvDICyo/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.11.16.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
つづいて、青はSphereに、緑はCubeに、赤はPlaneにのみ影響するようにしました。<br />
影響を明らかにするためにLightProbeをOffにしました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUG-sWSocfqqbtJe6Z9jK5UdYgwuv6iNjRAdM5mCOCmwSlWyKbFmFLpbOHhaQ6H56lpHzijSwrLID9ZO_1C8QGvVr-IADFzzmTPBJ2CfRc3wPycsl0R7F1-7hxVb2f4Z-h83SddKMDOAU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.12.55.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUG-sWSocfqqbtJe6Z9jK5UdYgwuv6iNjRAdM5mCOCmwSlWyKbFmFLpbOHhaQ6H56lpHzijSwrLID9ZO_1C8QGvVr-IADFzzmTPBJ2CfRc3wPycsl0R7F1-7hxVb2f4Z-h83SddKMDOAU/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.12.55.png" width="320" /></a></div>
<div>
<br /></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
このような機能を使用することでプレイヤーキャラクターのみにあたるライト等を作成することが可能になっています。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
続いてLayerMaskと衝突判定について。</div>
<div>
先ほどのシーンのCubeとSphereにRigidbodyを追加することで、剛体運動をさせるようにします。この場合通常であれば下にあるPlaneに衝突します。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI_WKcbBJmSbpzi1D-Ku-TVm4_DUSL9QyVQoEWE9YWFqxmB1bHyQ4MjZT31CB1hWFHzfNboio7pO-9nvKL-qOxh05oU57-YSWVNeppATe1odPEwa-0XM_6gXEabUl86MH9TQtSMmp6DnA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.25.41.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI_WKcbBJmSbpzi1D-Ku-TVm4_DUSL9QyVQoEWE9YWFqxmB1bHyQ4MjZT31CB1hWFHzfNboio7pO-9nvKL-qOxh05oU57-YSWVNeppATe1odPEwa-0XM_6gXEabUl86MH9TQtSMmp6DnA/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.25.41.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
ここでPhysicsManagerからLayerごとの衝突判定を設定します。PhysicsManagerはEdit➡ProjectSettings➡Physicsを選択することでInspector上に現れます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz0w7g7EqKgrnPiUSHKk-xLeyFNjkXuNtIrPafk5X-_K_6GMLKQhY9tkW_02IyiLY0dCw_bqSy6yM_BuyZzOA7mEgNCdJ3jX92YzAMCluXRHgIGhKWheyO2NTSe3dqHrLAmkYfxWPfOaw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.26.48.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz0w7g7EqKgrnPiUSHKk-xLeyFNjkXuNtIrPafk5X-_K_6GMLKQhY9tkW_02IyiLY0dCw_bqSy6yM_BuyZzOA7mEgNCdJ3jX92YzAMCluXRHgIGhKWheyO2NTSe3dqHrLAmkYfxWPfOaw/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.26.48.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV_Dtwa4kJzGSBeMV6uU0wZHtj3nON2cttO9wVcfQ8e32Njz72UHh_SwnvDXKI1ZfUSRj3J2jyptMO3ojOOkFKNhHAzka6yF_uLQJ_HSibNsDooHVKDAfTb2E2QMrzXT8dqsJQnUsWdh4/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.26.58.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV_Dtwa4kJzGSBeMV6uU0wZHtj3nON2cttO9wVcfQ8e32Njz72UHh_SwnvDXKI1ZfUSRj3J2jyptMO3ojOOkFKNhHAzka6yF_uLQJ_HSibNsDooHVKDAfTb2E2QMrzXT8dqsJQnUsWdh4/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.26.58.png" width="231" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
ここの下のマトリクスで衝突判定に関して設定できます。今回はSphereとPlaneの衝突判定をOffにしました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC38FqVakaTOR2Di_TXvgU6JAJsQfud575HZ1V2WGbeUlSEXTTO-__ohJKYF2atySzQPAarwRCySjlArchpXNWMSod26f365216hSY7FIdIpW8j0TOpORlZKTJxViQXSIff9eBXgxg4Fk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.27.13.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC38FqVakaTOR2Di_TXvgU6JAJsQfud575HZ1V2WGbeUlSEXTTO-__ohJKYF2atySzQPAarwRCySjlArchpXNWMSod26f365216hSY7FIdIpW8j0TOpORlZKTJxViQXSIff9eBXgxg4Fk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.27.13.png" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
そうするとこのようにSphereとPlaneの衝突判定がなくなります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjySdeteOETfUCofBbd-wymMWmaTKAts7fyqkf_Nd2jZACSlUE6Bsdtf3DjclvuAB9SgBhmOQ5Tp68eGoaucgz3HLF73wKjMsEF0PnuS5pZSXFQETVP6qihe2Grwiusg3ct2PNKXN_kVPI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.27.27.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjySdeteOETfUCofBbd-wymMWmaTKAts7fyqkf_Nd2jZACSlUE6Bsdtf3DjclvuAB9SgBhmOQ5Tp68eGoaucgz3HLF73wKjMsEF0PnuS5pZSXFQETVP6qihe2Grwiusg3ct2PNKXN_kVPI/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-26+0.27.27.png" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
これらのようにLayer設定を分けることで様々なことが出来るようになります。この他にもゲーム制作では書かせないRaycastなどもLayerMaskを指定することで処理を軽くすることが可能になったりします。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-5553915576486462412012-07-25T00:37:00.001+09:002012-07-26T00:06:56.416+09:00LayerについてUnityのLayerの機能を上手に利用することで様々な処理が行えるようになる。<br />
まず、Layerの設定方法について。<br />
インスペクタの最上部<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrinAnBm1c9EmG-3vnWN0Bo336_I1dko89633qBc1boop0vekl3aJPBrhWPZ194WlDhsg31OpKTODEoOULvK8mndxqS2j2LmM5IPTEJgHEkG8W_tFqn-Uh8zzLEFdKzFADGXdkBuUi3AQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.03.35.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrinAnBm1c9EmG-3vnWN0Bo336_I1dko89633qBc1boop0vekl3aJPBrhWPZ194WlDhsg31OpKTODEoOULvK8mndxqS2j2LmM5IPTEJgHEkG8W_tFqn-Uh8zzLEFdKzFADGXdkBuUi3AQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.03.35.png" /></a></div>
<br />
<br />
<br />
<br />
<br />
この右下のタブで選択する。<br />
自分でレイヤーを追加するには、AddLayerを選択することでUserLayerに命名出来る。<br />
<br />
第一の使い方としてカメラのCullingMaskとして使用することが出来る。<br />
インスペクタから<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSjPmIg5lgdmnir36FK34qxOxGKEBEXS-0hMUlibULhuLjghlDBBtuv34wXHul7Nerjm4u6ztFsi14soRkKrLLdWwZAfUCKQjzNWPuUPAdrSQDkMx1u3TfL4N4xZB_OSvrNWpItla-060/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.18.38.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSjPmIg5lgdmnir36FK34qxOxGKEBEXS-0hMUlibULhuLjghlDBBtuv34wXHul7Nerjm4u6ztFsi14soRkKrLLdWwZAfUCKQjzNWPuUPAdrSQDkMx1u3TfL4N4xZB_OSvrNWpItla-060/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.18.38.png" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMcG5nM-NHI6GILCzHmg56OkP0BbCMNd24xtuVMs9TN-EX5Moz19NKgAL45k8Tw2Gzjes_SBSzjLrsGidFnTaNFeFIvyXB890odzO4qrp9B-GNkgEhHAk0ZtsXFwsV6o5xOwViNJkMXPg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.18.50.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMcG5nM-NHI6GILCzHmg56OkP0BbCMNd24xtuVMs9TN-EX5Moz19NKgAL45k8Tw2Gzjes_SBSzjLrsGidFnTaNFeFIvyXB890odzO4qrp9B-GNkgEhHAk0ZtsXFwsV6o5xOwViNJkMXPg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.18.50.png" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
チェックマークが入っているレイヤーに指定されたオブジェクトは<span style="background-color: white;">レンダリングされます。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx0Qxroxvzjg8YTMZFRc1T0KSVshdxY1pqesihyphenhyphencH0Ub63kUlUISrHgw_HDqaad-ladOTRhE0gSHbKqs6qM5sZPbL5bxfWiZ36a8H3a1r-EbJZ3MjohcZKObpveMgyqRWQiQFor6y5rD8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.21.26.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx0Qxroxvzjg8YTMZFRc1T0KSVshdxY1pqesihyphenhyphencH0Ub63kUlUISrHgw_HDqaad-ladOTRhE0gSHbKqs6qM5sZPbL5bxfWiZ36a8H3a1r-EbJZ3MjohcZKObpveMgyqRWQiQFor6y5rD8/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.21.26.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSbWfg4ifwh7aBOqkBuCsQpFZepRyg0lufoybJuIq791KvS4zbMX7n3FWX_sK1zOcMQsvQNpcJN2DGFo4-A3bkED4yZmCs11GFk-qbrww2ocugVeQBYwMc0-sjhcKm5OUQztbPulFIoU0/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.21.39.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSbWfg4ifwh7aBOqkBuCsQpFZepRyg0lufoybJuIq791KvS4zbMX7n3FWX_sK1zOcMQsvQNpcJN2DGFo4-A3bkED4yZmCs11GFk-qbrww2ocugVeQBYwMc0-sjhcKm5OUQztbPulFIoU0/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.21.39.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhALiz5gLsHbEjv2rE7GLQspB2bGrWtbDWCEpdfisUGpol-KmaUZxIYtXC2OUUSZuo7qcx4QaVqbgcwK7HkejUjdTgWtnaQJIXBqUVe1J3GAcvuo6woEN3XPtsGtQia8TyXJixHOLIchs/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.21.58.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="229" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhALiz5gLsHbEjv2rE7GLQspB2bGrWtbDWCEpdfisUGpol-KmaUZxIYtXC2OUUSZuo7qcx4QaVqbgcwK7HkejUjdTgWtnaQJIXBqUVe1J3GAcvuo6woEN3XPtsGtQia8TyXJixHOLIchs/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.21.58.png" width="320" /></a></div>
<span style="background-color: white;"><br /></span><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
画像ではわかりにくいですが、このように設定次第で描画されたりされなくなったりします。<br />
これを応用することでUIのみを別カメラで描画し、重ね合わせることが出来ます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsDKf-1eaA2UriIVtjX9Id74tKKdhsZEbOxCq9a7ZfN4B5Qv7KNmcU22KbNSdBB2Bv8Cgcm6nmTbJW31B2p4_ZmeWAYgcERPKt4PC9OiS7krq0-oAtgQDqxs24vebwVXN41m0EH1hgDgk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.27.22.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsDKf-1eaA2UriIVtjX9Id74tKKdhsZEbOxCq9a7ZfN4B5Qv7KNmcU22KbNSdBB2Bv8Cgcm6nmTbJW31B2p4_ZmeWAYgcERPKt4PC9OiS7krq0-oAtgQDqxs24vebwVXN41m0EH1hgDgk/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.27.22.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
このとき注意しなくてはならないのがカメラのClearFlagsとDepthです。<br />
この例では右上をベースに左上を重ねているのですが、左上のスフィアを描画しているカメラの設定を<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEwdb7gmMwHiY8vjfFaU1jdn4PyZzc7UnIsgF2uWmp9X_iwBI9uRwsiNH04KlenltYJLykrypK0mOWmvz8dZ9HlJqqxdd67RhuHq24vX8747ohiQWrq5rZzrVmgrpLZEAJraLhnUgfzJI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.29.44.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEwdb7gmMwHiY8vjfFaU1jdn4PyZzc7UnIsgF2uWmp9X_iwBI9uRwsiNH04KlenltYJLykrypK0mOWmvz8dZ9HlJqqxdd67RhuHq24vX8747ohiQWrq5rZzrVmgrpLZEAJraLhnUgfzJI/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-25+0.29.44.png" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
このようにしています。<br />
まず、Depthを-1から0にすることで-1となっているベースのカメラよりも後にこのカメラの描画結果を処理することになります。<br />
次にClearFlagsをDepth onlyにすることで、すでにベースのカメラで描画したものの上にこのカメラで描画したものを書き込みます。ここをSkyboxもしくはSolid Colorにしてしまうと、既にベースのカメラで描画されている内容が塗りつぶされてしまい、現在のカメラでの描画しているものしか見ることが出来なくなってしまいます。<br />
<br />
このようにLayerを分けることで描画関係で複雑なことが出来るようになります。<br />
ほかにも衝突判定やライティング等においてもレイヤー分けすることで特殊な扱いができるので、それについては後日扱います。<br />
<br />K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-77017751458157729252012-07-23T23:35:00.000+09:002012-07-23T23:35:03.542+09:00OnCollisionHogeHoge()とOnTriggerHogeHoge()衝突検知の際に扱う関数といえばOnCollisionEnter()もしくはOnTriggerEnter()ですが、<br />
もうちょっとこれらの関数を知っておくと、より自由に衝突関係を扱うことが出来ます。<br />
<br />
まず、衝突関係の関数を列挙します。<br />
<br />
Collision系列<br />
OnCollisionEnter(Collision)<br />
OnCollisionStay(<span style="background-color: white;">Collision</span><span style="background-color: white;">)</span><br />
OnCollisionExit(<span style="background-color: white;">Collision</span><span style="background-color: white;">)</span><br />
<br />
Trigger系列<br />
OnTriggerEnter(<span style="background-color: white;">Collider</span><span style="background-color: white;">)</span><br />
OnTriggerStay(<span style="background-color: white;">Collider</span><span style="background-color: white;">)</span><br />
OnTriggerExit(<span style="background-color: white;">Collider</span><span style="background-color: white;">)</span><br />
<br />
Collision系列とTrigger系列の大きな違いとして<br />
Rigidbodyの必要性<br />
があります。<br />
<br />
Trigger系列はColliderのIsTriggerのチェックボックスをオンにするだけで良いですが、<br />
Collider系列は衝突したオブジェクト”両方”がColliderとRigidbodyを持っている必要があります。<br />
つまり動くもの同士の衝突検知はOnCollisionHogeHoge()で、<br />
どちらかが動かない場合はOnTriggerHogeHoge()で検知する必要があります。<br />
<br />
また、それぞれの引数はCollisionとColliderと若干異なっています。<br />
OnCollisionHogeHoge()では衝突自身を検知できるため引数がCollisionとなり、<br />
OnTriggerHogeHoge()では衝突しているオブジェクトしか検知できないため、<span style="background-color: white;">Colliderなのではないかと考えられます。</span><br />
<br />
CollisionとColliderの大きな違いとしてContactPoint、<br />
すなわち接点が取得できる出来ないにあると考えられます。<br />
<br />
加えて、それぞれのStayおよびExitを使いこなせると自由に衝突関係を扱うことが出来るでしょう。<br />
注意すべきはFugaFugaStay()系列で、OnCollisionStay()でもOnTriggerStay()でも、<br />
有効になっている間はFixedUpdateの度に呼び出されます。これらのなかに重い処理を入れてしまうと簡単に処理落ちしてしまうので注意しましょう。特にMobile向けに開発する際には注意が必要です。<br />
<br />
<br />
<br />K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0tag:blogger.com,1999:blog-265767059761445969.post-9161963676944081052012-07-23T00:34:00.000+09:002012-07-23T00:57:52.154+09:00キーボードショートカット(Mac)Unityでもなんでもとにかくツールを自由自在に扱うには、<br />
<div>
キーボードショートカットを覚えることが重要です。</div>
<div>
<br /></div>
<div>
なので、今回は自分がよく使うキーボードショートカットを<span style="background-color: white;">まとめていきます。</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
自分の環境はMacなのでWindowsの方はごめんなさい。</div>
<div>
<br /></div>
<div>
CMD + N = 新しいシーンの作成</div>
<div>
CMD + S = 現在のシーンの保存</div>
<div>
<br /></div>
<div>
CMD + Z = アンドゥ</div>
<div>
CMD + Shift + Z = リドゥ</div>
<div>
<br /></div>
<div>
CMD + C = 現在選択しているオブジェクトをコピー</div>
<div>
CMD + X = 現在選択しているオブジェクトをカット</div>
<div>
CMD + V = コピーしたオブジェクトの複製</div>
<div>
CMD + D = 現在選択しているオブジェクトの複製<br />
CMD + Shift + N = 空のGameObjectの作成</div>
<div>
<br /></div>
<div>
CMD + B = ビルド</div>
<div>
CMD + Shift + B = ビルドオプションを開く</div>
<div>
<br /></div>
<div>
シーンビューがアクティブな状態で F = 選択しているオブジェクトにフォーカス</div>
<div>
オブジェクトを選択している状態で V = 頂点スナップ<br />
<br />
頂点スナップってなにか<br />
<br />
<span style="background-color: white;">Vキー押すと</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyWQD6YjgHlXG_u1OM255U5KqvFYrfxw9u684cA9es1on8J7VmlS5I7FRWtbEFzsg8bZkKZYu6ZAYXOcUNu5EqlFOyllgmqmZ0ZAu4Gz8Ta-S5z8xaC_PR85GRbn-2m24tzFxMwWHeF80/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-23+0.38.10.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyWQD6YjgHlXG_u1OM255U5KqvFYrfxw9u684cA9es1on8J7VmlS5I7FRWtbEFzsg8bZkKZYu6ZAYXOcUNu5EqlFOyllgmqmZ0ZAu4Gz8Ta-S5z8xaC_PR85GRbn-2m24tzFxMwWHeF80/s200/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-23+0.38.10.png" width="200" /></a></div>
<br /></div>
<div>
<br /></div>
<div>
<br />
<br />
<br />
<br />
<br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;">こうなって、ほかのオブジェクトに近づけると</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-l7HGjGYRcRUffJrzOOPBWNl7-xfltLZnR5TluyX1GVSpMFunazhexuzBsY7chODRcD3mg7BySxzm94p4_6p8joVr6cJAoH7V8bbC3HyTPeCt_zyWUHNsysBPRisqhioa8NJ3jJChBtY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-23+0.38.30.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="159" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-l7HGjGYRcRUffJrzOOPBWNl7-xfltLZnR5TluyX1GVSpMFunazhexuzBsY7chODRcD3mg7BySxzm94p4_6p8joVr6cJAoH7V8bbC3HyTPeCt_zyWUHNsysBPRisqhioa8NJ3jJChBtY/s200/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-07-23+0.38.30.png" width="200" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;">ぴたっとくっつく。</span><br />
頂点ごとにいい感じにあわせるようになります。<br />
<br />
まとめてみるとほとんど基本的なやつで以外と量は少なかったかも。</div>
<div>
他に思い出したら追記していきます。</div>K_U_http://www.blogger.com/profile/11872972677479916376noreply@blogger.com0