<?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>AEP Project &#187; TUTORIALS</title>
	<atom:link href="http://ae-users.com/jp/category/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://ae-users.com/jp</link>
	<description>After Effects ユーザーコミュニティ</description>
	<lastBuildDate>Fri, 03 Feb 2012 05:59:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
  <link>http://ae-users.com/jp</link>
  <url>http://ae-users.com/jp/../images/icon_32.png</url>
  <title>AEP Project</title>
</image>
		<item>
		<title>After Effectsユーザーのための、プログラミング入門　その13 バックグラウンドでレンダリング</title>
		<link>http://ae-users.com/jp/tutorials/2012/01/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-18/</link>
		<comments>http://ae-users.com/jp/tutorials/2012/01/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-18/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 13:22:06 +0000</pubDate>
		<dc:creator>bry-ful</dc:creator>
				<category><![CDATA[TIPS - スクリプト]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[スクリプト]]></category>
		<category><![CDATA[レンダリング]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=7479</guid>
		<description><![CDATA[
aerenderでレンダリング
今回はAfter Effectsに付属するaerenderを使ったバックグラウンドでレンダリングする手順を説明します。

まず、バックグラウンドでレンダリングを行うスクリプト「バックグラ [...]]]></description>
			<content:encoded><![CDATA[<p>
<h3>aerenderでレンダリング</h3>
今回はAfter Effectsに付属する<strong>aerender</strong>を使ったバックグラウンドでレンダリングする手順を説明します。<br />
<br />
まず、バックグラウンドでレンダリングを行うスクリプト「<strong>バックグラウンドでレンダリング.jsx</strong>」を紹介します。<br />
ダウンロードは<a href="http://bit.ly/wCMrp8">ここ</a>からできます。<br />
<a href ="http://bit.ly/wCMrp8" class="dl">bgRender.zip</a><br />
<br />
<h3>バックグラウンドでレンダリング.jsx</h3>
このスクリプトは単純にaerender.exeを呼び出してるだけで実はかなり簡単なスクリプトです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/aer01.png" class="sb-img" rel="shadowbox[post-7479];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2012/01/aer01.png" alt="" title="aer01" width="205" height="152" class="aligncenter size-full wp-image-7480" /></a><br />
同じスクリプトで&#8221;<a href="http://ae-users.com/jp/tips/scripts-show/2011/01/bg-renderer-2/">BG Renderer</a>&#8220;があります(AEP Projectでも紹介されているので参照してください。<a href="http://ae-users.com/jp/tips/scripts-show/2011/01/bg-renderer-2/">ここ</a>です）<br />
<br />
間違いなく機能的にも使い勝手的にも<strong>BG Renderer</strong>の方が上です。このスクリプトの存在を知ったのは「バックグラウンドでレンダリング.jsx」を作った後のなのでかなり凹みました。ただ、<strong>BG Renderer</strong>は内部で何をしているか遮蔽されたスクリプトなのでエラーで対処に困るという話があります。調べてみましたが、それは<strong>BG Renderer</strong>が原因ではなく説明不足によるものがほとんどと思いました。<br />
<br />
バックグラウンドでレンダリング.jsxは基本的に<strong>BG Renderer</strong>と同じ事をしてるはずなので、この説明を読めば<strong>BG Renderer</strong>も使いやすくなると思います。<br />
<br />
<hr /><br />
さて説明です。このスクリプトは最低でもレンダーキューに1個レンダリング可能なアイテムが登録していないと実行できませんので注意です。<br />
実行すれば、DOSコンソールが開いてレンダリングが開始されます。終わればいつもの終了音がなります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/aer05.png" class="sb-img" rel="shadowbox[post-7479];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2012/01/aer05-400x291.png" alt="" title="aer05" width="400" height="291" class="aligncenter size-medium wp-image-7522" /></a><br />
<br />
そんなに長いスクリプトではないので全部見せます。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>me<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> listPro_items <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;Lo(推奨)&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Normal&quot;</span> <span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">//-------------------------------------------------------------------------</span>
  <span style="color: #003366; font-weight: bold;">var</span> winObj <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span> me <span style="color: #F0A090; font-weight: bold;">instanceof</span> Panel<span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> me <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Window<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;palette&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;バックグラウンドでレンダリング&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span> <span style="color: #CC0000;">866</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">465</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">866</span><span style="color: #339933;">+</span> <span style="color: #CC0000;">179</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">465</span><span style="color: #339933;">+</span>  <span style="color: #CC0000;">89</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span>maximizeButton<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> minimizeButton<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #006600; font-style: italic;">//-------------------------------------------------------------------------</span>
  <span style="color: #003366; font-weight: bold;">var</span> btnExec <span style="color: #339933;">=</span> winObj.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;button&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>   <span style="color: #CC0000;">7</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">12</span><span style="color: #339933;">,</span>    <span style="color: #CC0000;">7</span><span style="color: #339933;">+</span> <span style="color: #CC0000;">164</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">12</span><span style="color: #339933;">+</span>  <span style="color: #CC0000;">23</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;バックグランドでレンダー開始&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  btnExec.<span style="color: #660066;">graphics</span>.<span style="color: #660066;">font</span> <span style="color: #339933;">=</span> ScriptUI.<span style="color: #660066;">newFont</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Tahoma&quot;</span><span style="color: #339933;">,</span>ScriptUI.<span style="color: #660066;">FontStyle</span>.<span style="color: #660066;">REGULAR</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">11</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #003366; font-weight: bold;">var</span> stPro <span style="color: #339933;">=</span> winObj.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;statictext&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>   <span style="color: #CC0000;">4</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">46</span><span style="color: #339933;">,</span>    <span style="color: #CC0000;">4</span><span style="color: #339933;">+</span>  <span style="color: #CC0000;">82</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">46</span><span style="color: #339933;">+</span>  <span style="color: #CC0000;">14</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;プロセス優先度&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  stPro.<span style="color: #660066;">graphics</span>.<span style="color: #660066;">font</span> <span style="color: #339933;">=</span> ScriptUI.<span style="color: #660066;">newFont</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Tahoma&quot;</span><span style="color: #339933;">,</span>ScriptUI.<span style="color: #660066;">FontStyle</span>.<span style="color: #660066;">REGULAR</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">11</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #003366; font-weight: bold;">var</span> listPro <span style="color: #339933;">=</span> winObj.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;dropdownlist&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>  <span style="color: #CC0000;">92</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">42</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">92</span><span style="color: #339933;">+</span>  <span style="color: #CC0000;">79</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">42</span><span style="color: #339933;">+</span>  <span style="color: #CC0000;">21</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> listPro_items<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  listPro.<span style="color: #660066;">items</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">selected</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
  listPro.<span style="color: #660066;">graphics</span>.<span style="color: #660066;">font</span> <span style="color: #339933;">=</span> ScriptUI.<span style="color: #660066;">newFont</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Tahoma&quot;</span><span style="color: #339933;">,</span>ScriptUI.<span style="color: #660066;">FontStyle</span>.<span style="color: #660066;">REGULAR</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">11</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #003366; font-weight: bold;">var</span> cbExecGo <span style="color: #339933;">=</span> winObj.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;checkbox&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>   <span style="color: #CC0000;">7</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">68</span><span style="color: #339933;">,</span>    <span style="color: #CC0000;">7</span><span style="color: #339933;">+</span>  <span style="color: #CC0000;">79</span><span style="color: #339933;">,</span>   <span style="color: #CC0000;">68</span><span style="color: #339933;">+</span>  <span style="color: #CC0000;">18</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;強制実行&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  cbExecGo.<span style="color: #660066;">graphics</span>.<span style="color: #660066;">font</span> <span style="color: #339933;">=</span> ScriptUI.<span style="color: #660066;">newFont</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Tahoma&quot;</span><span style="color: #339933;">,</span>ScriptUI.<span style="color: #660066;">FontStyle</span>.<span style="color: #660066;">REGULAR</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">11</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">//-------------------------------------------------------------------------</span>
  <span style="color: #003366; font-weight: bold;">function</span> exec<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">function</span> wq<span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #F0A090; font-weight: bold;">return</span> <span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">+</span> s <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>system.<span style="color: #660066;">osName</span>.<span style="color: #660066;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;windows&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #F0A090;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;すみません。Windows専用です。&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #F0A090; font-weight: bold;">return</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> app.<span style="color: #660066;">project</span>.<span style="color: #660066;">file</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #F0A090;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;プロジェクトを保存してください。&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #F0A090; font-weight: bold;">return</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #006600; font-style: italic;">//レンダーキューの確認</span>
    <span style="color: #003366; font-weight: bold;">var</span> rq <span style="color: #339933;">=</span> app.<span style="color: #660066;">project</span>.<span style="color: #660066;">renderQueue</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> rqOK <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> rq.<span style="color: #660066;">numItems</span><span style="color: #339933;">&gt;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #F0A090; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;=</span>rq.<span style="color: #660066;">numItems</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> rq.<span style="color: #F0A090; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #F0A090;">status</span> <span style="color: #339933;">==</span> RQItemStatus.<span style="color: #660066;">QUEUED</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> rq.<span style="color: #F0A090; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">numOutputModules</span><span style="color: #339933;">&gt;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #F0A090; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> j<span style="color: #339933;">=</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span> j<span style="color: #339933;">&lt;=</span>rq.<span style="color: #F0A090; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">numOutputModules</span><span style="color: #339933;">;</span> j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
              <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>rq.<span style="color: #F0A090; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">outputModule</span><span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">file</span> <span style="color: #339933;">!=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
                <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>rq.<span style="color: #F0A090; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">outputModule</span><span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">file</span>.<span style="color: #660066;">parent</span>.<span style="color: #660066;">exists</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                  rqOK <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
                  <span style="color: #F0A090; font-weight: bold;">break</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
          <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>rqOK <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #F0A090; font-weight: bold;">break</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>rqOK<span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #F0A090;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;有効なレンダーキューがありません。&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #F0A090; font-weight: bold;">return</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #003366; font-weight: bold;">var</span> proOp <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #F0A090; font-weight: bold;">switch</span> <span style="color: #009900;">&#40;</span>listPro.<span style="color: #660066;">selection</span>.<span style="color: #660066;">index</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #F0A090; font-weight: bold;">case</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">:</span> proOp <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;/normal&quot;</span><span style="color: #339933;">;</span>break<span style="color: #339933;">;</span>
      <span style="color: #F0A090; font-weight: bold;">case</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">:</span> 
      <span style="color: #003366; font-weight: bold;">default</span><span style="color: #339933;">:</span>
        proOp <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;/low&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #F0A090; font-weight: bold;">break</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #003366; font-weight: bold;">var</span> execGo <span style="color: #339933;">=</span> cbExecGo.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #006600; font-style: italic;">//一時的に別ファイルにaepを保存して、Batchファイルを作成。</span>
    <span style="color: #003366; font-weight: bold;">var</span> af <span style="color: #339933;">=</span> app.<span style="color: #660066;">project</span>.<span style="color: #660066;">file</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> tmpAep <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> File<span style="color: #009900;">&#40;</span>Folder.<span style="color: #660066;">temp</span>.<span style="color: #660066;">fullName</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/&quot;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;aerender_temp_.aep&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>tmpAep.<span style="color: #660066;">exists</span><span style="color: #009900;">&#41;</span> 
    <span style="color: #009900;">&#123;</span>
      <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> execGo <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        cbExecGo.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        tmpAep.<span style="color: #660066;">remove</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
        <span style="color: #F0A090;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;現在バックグラウンドでレンダリング中です。<span style="color: #000099; font-weight: bold;">\n</span>していない時は強制実行をONにしてください。&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #F0A090; font-weight: bold;">return</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    app.<span style="color: #660066;">project</span>.<span style="color: #660066;">save</span><span style="color: #009900;">&#40;</span>tmpAep<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    app.<span style="color: #660066;">project</span>.<span style="color: #660066;">save</span><span style="color: #009900;">&#40;</span>af<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #003366; font-weight: bold;">var</span> aer <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> File<span style="color: #009900;">&#40;</span>Folder.<span style="color: #660066;">appPackage</span>.<span style="color: #660066;">fullName</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/aerender.exe&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #003366; font-weight: bold;">var</span> cmd <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;@echo off<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    cmd <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;start <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span> /b &quot;</span> <span style="color: #339933;">+</span> proOp <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot; /wait &quot;</span><span style="color: #339933;">;</span>
    cmd <span style="color: #339933;">+=</span> wq<span style="color: #009900;">&#40;</span>aer.<span style="color: #660066;">fsName</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; -project &quot;</span> <span style="color: #339933;">+</span> wq<span style="color: #009900;">&#40;</span>tmpAep.<span style="color: #660066;">fsName</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>  <span style="color: #3366CC;">&quot; -sound ON<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    cmd <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;del &quot;</span> <span style="color: #339933;">+</span> wq<span style="color: #009900;">&#40;</span>tmpAep.<span style="color: #660066;">fsName</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> bF <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> File<span style="color: #009900;">&#40;</span> Folder.<span style="color: #660066;">temp</span>.<span style="color: #660066;">fullName</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/aerender.bat&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> bF.<span style="color: #660066;">exists</span><span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> bF.<span style="color: #660066;">remove</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>bF.<span style="color: #F0A090;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #F0A090; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
        bF.<span style="color: #F0A090; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span>cmd<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #F0A090;">alert</span><span style="color: #009900;">&#40;</span>e.<span style="color: #660066;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">finally</span><span style="color: #009900;">&#123;</span>
        bF.<span style="color: #F0A090;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #006600; font-style: italic;">//実行</span>
    <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> bF.<span style="color: #660066;">exists</span><span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> bF.<span style="color: #660066;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009900;">&#125;</span>
  btnExec.<span style="color: #660066;">onClick</span> <span style="color: #339933;">=</span> exec<span style="color: #339933;">;</span>
  <span style="color: #006600; font-style: italic;">//-------------------------------------------------------------------------</span>
  <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> me <span style="color: #F0A090; font-weight: bold;">instanceof</span> Panel<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    winObj.<span style="color: #660066;">center</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    winObj.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #006600; font-style: italic;">//-------------------------------------------------------------------------</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #F0A090; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
<br />
100行超えてますが、ほとんどがUIを作ってるところとエラーチェックで本体部分(exec関数)はとてもシンプルです。<br />
exec()関数のところだけを解説します。<br />
<br />
<hr /><br />
<dd>
<dh> <strong>Step .01 エラーチェック</strong></dh><br />
<dd>
<br />
まず、最低限のエラーチェックを行なっています。（19行から47行目くらいまで）<br />
プロジェクトが保存されていない時と有効なレンダーキューがない場合はエラーとして実行を停止してます。<br />
特にレンダーキューの確認はしっかり行います。<strong>RenderQue Object</strong>の<strong>status</strong>を見たあとに<strong>OutputModule</strong>で有効なパスが設定されているか調べています。<strong>OutputModule</strong>は複数存在している場合があるので総当りで調べます。<br />
<br />
まぁ以上はエラーチェックとしては最低レベルなので、もう少し厳しくしないとダメだと思います。<br />
<br />
言い忘れていましたが、このスクリプトはWindows専用です。理由は後で説明しますが、そのためMacでこのスクリプトを実行したときもエラーで止まるようにしてあります。<br />
<hr /><br />
</dd>
<dh><strong> Step .02 オプションの獲得</strong></dh><br />
<dd>
<br />
動作オプションとして「<strong>プロセス優先度</strong>」と「<strong>強制実行</strong>」とあるのでUIからその獲得を行なっています。(48用目から56行目)<br />
<br />
<strong>プロセス優先度</strong>とはバックグラウンドで実行させていた時にPCのパワーのほとんどを使ってしまうとその他の作業が出来なくて、バックグラウンドでレンダリングさせる意味がなくなってしまうので重要です。Loが推奨です。<br />
<br />
<strong>強制実行</strong>は、このスクリプトは2回以上のバックグランドでのレンダリングを禁止しているのですが、レンダリング中にエラーでちゃんと終了しないと全く実行できない状態になってしまう危険があります。そのためこのスイッチをONにすれば強制的にレンダリングが始まるようになっています。<br />
<br />
<hr /><br />
</dd>
<dh><strong> Step .03 実行用のAEPファイルを保存</strong></dh><br />
<dd>
<br />
バックグラウンドで実行中の時に安全に作業するために、aepファイルを適当なところに保存し直しています。（57－70）<br />
<strong>Folder.temp</strong>でOS提供の一時ファイル保存場所に適当な名前(<strong>aerender_temp_.aep</strong>)で保存した後、元の場所名前で保存し直して復帰させています。<br />
<br />
二重実行を禁止するために、ここで保存し直したaepファイルが既にあったら実行を止めています。<br />
そのためレンダリングが終わったら、この一時ファイル(<strong>aerender_temp_.aep</strong>)を消す処理が必要になります（これは後で）<br />
<hr /><br />
</dd>
<dh> <strong>Step .04 実行用のBatchファイルを作成</strong></dh><br />
<dd>
<br />
あとは、<strong>aerender</strong>を呼び出せばいいだけですが、少し困った問題があります。<br />
通常ならば<strong>System.callSystem()</strong>で呼び出せばいいのですが、このメソッドは呼び出したプロセスが終了するまでAFを停止させてしまいますので使えません。<br />
後は<strong>File.execute()</strong>で実行させる事ができますが、こいつは細かなオプション指定ができません（マウスでダブルクリックするアクションと同じ）<br />
<br />
仕方ないので、適当な<strong>Batchファイル</strong>を作成して<strong>File.execute()</strong>で実行というスタイルに落ち着きます。BG Rendererも間違いなく同じ手順で呼び出している筈です。<br />
<br />
余談ですがWindowsだけなら「<a href="http://ae-users.com/jp/tutorials/2011/03/after-effects%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%80%81%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80%E3%80%80%E3%81%9D-5/">After Effectsユーザーのための、プログラミング入門　その５ callSystem</a>」で紹介した<strong>ProcessStart.exe</strong>を使ってcallSystem()から実行しても出来ます。専用のコマンドをC#当たりで作ってしまってOKです。<br />
<br />
BatchファイルとはWindowsのコンソールである<strong>cmd.exe</strong>の<strong>シェルスクリプト</strong>の事で、古いPCユーザーの方なら多分かなり馴染みなものですが、最近の人は全然だと思います。<br />
まぁそんなに難しいものではないので適当にgoogleさんで調べてください。調べる時のキーワードは <a href="http://www.google.co.jp/search?sourceid=chrome&#038;ie=UTF-8&#038;q=cmd.exe+batch#pq=cmd.exe+batch&#038;hl=ja&#038;gs_is=1&#038;cp=9&#038;gs_id=14&#038;xhr=t&#038;q=cmd.exe+%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB&#038;pf=p&#038;sclient=psy-ab&#038;safe=off&#038;source=hp&#038;pbx=1&#038;oq=cmd.exe+%E3%81%B0&#038;aq=0r&#038;aqi=g-r2&#038;aql=&#038;gs_sm=&#038;gs_upl=&#038;bav=on.2,or.r_gc.r_pw.,cf.osb&#038;fp=5c1a8a72bba7aef3&#038;biw=1920&#038;bih=961">「cmd.exe バッチファイル</a>」です。<br />
<br />
具体的にこのスクリプトが書き出すBatchファイルは以下のようになります。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #339933;">@</span>echo off
start <span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #339933;">/</span>b <span style="color: #339933;">/</span>low <span style="color: #339933;">/</span>wait <span style="color: #3366CC;">&quot;C:<span style="color: #000099; font-weight: bold;">\(</span>略)<span style="color: #000099; font-weight: bold;">\a</span>erender.exe&quot;</span> <span style="color: #339933;">-</span>project <span style="color: #3366CC;">&quot;C:<span style="color: #000099; font-weight: bold;">\(</span>略)<span style="color: #000099; font-weight: bold;">\a</span>erender_temp_.aep&quot;</span> <span style="color: #339933;">-</span>sound ON
del <span style="color: #3366CC;">&quot;C:<span style="color: #000099; font-weight: bold;">\D</span>OCUME~1<span style="color: #000099; font-weight: bold;">\(</span>略)<span style="color: #000099; font-weight: bold;">\a</span>erender_temp_.aep&quot;</span></pre></div></div>

<br />
<br />
<br />
<strong>aerender.exe</strong>を<strong>start</strong>で呼び出して、実行終了後aepファイルを削除しています。<br />
このBatchファイルを工夫すれば<strong>aerender.exe</strong>の実行動作を変えることができます。<br />
<br />
<strong>start</strong>コマンドは、<strong>cmd.exe</strong>の内部コマンドで呼び出す実行ファイルの動作設定を指定するものです（通常動作ならstartコマンドを使わなくてもOK)<br />
第１引数はウィンドウタイトルで今回の場合は空白を指定してます。省略するとエラーを起こすので注意です。<br />
<strong>/b</strong> で新しいウィンドウを開かないモードにして、<strong>/wait</strong>でプログラムの実行が終わるまで待つ設定にしています。このようにしないと次の行で<strong>del</strong>が終了前に実行されてしまうので注意です。<br />
<strong>/low</strong>がプロセス優先度の指定です。仕様ではもっと細かい指定ができる筈ですが、実際は<strong>/lo</strong>と<strong>/normal</strong>の2種類しか指定できません。<br />
<br />
以上のコマンド文字列を作成します。パス指定は全てフルパスで行う必要があり、なるべく2バイト文字が使われていないことが理想です。わざわざtempへ保存しなおすのは、2byteコードのパスをなくすためでもあります。また、半角スペースを含んだパスは””でくくる必要があります。<br />
<br />
<strong>aerender.exe</strong>のフルパスは、<strong>Folder.appPackage</strong>で実行ファイルのFolder objectを獲得してそれから作成しています。マニュアルでは<strong>Folder.appPackage</strong>は<strong>MacOS</strong>でのみ有効とありますが、調べたところ<strong>Windows</strong>でも問題なく獲得できました。<br />
パスは、普段AEスクリプトで使う<strong>url</strong>形式(/c/Program )ではなく<strong>Windowsパス</strong>形式(C:\Program)にしないといけないので<strong>File.fsName</strong>で獲得しています。<br />
<br />
ここまで説明すれば、上のコードを読めば特に問題なく理解できると思います。<br />
Batchファイルは改行コードを<strong>CR+LF</strong>、文字コードを<strong>shif-jis</strong>にしてそのままテキスト保存すれば大丈夫です。<br />
<br />
以上がWindowsの場合で、Macの場合はターミナルのシェルスクリプトに書き直すことが必要です。やる手順は同じですので簡単に同じ事が出来ると思います。<br />
<br />
因みに、Batchファイルでやらずに<strong>WSH</strong>（Windows Script Host）でやっても同じことが出来ます。<br />
W<strong>SH</strong>の方がダイアログが使えたりとか便利なので、使える人は<strong>WSH</strong>の方が楽かなとか思います。ダイアログ等も使えますので。<br />
<br />
<hr /><br />
</dd>
<br />
<h3>aerenderを使うときの注意</h3>
aerenderについては、After Effectsのヘルプに詳細な説明があります。オンラインでは<a href="http://help.adobe.com/ja_JP/AfterEffects/9.0/WS8A8CD670-4A72-4fb5-AE8E-CB9E232EC0B5a.html">ここ(CS4)</a>か<a href="http://help.adobe.com/ja_JP/aftereffects/cs/using/WS8A8CD670-4A72-4fb5-AE8E-CB9E232EC0B5a.html">ここ(CS5)</a>で見ることができます。<br />
<br />
見ればわかると思いますが、After Effectsでのレンダリングの基本的な指定ができるだけで特に難しいことはないのです。<br />
<ol>
<li>-project <path> プロジェクトファイルの指定（必ずフルパス)<br />
<li>-sound <ON or OFF> 終了音を鳴らすかどうか<br />
<li>–mem_usage  メモリ関係の指定。使用には注意<br />
<li>-mp < 0 or 1> 1の場合マルチプロセッシングを有効にして複数のフレームを同時にレンダリングする。<br />
</ol>
通常の使用では以上のオプションくらいしか使うことはありません。 <strong>-mem_usage</strong>はその内容が分からなければ指定しないほうが安全です。<br />
<br />
使用するときの注意点は以下のとおりです。<br />
<br />
<ol>
<li>パス指定に2バイトコード（半角以外の文字)はなるべく使わない。<br />
<li>aerenderの起動オプションとAfter Effectsの環境設定の矛盾に注意。<br />
　たとえば、マルチプロセッシングで複数のフレームの同時レンダリングが環境設定で指定されていても、aerenderの -mpオプションが付けられていないと有効にはなりません。<br />
<br />
<li><strong>レンダリングエンジンモード</strong>でのプラグインの動作を確認。<br />
aerender.exeでのレンダリングは基本的に<strong>レンダリングエンジンモード</strong>になるので、若干通常のAfter Effectsと環境設定のデフォルトが違うので要注意です。<br />
特にプラグインの動作環境が変わるのでシリアライズ等が外れて正常にレンダリングできない・動作が止まる等のトラブルが起きる可能性があり、aerederでのレンダリング中には全く気がつかない（エラーが表示されない・気がつかない）のではまります。<br />
<br />
aerender.exeでレンダリングを行う場合は、<strong>レンダリングエンジンモード</strong>での動作確認を事前に行っておくと安心できます。-reオプションか-wfオプションで「フォルダを監視」状態で起動すれば<strong>レンダリングエンジンモード</strong>になるのでそこで動作確認ができます。<br />
<li>メモリの使用状態の確認。After Effectsとaerenderが同時に動く環境にする。<br />
バックグランドでのレンダリングを行う場合、環境設定：メモリ＆マルチプロセッサでaerenderで使うメモリとCPUを確保しておかないとエラーばかりで困ることがよくあります。<br />
普段の作業のためAfter Effectsに多くのリソースを割り当てていた場合、aerenderでバックグランドレンダリングしたくてもリソースがなくて単純にメモリ不足で落ちたり、CPUパワーが不足してPCの操作ができなくなったりして最悪PCもろともハングする危険があるので注意です。<br />
</ol>
がaerenderを使うときの注意です。<br />
BG Rendererを使った時に起きるトラブルは大抵上記の事が原因になってます。<br />
<br />
<h3>バックグラウンドで効率的にレンダリングする</h3>
今回のスクリプトで「<strong>バックグラウンドでレンダリング</strong>」する目的はたいていの場合、「<strong>After Effectsで作業しながら、レンダリングしたい</strong>」になると思います。そのため「<strong>レンダリングにかかる時間</strong>」より「<strong>快適に作業ができる</strong>」事が優先されます。<br />
<br />
十分に余力のあるPC(64bitで多くのメモリがある場合）は特に気にすることはないのですが、Windows XPとCS4の組み合わせの場合は、<strong>かなり配慮しない</strong>とダメです。<br />
<br />
気分的にレンダリングは早く終わって欲しいといつも思ってしまいますが、バックグランドでのレンダリングでは作業に支障ないように行うことがポイントです。<br />
<br />
設定としては「プロセスの優先度」を通常より下げておく事です。「プロセスの優先度」はタスクマネージャを立ち上げてプロセスタブで右クリックで表示される項目にあります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/aer03.png" class="sb-img" rel="shadowbox[post-7479];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2012/01/aer03.png" alt="" title="aer03" width="470" height="425" class="aligncenter size-full wp-image-7510" /></a><br />
<br />
タスクマネージャで見た場合、aerenderはAfterFX.comと表示されています。スクリプトから行なった場合はデフォルトが「低」になっているので特に気にしなくてもいいようになっています。<br />
<br />
あと、「環境設定」「メモリ＆マルチプロセッサ」での設定も重要になります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/aer04.png" class="sb-img" rel="shadowbox[post-7479];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2012/01/aer04-650x366.png" alt="" title="aer04" width="650" height="366" class="aligncenter size-large wp-image-7511" /></a><br />
<br />
ここで「他のアプリケーションで使用するRAM」をある程度確保しておかないとaerenderはリソースを使い尽くして、マウスカーソルがほとんど動かない等の悪い影響が出ます。<br />
上の例ではOFFにしていますが、「複数のフレームを同時にレンダリング」がONの場合は色々と注意が必要になります。<br />
<br />
以上のことはPCの個体差による影響が大きく同時期の同じメーカーの同じ構成のPCであってもかなり設定の値にばらつきがあり、最適な値を求めるのに苦労します。<br />
とりあえずは余裕を持った設定にするのが結果的には一番だと思います。<br />
<br />
<br />
今回はバックグラウンドでのレンダリングのための事ですが、逆に「レンダリング速度に最適化する」設定も見つけておくと楽になると思います。<br />
特にプロセスの優先度を「リアルタイム」にするとビックリするくらい速度が向上します。まぁ、その状態では他の作業がほぼ不可能になりますけど。<br />
<br />
<h3>aerender_MamiSan.exe</h3>
aerender.exeはコマンドライン専用でかなり使いずらかったので、フロントエンドアプリケーションを作ってみました。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/aer02.png" class="sb-img" rel="shadowbox[post-7479];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2012/01/aer02.png" alt="" title="aer02" width="520" height="732" class="aligncenter size-full wp-image-7497" /></a><br />
<br />
使い方は簡単で、aepファイルをこのウィンドウへドラッグ＆ドロップしてリストに登録して後は起動用のBatchファイルを書き出すか、そのままバッチ実行するだけです。<br />
必要に応じてオプションを変えたりできますが、レンダリング設定・出力モジュール設定を選択したい時はあらかじめそれぞれのテンプレート保存ファイル（*.ars/*.aom）をAfter Effectsから書き出してaerender_MamiSan.exeに読み込ませてください。<br />
<br />
作った動機は複数のaepをまとめてレンダリングする必要があったので、aerender.exeを簡単に呼び出して実行させるbatchを手作業で作成してたのが面倒なので楽にしようと思ったことです。あとから考えれば「フォルダの監視」でやったほうが楽ですな。<br />
<br />
<h3>aerenderのその他の用途</h3>
今回のaerenderをスクリプトから実行するテクニックを使用すれば他の用途にも応用できます。「バックグラウンドでレンダリング」はプロクシのレンダリング中に別の作業を行うってのが主な目的ですが、その他として「素材作成」にも応用が聞くと思います。<br />
<br />
今考えているだけでも<br />
<ol>
<li>psdレイヤで書き出しを自前で行う。<br />
フレームの保存でphotoshopレイヤを書き出す場合、一枚一枚のレイヤの書き出しは軽いのでaerenderに回してバックグラウンドで行い書き出し場所もついでに指定とか<br />
<li>セルの処理をあらかじめ終わらせておく<br />
最近のTVアニメのセルの処理はかなり重たくなってきてるので、スクリプトで選択して素材段階で先にレンダリングしてしまう。ただそのレンダリングはネットワークレンダリングに回さずローカルPCのバックグランドレンダリングで行う。<br />
<li>エクセル等のスプレッドシートからのレンダリング管理<br />
エクセルでレンダリングの管理が出来ます（ちょっと自信ない^^;） エクセルからaepファイルを獲得してaerenderへ回してレンダリングさせることも可能です。<br />
</ol>
<br />
等あります。<br />
市販品では、Max 3Dのにバンドルされているネットワークレンダリング用ソフト<strong>Backburner</strong>もaerender.exeを呼び出してAEの監視フォルダの機能を使わずにネットワークレンダリングさせることができます。レンダリングの優先度を細かく制御できるのでかなり便利です。特に監視フォルダではPCの数が増えるとどんどん効率が悪くなっていきますが、<strong>Backburner</strong>は流石に効率的です。<br />
<br />
僕も適当に作ったら、ここで追加投稿したいと思ってます。<br />
<br />
<h3>最後に</h3>
今回は急遽思いついて投稿したものです。（twitterで今回のスクリプトを発表したら、意外な反響があったのが理由）<br />
<br />
本当は<strong>BG Renderer</strong>の存在を知った段階で作るのをやめようと思ってました。<strong>BG Renderer</strong>はお金払う価値のある素晴らしいスクリプトです。ただ、内部動作の説明がほぼないので、それを知らない人が使うのは大変そうだったのでそのサポートしてこの記事を書きました。また、<strong>aerender</strong>のススメって意味もあります。<br />
<br />
それでは！<br />
<br />
</p>

	タグ : <a href="http://ae-users.com/jp/tag/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88/" title="スクリプト" rel="tag nofollow">スクリプト</a>, <a href="http://ae-users.com/jp/tag/%e3%83%ac%e3%83%b3%e3%83%80%e3%83%aa%e3%83%b3%e3%82%b0/" title="レンダリング" rel="tag nofollow">レンダリング</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae2/" title="音のデータとAfter Effects その2 (2012/1月/15)">音のデータとAfter Effects その2</a> (21)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae1/" title="音のデータとAfter Effects その1 (2012/1月/14)">音のデータとAfter Effects その1</a> (46)</li>
	<li><a href="http://ae-users.com/jp/tips/scripts-tips/2009/10/%e8%a4%87%e6%95%b0%e3%82%b3%e3%83%b3%e3%83%9d%e3%82%92%e4%b8%80%e6%b0%97%e3%81%ab%e7%b7%a8%e9%9b%86%e3%80%80%ef%bd%9e-editcomps_forcs4-%ef%bd%9e/" title="複数コンポを一気に編集　～ EditComps_forCS4 ～ (2009/10月/06)">複数コンポを一気に編集　～ EditComps_forCS4 ～</a> (4)</li>
	<li><a href="http://ae-users.com/jp/resources/2010/03/pencilfx-script/" title="色鉛筆風エフェクトスクリプト＆スケッチ風プリセット (2010/3月/17)">色鉛筆風エフェクトスクリプト＆スケッチ風プリセット</a> (9)</li>
	<li><a href="http://ae-users.com/jp/tips/scripts-show/2010/05/%e6%97%a5%e6%9c%ac%e8%aa%9e%e7%89%88%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%aa%e3%81%84%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%82%92%e5%8b%95%e3%81%8f%e3%82%88%e3%81%86%e3%81%ab%e3%81%99%e3%82%8b/" title="日本語版で動かないスクリプトを動くようにする（Skydome, Quick effects palette） (2010/5月/18)">日本語版で動かないスクリプトを動くようにする（Skydome, Quick effects palette）</a> (12)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2012/01/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-18/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>音のデータとAfter Effects その2</title>
		<link>http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae2/</link>
		<comments>http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae2/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 15:00:27 +0000</pubDate>
		<dc:creator>あかつき みさき</dc:creator>
				<category><![CDATA[TIPS - スクリプト紹介]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[オーディオ]]></category>
		<category><![CDATA[サウンド]]></category>
		<category><![CDATA[スクリプト]]></category>
		<category><![CDATA[音]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=7449</guid>
		<description><![CDATA[「音、音楽のデータを扱う時AfterEffectsは使いにくいなぁ・・・」そう思ったことはありませんか？
この記事ではAEでオーディオを扱う時にちょっと便利な使い方やスクリプトをご紹介します。]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://ae-users.com/jp/tutorials/2012/01/%E9%9F%B3%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A8after-effects-%E3%81%9D%E3%81%AE1/">その1</a>をご覧になってない方は、そちらもあわせてどうぞ。<br />
<br />
<address> <hr /></address> <address></address>
<h3>より、音に合わせた映像を</h3>
<a href="http://ae-users.com/jp/tutorials/2012/01/%E9%9F%B3%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A8after-effects-%E3%81%9D%E3%81%AE1/">その1</a>では、クリックなどで簡単にオーディオデータを利用する方法をご紹介してきました。<br />
しかし、それだけではまだ十分ではない場合もあります。ここではいくつか、より便利な方法をご紹介します。<br />
音楽を素材として使用している場合は、BPMを測り<strong>bpmMarker</strong>を使用することで簡単に<strong>タイミングにあったマーカー</strong>を作ることができます。<br />
<br />
<address><a href="http://ltp.xii.jp/archives/172">http://ltp.xii.jp/archives/172</a></address>bpmMarkerは、素材のBPMがわかっている場合、<strong>BPMの値を入力することでテンポのあったマーカーのついたレイヤーを生成</strong>します。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/bpmm.png" class="sb-img" rel="shadowbox[post-7449];player=img;"><img class="alignnone size-medium wp-image-7455" src="http://ae-users.com/jp/wp-content/uploads/2012/01/bpmm-400x153.png" alt="" width="400" height="153" /></a><br />
また、確実な方法として、<strong>プレビュー中にテンキーの「*」を押すことで、手動でマーカーを付ける</strong>ことができます。<br />
これはオーディオに限ったことではなく、マーカーを付けることは効率の良く映像制作を進めることができます。<br />
例えば、<strong>Shiftキーを押しながらインジケーターをドラッグ</strong>すると、<strong>マーカーの位置でピタッと合わせる</strong>ことができます。<br />
このように、ひと手間かけることでより音にあった映像を作ることができます。<br />
また、AEでオーディオエフェクトを使用する人はなかなかいないかと思いますが、<strong>オーディオエフェクトを適用した状態で、<a href="http://ae-users.com/jp/tutorials/2012/01/%E9%9F%B3%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A8after-effects-%E3%81%9D%E3%81%AE1/">その1</a>で行ったように「オーディオをキーフレームに変換」を行う</strong>と、<strong>エフェクトが適応された波形の値が入力</strong>されます。<br />
<br />
上のオーディオ振幅はエフェクト適用前、下のオーディオ振幅は適用後です。値が違うことがわかります。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/o-e.png" class="sb-img" rel="shadowbox[post-7449];player=img;"><img class="alignnone size-medium wp-image-7462" src="http://ae-users.com/jp/wp-content/uploads/2012/01/o-e-400x177.png" alt="" width="400" height="177" /></a><br />
<br />
これも知っておいて損はないでしょう。<br />
<h3>楽譜のデータから作る</h3>
<a href="http://omino.com/pixelblog/2011/12/26/ae-hello-again-midi/"><br />
</a>さて、少しだけ変わった方向からAEと音のデータについて考えます。動画だけでなく、音楽を制作される方なら、オーディオよりも楽譜としてデータを持って行けたら、嬉しいと思います。<br />
<strong> MIDI</strong>、というファイル形式があります。昔のHPで流れてる音楽によく使われたり、カラオケでも使われている形式です。<br />
MIDIとは<strong>「ある楽器をこの強さ、この音階で鳴らす」</strong>という<strong>楽譜の情報</strong>です。<br />
もし、オーディオのデータのほかに、この楽譜のデータを持っていたら、より繊細な映像を作ることも可能です。<br />
このMIDIには一曲分の情報を持つことができるので、例えばピアノとボーカルのバラード曲があった場合、オーディオデータだと一緒の波形になるか、個別に用意しないといけませんが、MIDIだとピアノとボーカル、<strong>それぞれの値を1つのファイル</strong>できちんと取得することができます。<br />
この<strong>om_midi</strong>は、<strong>MIDIのデータをAEにキーフレームの情報として読みこむ</strong>スクリプトです。<br />
<br />
<address><a href="http://omino.com/pixelblog/2011/12/26/ae-hello-again-midi/">http://omino.com/pixelblog/2011/12/26/ae-hello-again-midi/</a></address><a href="http://omino.com/pixelblog/2011/12/26/ae-hello-again-midi/"></a><strong>ヌルレイヤーにスライダー制御エフェクトとして情報が入っています。</strong><br />
<br />
<strong> </strong><a href="http://ae-users.com/jp/wp-content/uploads/2012/01/midie.png" class="sb-img" rel="shadowbox[post-7449];player=img;"><img class="alignnone size-medium wp-image-7456" src="http://ae-users.com/jp/wp-content/uploads/2012/01/midie-400x133.png" alt="" width="400" height="133" /></a><br />
<br />
<strong>このスクリプトも、<a href="http://ae-users.com/jp/tutorials/2012/01/%E9%9F%B3%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A8after-effects-%E3%81%9D%E3%81%AE1/">その1</a>で紹介した</strong><strong>「AudioToMarkers」と同様にAEの言語に合わせて中身を書き換える必要がある</strong><strong>ので注意してください。</strong><br />
<br />
<strong> </strong><a href="http://ae-users.com/jp/wp-content/uploads/2012/01/sliders.png" class="sb-img" rel="shadowbox[post-7449];player=img;"><img class="alignnone size-medium wp-image-7459" src="http://ae-users.com/jp/wp-content/uploads/2012/01/sliders-375x400.png" alt="" width="375" height="400" /></a><br />
<span style="text-decoration: underline">また、注意する点として、<strong>修正の内容がバージョンによって違います。</strong></span><span style="text-decoration: underline"><strong>CS5以上では「スライダー制御」、CS4以前では「スライダ制御」</strong>ですので注意してください。</span><br />
<br />
ちなみに、<a href="http://ae-users.com/jp/tutorials/2012/01/%E9%9F%B3%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A8after-effects-%E3%81%9D%E3%81%AE1/">その1</a>と同様でスクリプトの書き換えでは<strong>ExtendScript Toolkit</strong>を使用しています。<br />
<br />
<address><a href="http://omino.com/pixelblog/2011/12/26/ae-hello-again-midi/"></a></address>
<h3>外部ソフトと連携する</h3>
<strong> Dynamic Link</strong>は、CS Production PremiumとMaster Collectionで利用できる機能で、<strong>After EffectsのコンポジションをPremiereなどでレンダリングすることなく利用ができる機能</strong>です。<br />
<strong> Premiereのシーケンス</strong>や<strong>Audition(CS5以前はSoundbooth)の形式で保存されたファイル</strong>は、<strong>そのものを</strong><strong>レイヤーとして使用することができ、なおかつ自動更新される</strong>のでAEでオーディオを扱う時には非常に便利です。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/testasnd.png" class="sb-img" rel="shadowbox[post-7449];player=img;"><img class="alignnone size-medium wp-image-7457" src="http://ae-users.com/jp/wp-content/uploads/2012/01/testasnd-400x336.png" alt="" width="400" height="336" /></a><a href="http://ae-users.com/jp/wp-content/uploads/2012/01/asnddata.png" class="sb-img" rel="shadowbox[post-7449];player=img;"><img class="alignnone size-medium wp-image-7458" src="http://ae-users.com/jp/wp-content/uploads/2012/01/asnddata-400x258.png" alt="" width="400" height="258" /></a><br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/asnddata.png" class="sb-img" rel="shadowbox[post-7449];player=img;"></a>※画像はSoundbooth CS5です<br />
<em> (反対にPremiereにAEのコンポジションを取り込むこともできます)</em><br />
<h4>VOCALOID3からデータを持ってくる</h4>
私が作ったもので恐縮ですが、少しご紹介します。<strong>Marker Maker for After Effects</strong>は<strong>VOCALOID3 Job Plugin</strong>です。<br />
<strong> VOCALOID3上で</strong><strong>入力された情報に基づく位置に、マーカーがついたヌルレイヤーを作成するスクリプトを作成</strong>します。<br />
マーカーのメモには、ひとつは対応するノートの歌詞情報、もうひとつには母音情報を含んでいます。<br />
母音情報を含んだレイヤーでは、母音に対応したキーフレームを含んでいます。<br />
<br />
<strong>Marker Maker for After Effectsは、現在</strong><strong>YAMAHAの</strong><strong>VOCALOID STOREにて申請中</strong>ですので、<strong>登録後、改めてURLと紹介記事を追加で書こうと思います。</strong><br />
<br />
<strong></strong><br />
<br />
<hr /><br />
ご紹介したように、<strong>他のソフトウェアから情報をスクリプトとして書き出すことができれば、AEをより便利に使用することができます。</strong><br />
<br />
<strong>AEP Project内には</strong><strong>スクリプトの<a href="http://ae-users.com/jp/sp0909_scripting-tutorial/">特集記事</a>もある</strong><strong>ので、興味のある方はぜひチャレンジしてみてはいかがでしょうか。</strong></p>

	タグ : <a href="http://ae-users.com/jp/tag/%e3%82%aa%e3%83%bc%e3%83%87%e3%82%a3%e3%82%aa/" title="オーディオ" rel="tag nofollow">オーディオ</a>, <a href="http://ae-users.com/jp/tag/%e3%82%b5%e3%82%a6%e3%83%b3%e3%83%89/" title="サウンド" rel="tag nofollow">サウンド</a>, <a href="http://ae-users.com/jp/tag/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88/" title="スクリプト" rel="tag nofollow">スクリプト</a>, <a href="http://ae-users.com/jp/tag/%e9%9f%b3/" title="音" rel="tag nofollow">音</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae1/" title="音のデータとAfter Effects その1 (2012/1月/14)">音のデータとAfter Effects その1</a> (46)</li>
	<li><a href="http://ae-users.com/jp/tips/scripts-tips/2009/10/%e8%a4%87%e6%95%b0%e3%82%b3%e3%83%b3%e3%83%9d%e3%82%92%e4%b8%80%e6%b0%97%e3%81%ab%e7%b7%a8%e9%9b%86%e3%80%80%ef%bd%9e-editcomps_forcs4-%ef%bd%9e/" title="複数コンポを一気に編集　～ EditComps_forCS4 ～ (2009/10月/06)">複数コンポを一気に編集　～ EditComps_forCS4 ～</a> (4)</li>
	<li><a href="http://ae-users.com/jp/resources/2010/03/pencilfx-script/" title="色鉛筆風エフェクトスクリプト＆スケッチ風プリセット (2010/3月/17)">色鉛筆風エフェクトスクリプト＆スケッチ風プリセット</a> (9)</li>
	<li><a href="http://ae-users.com/jp/tips/scripts-show/2010/05/%e6%97%a5%e6%9c%ac%e8%aa%9e%e7%89%88%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%aa%e3%81%84%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%82%92%e5%8b%95%e3%81%8f%e3%82%88%e3%81%86%e3%81%ab%e3%81%99%e3%82%8b/" title="日本語版で動かないスクリプトを動くようにする（Skydome, Quick effects palette） (2010/5月/18)">日本語版で動かないスクリプトを動くようにする（Skydome, Quick effects palette）</a> (12)</li>
	<li><a href="http://ae-users.com/jp/resources/2009/03/translate-expression-script-japanese/" title="他言語で設定されたエクスプレッション制御の記述を起動中の言語に変換するスクリプト (2009/3月/29)">他言語で設定されたエクスプレッション制御の記述を起動中の言語に変換するスクリプト</a> (9)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae2/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>音のデータとAfter Effects その1</title>
		<link>http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae1/</link>
		<comments>http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae1/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 03:59:59 +0000</pubDate>
		<dc:creator>あかつき みさき</dc:creator>
				<category><![CDATA[TIPS - スクリプト紹介]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[オーディオ]]></category>
		<category><![CDATA[サウンド]]></category>
		<category><![CDATA[スクリプト]]></category>
		<category><![CDATA[音]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=7390</guid>
		<description><![CDATA[「音、音楽のデータを扱う時AfterEffectsは使いにくいなぁ・・・」そう思ったことはありませんか？
この記事ではAEでオーディオを扱う時にちょっと便利な使い方やスクリプトをご紹介します。]]></description>
			<content:encoded><![CDATA[<p>
<h3>音のデータとAfter Effects</h3>
<strong>「音、音楽のデータを扱う時After Effectsは使いにくいなぁ・・・」</strong>そう思ったことはありませんか？<br />
<br />
Premiereはスペース押すだけで簡単に映像と一致して見れるのに、と普段よく思います。<br />
<br />
そこで、AE標準の機能をおさらいしつつ、音のデータをAfter Effectsで扱う時に知っておくと、ちょっと便利な小ネタやスクリプトをご紹介したいと思います。<em>(ここではWindows版 CS5でご紹介します)</em><br />
<br />
さて、まずはAE標準の機能から。まず<strong>Lを二回連打</strong>。これで<strong>ウェーブフォームのみを簡単に表示</strong>できます。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/LL.png" class="sb-img" rel="shadowbox[post-7390];player=img;"><img class="alignnone size-medium wp-image-7391" src="http://ae-users.com/jp/wp-content/uploads/2012/01/LL-400x134.png" alt="" width="400" height="134" /></a><br />
<br />
波形のみで作業することはほとんどないでしょうから、サウンドの<strong>プレビューにはテンキーの「.」</strong>。これもよく使いますよね。<br />
<br />
<strong>Altを押しながら「.」でワークエリアの初めからプレビュー</strong>してくれます。ただ、これだと映像は動きません。でもいちいちRAMプレビューはしてられない・・・という人もいると思います。<br />
<br />
そういう時は、<strong>Ctrlキーを押しながらインジケーターをドラッグ</strong>しましょう。<strong>オーディオを手動でプレビュー</strong>することができます。<br />
<br />
次も標準で付いている機能の、「オーディオをキーフレームに変換」する機能です。<br />
<br />
<strong>オーディオレイヤーを右クリック</strong>し、<strong>「キーフレーム補助」</strong>から<strong>「オーディオをキーフレームに変換」</strong>を選択します。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/o-key.png" class="sb-img" rel="shadowbox[post-7390];player=img;"><img class="alignnone size-medium wp-image-7392" src="http://ae-users.com/jp/wp-content/uploads/2012/01/o-key-400x227.png" alt="" width="400" height="227" /></a><br />
<br />
すると、<strong>オーディオを自動で解析してその値をキーフレームに打ち込んでくれます。</strong>「オーディオ振幅」という名前で新規ヌルレイヤーにチャンネルごとにキーフレームが打ちこまれているのがわかります。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/o-sin.png" class="sb-img" rel="shadowbox[post-7390];player=img;"><img class="alignnone size-medium wp-image-7393" src="http://ae-users.com/jp/wp-content/uploads/2012/01/o-sin-399x134.png" alt="" width="399" height="134" /></a><br />
<br />
後はエクスプレッションなりで繋いでやると、簡単に音と同期した映像を作ることができます。<br />
<br />
また、標準エフェクトの<strong>「オーディオウェーブフォーム」</strong><strong>、</strong><strong>「オーディオスペクトラム」</strong>、Trapcodeの<strong>「Sound Keys」</strong>などはレイヤー指定だけで簡単にオーディオと同期した映像が作れます。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/o-o.png" class="sb-img" rel="shadowbox[post-7390];player=img;"><img class="alignnone size-medium wp-image-7430" src="http://ae-users.com/jp/wp-content/uploads/2012/01/o-o-400x149.png" alt="" width="400" height="149" /></a><a href="http://ae-users.com/jp/wp-content/uploads/2012/01/o-soundkey.png" class="sb-img" rel="shadowbox[post-7390];player=img;"><img class="alignnone size-medium wp-image-7433" src="http://ae-users.com/jp/wp-content/uploads/2012/01/o-soundkey-400x150.png" alt="" width="400" height="150" /></a><br />
<br />
さて、次は知っておくとちょっと便利なスクリプトなどを紹介していきます。<br />
<h3>オーディオに合わせてマーカーをつけたい</h3>
レイヤーが多くなるとオーディオのレイヤーを開くわけにもいかなくなったりします。そんな時に、このスクリプト<strong>「AudioToMarkers」</strong>が便利です。<br />
<br />
先ほどの<strong>オーディオ振幅レイヤーを元に、自動でマーカー付け</strong>をしてくれます。元の音源によってはなかなかうまくマーカー付けされない時もありますが、そういう時は<strong>「Audio Level」を調節</strong>しましょう。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/o-marker.png" class="sb-img" rel="shadowbox[post-7390];player=img;"><img class="alignnone size-full wp-image-7400" src="http://ae-users.com/jp/wp-content/uploads/2012/01/o-marker.png" alt="" width="332" height="248" /></a><br />
<br />
マーカーは既存のレイヤーに乗せるか、新規レイヤーにするかを選べます。また、面白いことに<strong>新規テキストレイヤーとして書き出してくれる機能</strong>もあります。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/o-text.png" class="sb-img" rel="shadowbox[post-7390];player=img;"><img class="alignnone size-medium wp-image-7401" src="http://ae-users.com/jp/wp-content/uploads/2012/01/o-text-400x227.png" alt="" width="400" height="227" /></a><br />
<br />
このAudioToMarkersは「Name Your Own Price」となっているので、試してみたい方はいかがでしょうか。<br />
<br />
<address><a href="http://aescripts.com/audiotomarkers/">http://aescripts.com/audiotomarkers/</a></address><strong>このスクリプトを入れるときは、AEの言語に合わせて中身を書き換える必要がある</strong>ので注意してください。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2012/01/o-sor.png" class="sb-img" rel="shadowbox[post-7390];player=img;"><img class="alignnone size-medium wp-image-7402" src="http://ae-users.com/jp/wp-content/uploads/2012/01/o-sor-400x265.png" alt="" width="400" height="265" /></a><br />
<h3>つけたマーカーを活用したい</h3>
マーカーをつけたはいいけどそれだけじゃ意味がない、もっと便利なものはないの？という人には<strong>「SceneSplitter」</strong>をお勧めします。<br />
<br />
これは<strong>マーカーを元にシーンを切り出して、子コンポ自動生成</strong>してくれるという優れモノです。しかも<strong>子コンポにもちゃんとオーディオレイヤーが含まれています。</strong><br />
<br />
<address><a href="http://twitpic.com/5zilh5">http://twitpic.com/5zilh5</a></address>また、同じ作者さんの<strong>「LyricalMagical」</strong>も音に合わせるという意味で便利なスクリプトです。<strong>歌詞など、テロップの順次に表示する時に便利なテキストレイヤーを自動で作ってくれます。</strong><br />
<br />
<address><a href="http://twitpic.com/73yq8f">http://twitpic.com/73yq8f</a></address>
<h3>その2へ</h3>
その1はここまでです。<a href="http://ae-users.com/jp/tutorials/2012/01/%E9%9F%B3%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A8after-effects-%E3%81%9D%E3%81%AE2/">その2</a>では、別の視点から音とAfter Effectsについてご紹介していきます。<br />
<br />
<address></address></p>

	タグ : <a href="http://ae-users.com/jp/tag/%e3%82%aa%e3%83%bc%e3%83%87%e3%82%a3%e3%82%aa/" title="オーディオ" rel="tag nofollow">オーディオ</a>, <a href="http://ae-users.com/jp/tag/%e3%82%b5%e3%82%a6%e3%83%b3%e3%83%89/" title="サウンド" rel="tag nofollow">サウンド</a>, <a href="http://ae-users.com/jp/tag/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88/" title="スクリプト" rel="tag nofollow">スクリプト</a>, <a href="http://ae-users.com/jp/tag/%e9%9f%b3/" title="音" rel="tag nofollow">音</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae2/" title="音のデータとAfter Effects その2 (2012/1月/15)">音のデータとAfter Effects その2</a> (21)</li>
	<li><a href="http://ae-users.com/jp/tips/scripts-tips/2009/10/%e8%a4%87%e6%95%b0%e3%82%b3%e3%83%b3%e3%83%9d%e3%82%92%e4%b8%80%e6%b0%97%e3%81%ab%e7%b7%a8%e9%9b%86%e3%80%80%ef%bd%9e-editcomps_forcs4-%ef%bd%9e/" title="複数コンポを一気に編集　～ EditComps_forCS4 ～ (2009/10月/06)">複数コンポを一気に編集　～ EditComps_forCS4 ～</a> (4)</li>
	<li><a href="http://ae-users.com/jp/resources/2010/03/pencilfx-script/" title="色鉛筆風エフェクトスクリプト＆スケッチ風プリセット (2010/3月/17)">色鉛筆風エフェクトスクリプト＆スケッチ風プリセット</a> (9)</li>
	<li><a href="http://ae-users.com/jp/tips/scripts-show/2010/05/%e6%97%a5%e6%9c%ac%e8%aa%9e%e7%89%88%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%aa%e3%81%84%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%82%92%e5%8b%95%e3%81%8f%e3%82%88%e3%81%86%e3%81%ab%e3%81%99%e3%82%8b/" title="日本語版で動かないスクリプトを動くようにする（Skydome, Quick effects palette） (2010/5月/18)">日本語版で動かないスクリプトを動くようにする（Skydome, Quick effects palette）</a> (12)</li>
	<li><a href="http://ae-users.com/jp/resources/2009/03/translate-expression-script-japanese/" title="他言語で設定されたエクスプレッション制御の記述を起動中の言語に変換するスクリプト (2009/3月/29)">他言語で設定されたエクスプレッション制御の記述を起動中の言語に変換するスクリプト</a> (9)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2012/01/%e9%9f%b3%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%a8after-effects-%e3%81%9d%e3%81%ae1/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編</title>
		<link>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-17/</link>
		<comments>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-17/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 15:17:10 +0000</pubDate>
		<dc:creator>bry-ful</dc:creator>
				<category><![CDATA[TIPS - スクリプト]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[Expression]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[Shape]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=7254</guid>
		<description><![CDATA[
シェイプレイヤとエクスプレッション　後編
今回はシェイプ属性の補足説明とExpressionのTIPSがテーマです。

guponさんが同じシェイプレイヤをテーマとした「スクリプトで描画するシェイプレイヤー」を投稿して [...]]]></description>
			<content:encoded><![CDATA[<p>
<h3>シェイプレイヤとエクスプレッション　後編</h3>
今回はシェイプ属性の補足説明とExpressionのTIPSがテーマです。<br />
<br />
guponさんが同じシェイプレイヤをテーマとした「<a href="http://ae-users.com/jp/resources/2011/12/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E3%82%B7%E3%82%A7%E3%82%A4%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC/">スクリプトで描画するシェイプレイヤー</a>」を投稿してますので、一緒に見てください。サンプルのムービーかっこいいです。こっちもかっこいいムービー作れればいいのになぁとか今更思ってしまいました^^;<br />
<h3>シェイプ属性の補足説明</h3>
AEのマニュアルのシェイプの項目は最初はちんぷんかんだと思いますが、触り始めてから読むとびっくりするくらい分かりやすいです。かならず目を通しておきましょう。この記事ではシェイプ属性の補足説明は注意点のみ簡単に説明します。<br />
<br />
<br />
<dl>
<dh><strong>◎グループ</strong></dh><br />
<dd>
グループの役割は以下のものがあります。<br />
<ol>
<li>シェイプ属性をまとめて管理しやすくする</li>
<li>独自のトランスフォームを追加する。Photoshopでいうとレイヤのリンクみたいなことが出来る</li>
<li>シェイプの描画の順番を変える。</li>
</ol>
1に関してはまぁ説明の必要はないのですが、２の独自のトランスフォームは理解できればかなり有効に使えます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp601.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp601.png" alt="" title="sp60" width="411" height="199" class="aligncenter size-full wp-image-7257" /></a><br />
例えば一部のシェイプを左右反転させたい時は、それをグループ化してグループのスケールに[-100,100]とか入れるだけで出来てしまいます。<br />
更に通常のトランスフォームのプロパティに加えて、「<strong>歪曲</strong>」「<strong>歪曲軸</strong>」が追加されます。<br />
「<strong>歪曲</strong>」は斜めに変形させるパラメータで、「長方形パス」から簡単に平行四辺形に変形可能です。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp611.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp611.png" alt="" title="sp61" width="308" height="150" class="aligncenter size-full wp-image-7258" /></a><br />
<br />
３に関してはマニュアルで細かく説明されているのでそれを参照してください。ちょっと言葉ではわかりづらいですが、分かればかなり便利です。<br />
<a href="http://help.adobe.com/ja_JP/AfterEffects/9.0/WS37D3062F-6B97-4817-9BFD-A7532A85E19Fa.html">シェイプおよびシェイプ属性のグループとレンダリングの順序</a><br />
<br />
グループを使う時の注意点は、予め計画を立ててグループの構造を決めてからその他の属性を配置することです。<br />
後からでも十分に修正は可能ですが、エクスプレッションを使っているとグループを追加したり削除したりするとそのたびにリンクが外れるので面倒です。<br />
<br />
</dd>
<dh><strong>◎線の破線属性の注意</strong></dh><br />
<dd>
<strong>線</strong>属性の<strong>破線</strong>はたまにエクスプレッションがエラーを起こし<strong>Unenabled</strong>の状態になりやすいので注意です。<br />
この現象はかなりの確率で起きるのですが解決策が無いので注意が必要です。<br />
<br />
</dd>
<dh><strong>◎パンク・膨張</strong></dh><br />
<dd>
この属性は何をやってるの始めてみるとさっぱりですが、アルゴリズムを考えると単純なものです。<br />
「量」の値でパスの頂点をシェイプの中心の内側の方向へ頂点と頂点の中間の天を中心の外側へ移動させています<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp621.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp621.png" alt="" title="sp62" width="278" height="262" class="aligncenter size-full wp-image-7263" /></a><br />
<br />
ただ、どんな用途に使えるのか未だに僕はわかりません。面白い動きするのでいつか使ってみたい属性です。<br />
<br />
</dd>
<dh><strong>◎パスのウィグル</strong></dh><br />
<dd>
パスをランダムに動かせますが、意外と使えません。多分これもアイディア次第でしょう。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp631.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp631.png" alt="" title="sp63" width="378" height="169" class="aligncenter size-full wp-image-7264" /></a><a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp641.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp641.png" alt="" title="sp64" width="224" height="205" class="aligncenter size-full wp-image-7265" /></a><br />
<br />
</dd>
<dh><strong>◎トランスフォームのウィグル</strong></dh><br />
<dd>
この属性はパスの位置等にランダムな動きをつけるものです。デフォルト状態ではトランスフォームの値が0なのでいくら位相を動かしても変化しないので最初はスルーしてましたが、トランスフォームの値を適当に設定すれば色々アニメーションささせることができます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp651.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp651.png" alt="" title="sp65" width="363" height="209" class="aligncenter size-full wp-image-7266" /></a><br />
<br />
決まったサイクルでの動き（振り子上に動かすとか）が簡単に出来ますが、エクスプレッションでやっても同じことができます。<br />
<br />
</dd>
<dh><strong>◎ジグザグ</strong></dh><br />
<dd>
パスを決まったパターンでジグザク上に変化させられます。ただ単調な動きしかできないのであまり使えません。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp661.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp661.png" alt="" title="sp66" width="355" height="79" class="aligncenter size-full wp-image-7267" /></a><br />
<br />
</dd>
<dh><strong>◎ウィグル・ジグザクの用途</strong></dh><br />
<dd>
ウィグル・ジグザクともに単調なアニメーションしか作れない（組み合わせればある程度できるが、Expressioｎで三角関数使った方が楽）ので、使い道があまりなさそうですが、位相を停止させパスを単純に変形させるフィルタみたいな使い方だとかなり面白い物ができます。<br />
Illustratorで色々なパターンを作る時と同じ要領です。<br />
<br />
</dd>
<dh><strong>◎ピクセルアスペクトでの問題</strong></dh><br />
<dd>
ピクセルアスペクトが１の場合はあまり問題にならないのですが、0.9とか1.2の場合描画が変になる時があります。<br />
どうやらシェイプレイヤはどんな状態でもピクセルアスペクトが1になってしまうようです。そのためAfter Effectsはサイズの変換を勝手にやってしまって、シェイプレイヤの縦横比がおかしくなるようです。<br />
<br />
何かおかしいと思ったらピクセルアスペクトを確認しましょう。<br />
<br />
</dd>
</dl>
<br />
<h3>エクスプレッションのTIPS</h3>
TIPSと言うか僕がよく使うエクスプレッションの紹介になります。<br />
<br />
サンプルのaepファイルは<a href="http://bit.ly/tdBcOP">ここ</a>からダウンロードできます。<br />
<a href="http://bit.ly/tdBcOP" class="dl">aep_exp_tips.zip</a><br />
必ずサンプルを確認してから、下のTIPSの説明を読んで下さい。<br />
<br />
サンプルはCS4で作成してます。CS5以後の場合は若干修正する必要があると思います（未確認。スライダ制御はmatchNameで処理してます）<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その１　テキストレイヤのソーステキストにname</h3>
これは単純でテキストレイヤのソーステキストにエクスプレッションで&#8221;name&#8221;とするだけです。<br />
これでレイヤ名がそのまま画面に表示されるようになります。テキストレイヤに文字数が少ないテキストを表示させたい時に重宝します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp671.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp671.png" alt="" title="sp67" width="295" height="182" class="aligncenter size-full wp-image-7268" /></a><br />
簡単なTIPSですがかなり有効です。<br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その２　レイヤ名をパラメータにする split</h3>
これはその１のテクニックと同じもので、その応用になります。<br />
<br />
画面に同じ物を均一に並べたい時があった場合、nullレイヤをひとつ作成してそれに「横の間隔」「縦の間隔」のスライダ制御を追加。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp681.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp681.png" alt="" title="sp68" width="501" height="225" class="aligncenter size-full wp-image-7269" /></a><br />
<br />
並べたいレイヤの名称を&#8221;A_00_00_&#8221;として位置に以下のエクスプレッションを作成する。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//ヌルレイヤの位置座標</span>
px <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ヌル 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transform</span>.<span style="color: #660066;">position</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
py <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ヌル 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transform</span>.<span style="color: #660066;">position</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//間隔を求める</span>
offsetX <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ヌル 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">effect</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;横の間隔&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
offsetY <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ヌル 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">effect</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;縦の間隔&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//レイヤ名を_で分割する。</span>
sa <span style="color: #339933;">=</span> <span style="color: #F0A090;">name</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;_&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
cx <span style="color: #339933;">=</span> sa<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span><span style="color: #006600; font-style: italic;">//Xの位置</span>
cy <span style="color: #339933;">=</span> sa<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span><span style="color: #006600; font-style: italic;">//Yの位置</span>
<span style="color: #006600; font-style: italic;">//実際のピクセル値に変換</span>
px <span style="color: #339933;">+=</span> cx <span style="color: #339933;">*</span> offsetX<span style="color: #339933;">;</span>
py <span style="color: #339933;">+=</span> cy <span style="color: #339933;">*</span> offsetY<span style="color: #339933;">;</span>
 <span style="color: #009900;">&#91;</span>px<span style="color: #339933;">,</span>py<span style="color: #009900;">&#93;</span></pre></div></div>

<br />
<br />
上のエクスプレッションでは、レイヤ名をsplitで分割してパラメータを切り出し、位置を求めています。<br />
このようにしておけばレイヤを複製し名称を&#8221;A_01_00_&#8221;とリネームすると横に並んでくれます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp70.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp70.png" alt="" title="sp70" width="332" height="136" class="aligncenter size-full wp-image-7348" /></a><br />
<br />
このやり方のキモは、<br />
<br />
☆パラメータを切り出しやすいように、<strong>アンダーバー</strong>を区切りにする。<br />
☆最後にもアンダーバーを付けて複製した時にエラーが起きないようにする<br />
<br />
って点になります。<br />
ヌル位置とスライダ制御で後の微調整も簡単になり、今までちまちま数値入力したりレイヤの整列を繰り返しして行ってた作業がほぼなくなります。<br />
<br />
<hr /><br />
この方法は応用が効くので重宝します。<br />
もとは僕が考えたのではなく、コンポ名からカットボールドに表示されるカット番号を自動に表示されるコンポを見せてもらいって、それからの転用（パクリ）になります。<br />
<br />
注意点としてはテキストレイヤは何かの拍子にnameが書き換わってしまうことがあるのでテキストレイヤには使えないことがあります。<br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その３　シェイプレイヤのグループを使うときの注意</h3>
シェイプレイヤのグループ内の属性にエクスプレッションを使う場合、以下の注意点があります。<br />
<br />
<ul>
<li>グループを複製した時、新たに作られたグループ内のエクスプレッションのリンクは元のもので新しいグループ内へはリンクは補正されない。</li>
<li>ctrl+G等で新しいグループを作成しその中へ属性を移動するとエクスプレッションのリンクが全て外れるので手動で補正する必要がある。</li>
</ul>
<br />
手作業で補正するのは流石に大変なので、近いうちにその対処用のスクリプトをつくろうかなとか思っています。<br />
<br />
追記<br />
エクスプレッション内の文字列を置換するスクリプトを作りました。<br />
<br />
<a href="http://bit.ly/vEMXua">ここ</a>からダウンロードできます<br />
<a href ="http://bit.ly/vEMXua" class="dl">ae_expReplace.zip</a><br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp83.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp83.png" alt="" title="sp83" width="296" height="343" class="aligncenter size-full wp-image-7380" /></a><br />
<br />
「元の文字」と「新しい文字」を入力後置き換えしたいプロパティを選択して実行してください。<br />
右にあるポップアップは入力した単語が最大２０まで履歴として記憶されています。<br />
プロパティグループが選択されていた場合、問答無用にそのプロパティグループない全てが対象になるので注意して下さい。<br />
下の図のように「グループ 1」と「長方形パス 1]が選択されたいたら、「グループ 1」が選択されているので「線 1」「塗り 1」「トランスフォームのすべて」<br />
が置換対象になります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp84.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp84.png" alt="" title="sp84" width="177" height="103" class="aligncenter size-full wp-image-7381" /></a><br />
<br />
このスクリプトで置換することで、グループを複製した時のリンクズレ・外れを修正できます。<br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その４　レイヤの位置を固定</h3>
これも簡単なテクニックです。<br />
動かしたくないレイヤはlockedをtrueに（鍵印）することで不用意に値が変わらないにする事ができますが、全てが動かせなくなります。<br />
位置だけ動かしたくないときは、位置のExpressionに&#8221;[100,100]&#8220;と直接値を打ち込んでしまいます。これで位置は動かせないけど回転・スケールは動かせるレイヤにする事ができます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp71.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp71.png" alt="" title="sp71" width="541" height="214" class="aligncenter size-full wp-image-7349" /></a><br />
<br />
角度指定にはエクスプレッション制御の角度制御がありますが、このテクニックを使ってステージ上で角度指定が出来るインターフェースが作れます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp72.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp72.png" alt="" title="sp72" width="555" height="346" class="aligncenter size-full wp-image-7350" /></a><br />
<br />
このテクニックは位置だけではなく、エクスプレッションが使える全てのパラメータで有効です。<br />
<br />
<h3>その５　matchName/indexの勧め</h3>
エクスプレッション制御の「スライダ制御」のプロパティはCS4では「スライダ」ですが、CS5以降「スライダー」に変更されました。<br />
そのためCS4用に作ったプロジェクトをCS5で開くとエラーになります。また、英語モード( -L en_US)で立ち上げると「Slider」になってしまうので同じようにエラーになります。<br />
<br />
CS5のスライダーと英語モードでのプロパティ名の違いはかなり大問題になります（単純にエクスプレッションが動かなくなる）<br />
<br />
これの対処はプロパティ名ではなく、<strong>matchName</strong>で記述するか<strong>index</strong>番号で指定することになります。<br />
<strong>matchName</strong>は言語に影響されずにそのプロパティを識別出来る名前で例えばスライダ制御の<strong>スライダ</strong>は&#8221;<strong>ADBE Slider Control-0001</strong>&#8220;になります。<br />
<br />
matchNameの調べ方は、スクリプト作成補佐スクリプトの「プロパティパスの情報.jsx」等で調べることができます（<a href="http://bit.ly/n14s6V">ここ</a>にあります)<br />
indexは以下のエクスプレッションで簡単に調べることができます。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//適当なテキストレイヤのソーステキストにこのエクスプレッションを定義</span>
<span style="color: #006600; font-style: italic;">//target = thisComp.layer(&quot;シェイプレイヤー 1&quot;).content(&quot;長方形パス 1&quot;);</span>
target <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;シェイプレイヤー 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">effect</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ制御&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
str <span style="color: #339933;">+=</span> target.<span style="color: #F0A090;">name</span> <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
str <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;propertyIndex: &quot;</span> <span style="color: #339933;">+</span> target.<span style="color: #660066;">propertyIndex</span> <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
str<span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
ちなみにプロパティを調べるコードも以下のコードで出来ます。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//適当なテキストレイヤのソーステキストにこのエクスプレッションを定義</span>
<span style="color: #006600; font-style: italic;">//target = thisComp.layer(&quot;シェイプレイヤー 1&quot;).content(&quot;長方形パス 1&quot;);</span>
target <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;シェイプレイヤー 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">effect</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ制御&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
str <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #F0A090; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">var</span> s <span style="color: #F0A090; font-weight: bold;">in</span> target<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> str <span style="color: #339933;">+=</span> s <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
str<span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
<br />
エクスプレッションでは、<strong>ExtendScript Toolkit</strong>も<strong>alert</strong>も使えないので、テキストレイヤに値を表示させるデバッグ方法を良くします。<br />
<br />
matchName/indexを実際に使うときのコードは以下のようになります。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;">target <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;シェイプレイヤー 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">effect</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ制御&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #006600; font-style: italic;">//通常</span>
target <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;シェイプレイヤー 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">effect</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ制御&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ADBE Slider Control-0001&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #006600; font-style: italic;">//matchName</span>
target <span style="color: #339933;">=</span> thisComp.<span style="color: #660066;">layer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;シェイプレイヤー 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">effect</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ制御&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #006600; font-style: italic;">//index</span></pre></div></div>

<br />
<br />
以上のコードは全て同じ結果になります。僕は好みで<strong>matchName</strong>をよく使いますが、<strong>index</strong>でも問題ないと言うか<strong>index</strong>の方がGOODだと思います。<br />
<br />
余談ですが上記のことはプロパティのみの事で、プロパティグループでは問題ありません。<br />
プロパティグループとは分かりやすく言うと名称が改名できるパラメータの事で、逆に<strong>matchName</strong>では指定できません。<strong>index</strong>では指定できますがindex値は状態によって変化するので、普通に名称で指示する必要があります。<br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その６　エクスプレッション制御は便利</h3>
エクスプレッションを便利に使うためのエフェクトプラグインが標準で用意されています。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp73.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp73.png" alt="" title="sp73" width="374" height="114" class="aligncenter size-full wp-image-7351" /></a><br />
<br />
エフェクトプラグインですがエフェクトとしては何もしないフィルタとなります。ですが、<strong>ちゃっかりと描画用の裏画面を確保してしまうので不要なメモリ消費をしてしまいます。</strong>使用するときはnullレイヤに登録・ガイドレイヤに登録・非表示に設定(fxアイコンをoffにする)することがポイントになります。<br />
<br />
実はこの事を理解していれば普通のエフェクトをエクスプレッション制御として使うことも可能です。カラー制御を3個使うならトライトーンを代用したほうが楽な事もあります。<br />
<br />
<dl>
<dh><strong>◎カラー制御</strong></dh><br />
<dd>
色の値を設定したり保存したり出来る。アルファーの値は操作できない。<br />
<br />
</dd>
<dh><strong>◎スライダ制御</strong></dh><br />
<dd>
マイナス3万からプラス3万までの数値を扱う(16Bitの固定小数）<br />
CS5から「スライダ」が「スライダー」に変更されて困った事態に。<br />
<br />
</dd>
<dh><strong>◎チェックボックス制御</strong></dh><br />
<dd>
Booleanを扱う。on/offが指定できる。<br />
シンプルなのでかなり使いやすい。<br />
<br />
</dd>
<dh><strong>◎ポイント制御</strong></dh><br />
<dd>
位置を扱う。<br />
アニメーションさせる時、カーブ等の操作が出来ないのであまり使えない。nullレイヤで代用させることが多い。<br />
<br />
</dd>
<dh><strong>◎レイヤ制御</strong></dh><br />
<dd>
登録された同じコンポジションのレイヤを選択できる。「なし」の状態も設定できるが、「なし」に設定すると勝手にエクスプレッションをOFFにしてしまう素晴らしいおせっかい機能のため僕は殆ど使ったことがない。複数のテキストを切り替えて表示する時に表示用のレイヤとデータ用の複数のレイヤに分けて「レイヤ制御」で切り替えて表示させる事をした位です。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp74.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp74.png" alt="" title="sp74" width="412" height="216" class="aligncenter size-full wp-image-7352" /></a><br />
</dd>
<dh><strong>◎角度制御</strong></dh><br />
<dd>
スライダ同様に数値を扱うが、角度入力に適したUIになっている。やはり数の範囲はマイナス3万からプラス3万まで。<br />
<br />
</dd>
</dl>
エクスプレッション機能はユーザーインターフェースという意味合いが大きいがプログラム的にはグローバルな変数として扱うことも出来る。また、ラッパー関数のように使えるので便利。<br />
<br />
話は違いますが、After Effectsのプラグイン作成としてはエクスプレッション制御はかなり簡単にできるので、入門としてはかなりオススメ。<br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その７　ミリとピクセルを変換する</h3>
ミリピクセル変換にはdpi(dot par inch)の値も必要です。これは1インチ中に何ピクセルあるかの単位で、1インチは25.4mmになるので以下のコードで変換ができます。<br />
<br />
ミリからピクセルを変換<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp75.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp75.png" alt="" title="sp75" width="488" height="218" class="aligncenter size-full wp-image-7353" /></a><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;">mm <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;mm&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dpi <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;dpi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
px <span style="color: #339933;">=</span> dpi <span style="color: #339933;">*</span>mm <span style="color: #339933;">/</span> <span style="color: #CC0000;">25.4</span><span style="color: #339933;">;</span>
px<span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
逆にピクセルからミリを変換するコードは以下のようになります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp76.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp76.png" alt="" title="sp76" width="612" height="232" class="aligncenter size-full wp-image-7354" /></a><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;">px <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;pixel&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dpi <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;dpi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
mm <span style="color: #339933;">=</span> px <span style="color: #339933;">*</span><span style="color: #CC0000;">25.4</span><span style="color: #339933;">/</span>dpi<span style="color: #339933;">;</span>
mm<span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その８　ピタゴラスの定理・三角関数で座標計算</h3>
これはTIPSと言うか算術計算です。XY方向の長さから斜め線の長さを求める計算式です。<br />
googleさんで検索すればすぐに見つかるのですがAEスクリプト用にそのたびにコーディングしなおすのが面倒なのでここに明記しておきます。<br />
<br />
☆XYの大きさ(pixel)からその斜め線の長さ(pixel)を求める計算式。<br />
斜めの線の長さはピタゴラスの定理から求められます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp77.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp77.png" alt="" title="sp77" width="571" height="478" class="aligncenter size-full wp-image-7355" /></a><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;">x <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Xの長さ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
y <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Yの長さ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
x <span style="color: #339933;">=</span>  Math.<span style="color: #660066;">abs</span><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//マイナス対策</span>
y <span style="color: #339933;">=</span>  Math.<span style="color: #660066;">abs</span><span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
xy <span style="color: #339933;">=</span> Math.<span style="color: #660066;">sqrt</span><span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">pow</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> Math.<span style="color: #660066;">pow</span><span style="color: #009900;">&#40;</span>y<span style="color: #339933;">,</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
xy<span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
☆線の長さ(pixel)と角度(度)からX/Yの大きさを求める計算式<br />
90度ごとに方向が入れ替わるのでそれに合わせて条件分岐で計算式を入れ替え角度をラジアンに変換してsin/cosで長さを求めています。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp78.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp78.png" alt="" title="sp78" width="569" height="428" class="aligncenter size-full wp-image-7356" /></a><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;">l <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;線の長さ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
r <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;線の角度&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;角度&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
r <span style="color: #339933;">%=</span> <span style="color: #CC0000;">360</span><span style="color: #339933;">;</span>
<span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> r<span style="color: #339933;">&lt;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> r<span style="color: #339933;">+=</span> <span style="color: #CC0000;">360</span><span style="color: #339933;">;</span>
x <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>y <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
<span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> r<span style="color: #339933;">==</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>　y <span style="color: #339933;">=</span> l<span style="color: #339933;">;</span>　
<span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">else</span> <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> r<span style="color: #339933;">&lt;</span><span style="color: #CC0000;">90</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
x <span style="color: #339933;">=</span> Math.<span style="color: #660066;">sin</span><span style="color: #009900;">&#40;</span>r <span style="color: #339933;">*</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">/</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> l<span style="color: #339933;">;</span>
y <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>Math.<span style="color: #660066;">cos</span><span style="color: #009900;">&#40;</span>r <span style="color: #339933;">*</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">/</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> l<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">else</span> <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>r<span style="color: #339933;">==</span><span style="color: #CC0000;">90</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>　x <span style="color: #339933;">=</span> l<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">else</span> <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> r<span style="color: #339933;">&lt;</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
r <span style="color: #339933;">-=</span> <span style="color: #CC0000;">90</span><span style="color: #339933;">;</span>
x <span style="color: #339933;">=</span> Math.<span style="color: #660066;">cos</span><span style="color: #009900;">&#40;</span>r <span style="color: #339933;">*</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">/</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> l<span style="color: #339933;">;</span>
y <span style="color: #339933;">=</span> Math.<span style="color: #660066;">sin</span><span style="color: #009900;">&#40;</span>r <span style="color: #339933;">*</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">/</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> l<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">else</span> <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>r<span style="color: #339933;">==</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>y <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>l<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">else</span> <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> r<span style="color: #339933;">&lt;</span><span style="color: #CC0000;">270</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
r <span style="color: #339933;">-=</span> <span style="color: #CC0000;">180</span><span style="color: #339933;">;</span>
x <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>Math.<span style="color: #660066;">sin</span><span style="color: #009900;">&#40;</span>r <span style="color: #339933;">*</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">/</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> l<span style="color: #339933;">;</span>
y <span style="color: #339933;">=</span> Math.<span style="color: #660066;">cos</span><span style="color: #009900;">&#40;</span>r <span style="color: #339933;">*</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">/</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> l<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">else</span> <span style="color: #F0A090; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> r<span style="color: #339933;">==</span><span style="color: #CC0000;">270</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>x <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>l<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #F0A090; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
r <span style="color: #339933;">-=</span> <span style="color: #CC0000;">270</span><span style="color: #339933;">;</span>
x <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>Math.<span style="color: #660066;">cos</span><span style="color: #009900;">&#40;</span>r <span style="color: #339933;">*</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">/</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> l<span style="color: #339933;">;</span>
y <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>Math.<span style="color: #660066;">sin</span><span style="color: #009900;">&#40;</span>r <span style="color: #339933;">*</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">/</span><span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> l<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#91;</span>x<span style="color: #339933;">,</span>y<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
<br />
☆XYの長さから角度を計算する。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp80.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp80.png" alt="" title="sp80" width="565" height="417" class="aligncenter size-full wp-image-7358" /></a><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;">x <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Xの長さ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
y <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Yの長さ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
x <span style="color: #339933;">=</span> Math.<span style="color: #660066;">abs</span><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
y <span style="color: #339933;">=</span> Math.<span style="color: #660066;">abs</span><span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
r <span style="color: #339933;">=</span> <span style="color: #CC0000;">90</span> <span style="color: #339933;">-</span> Math.<span style="color: #660066;">atan</span><span style="color: #009900;">&#40;</span>y<span style="color: #339933;">/</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #CC0000;">180</span><span style="color: #339933;">/</span>Math.<span style="color: #660066;">PI</span><span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
<br />
<br />
<a href="http://ja.wikipedia.org/wiki/%E3%83%94%E3%82%BF%E3%82%B4%E3%83%A9%E3%82%B9%E3%81%AE%E5%AE%9A%E7%90%86">ピタゴラスの定理はwikipedia等をみて下さい</a><br />
<br />
三角関数(sin/cos等)は上記のように三角形の線の長さや頂点の角度をそれぞれ求めることができます。またそれ以外の特徴として<strong>周期性</strong>があります。<br />
例えば以下のようなコードを実行するとわかりますが、sin/cosを計算結果は必ず-1から1の間で繰り返しになります。それを周期性といいサインカーブと呼ばれる線を描きます。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #F0A090; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>  x<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> x<span style="color: #339933;">&lt;</span><span style="color: #CC0000;">720</span><span style="color: #339933;">;</span> x<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
y <span style="color: #339933;">=</span> Math.<span style="color: #660066;">sin</span><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<br />
<br />
<br />
また、sin/cos等の入力値はラジアン（radian）なので、実際に計算を行うときは角度からラジアンへ変換が必要になります。<br />
<br />
変換式は「ラジアン = 角度(°) × 円周率（π） ÷ 180」になります。 <br />
<br />
1ラジアンは半径と弧の長さが等しくなる角度で、180度で　円周率（π）と同じになります。つまりcos/sinは２× 円周率（π）の値で１周期になります。<br />
この事を利用すれば簡単に上下運動のようなリピート運動をさせることができます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp81.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp81.png" alt="" title="sp81" width="569" height="165" class="aligncenter size-full wp-image-7363" /></a><br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その９　ランダムな定数</h3>
たまにランダムな定数、ランダムな数値だがフレームた単位で変化しない数値が欲しい時があります。<br />
<br />
適当なスライダ制御に<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//effect(&quot;スライダ制御&quot;)(&quot;スライダ&quot;)</span>
random<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#41;</span></pre></div></div>

<br />
<br />
と打ち込んでおいて<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;">p <span style="color: #339933;">=</span> effect<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ制御&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;スライダ&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">valueAtTime</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
って感じにvalueAtTimeで取り出せば実現できる。valueAtTime()の引数の値で数値を変えることも出来る。<br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>その１０　高度計</h3>
高度計のように目盛りのついたスケールをアニメーションさせる場合、通常なら表示される数値を全てを描いた画像を作成してスクロールさせると思います。<br />
それで殆どの場合大丈夫ですが、高度が決まってない等で画像が作れなくて困る時があります。<br />
<br />
そのために作ったクスプレッションで高度の目盛を自動作成するサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp82.png" class="sb-img" rel="shadowbox[post-7254];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp82.png" alt="" title="sp82" width="447" height="429" class="aligncenter size-full wp-image-7368" /></a><br />
<br />
内容はかなり複雑になっていますので、aepを参照して下さい。今回解説したテクニックの応用になっています。<br />
ポイントは実際に動いているのは目盛り分の100ピクセル(0-99.999)だけで、うまく表示文字を入れ替えているだけです。<br />
後は範囲からはみ出してた表示は不透明度で消しています（いきなり消えるので、デザインによってはマスクで消したほうがいい）<br />
<br />
<!--           ---------------------------------------------------------------------------------------- --><br />
<h3>最後に</h3>
最初は3回位を予定していたこの記事も結局全5回になってしまいました。<br />
本当はもっと細かな説明がしたかったのですが、もうそれだと何回になるかわからなくなったので適当に省いてしまいました。<br />
そのかわりサンプルを細かく作りましたので、この記事を見るよりサンプルのaepを見たほうがいいかもしれません。<br />
<br />
実は夏あたりから仕事の空き時間でシェイプレイヤの勉強をしていてその動作確認用に作ったものが今回のサンプルになります。<br />
僕の場合はモニタ素材（ロボットのコックピットとか司令室のコンソール）を作る事が多く、もっと楽にできないかなぁと始めたのがきっかけです。<br />
実は量的にも質的にも良いサンプルがあったのですが、仕事に使ってしまったのでそれは発表できないのが残念です。<br />
<br />
判らないことや質問がありましたらtwitterかメールしてもらえれば、時間の許す限り応えたいと思ってます。<br />
<br />
それでは:-)<br />
<br />
<br />
<br />
<br />
<br />
<br />
</p>

	タグ : <a href="http://ae-users.com/jp/tag/expression/" title="Expression" rel="tag nofollow">Expression</a>, <a href="http://ae-users.com/jp/tag/program/" title="program" rel="tag nofollow">program</a>, <a href="http://ae-users.com/jp/tag/shape/" title="Shape" rel="tag nofollow">Shape</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-13/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編 (2011/12月/18)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編</a> (20)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-14/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１ (2011/12月/20)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１</a> (14)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-16/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3 (2011/12月/23)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3</a> (12)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-15/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2 (2011/12月/22)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2</a> (9)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2010/01/2d_3d/" title="静止画1枚で奥行表現 (2010/1月/16)">静止画1枚で奥行表現</a> (10)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-17/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3</title>
		<link>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-16/</link>
		<comments>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-16/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 15:43:06 +0000</pubDate>
		<dc:creator>bry-ful</dc:creator>
				<category><![CDATA[TIPS - スクリプト]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[Expression]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[Shape]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=7204</guid>
		<description><![CDATA[
シェイプレイヤとエクスプレッション　中篇3
今回もサンプルの説明です。
前回の等高線地図の作成はほとんどプログラム的なものが無かったですが、今回はシェイプをアニメーションさせる時のエクスプレッションコードの解説がメイン [...]]]></description>
			<content:encoded><![CDATA[<p>
<h3>シェイプレイヤとエクスプレッション　中篇3</h3>
今回もサンプルの説明です。<br />
前回の等高線地図の作成はほとんどプログラム的なものが無かったですが、今回はシェイプをアニメーションさせる時のエクスプレッションコードの解説がメインとなります。<br />
<br />
サンプルのデータは、<a href="http://bit.ly/vY9dVb">ここ</a>からダウンロードできます。<br />
<a href="http://bit.ly/vY9dVb" class="dl">aep_shapeSample.zip</a><br />
内容は前回のものと少し変えてあります。<br />
<br />
<h3>07-円形バー</h3>
円形のバーグラフです。<br />
<br />
実は単純な円グラフなら、楕円形パスのサイズと同じ数値を線の線幅に設定してパスのトリミングを行うだけで実装できます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp68.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp68.png" alt="" title="sp68" width="238" height="229" class="aligncenter size-full wp-image-7245" /></a><a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp541.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp541-650x292.png" alt="" title="sp54" width="650" height="292" class="aligncenter size-large wp-image-7211" /></a><br />
簡単ですが下図のように結構実用的に使えます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp511.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp511.png" alt="" title="sp51" width="412" height="379" class="aligncenter size-full wp-image-7206" /></a><br />
<br />
ただ、もっと細かな部分を作りたかったので作ったのが07-円形バーになります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp521.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp521.png" alt="" title="sp52" width="269" height="144" class="aligncenter size-full wp-image-7207" /></a><a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp531.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp531.png" alt="" title="sp53" width="301" height="271" class="aligncenter size-full wp-image-7208" /></a><br />
<br />
楕円形パスを二つ組み合わせ中マドで太い円周をつくりさらに長方形パスで任意な角度でトリミングできるようにして有ります。<br />
<br />
気楽にやるならパスで切り取ってしまっても楽です（08-カーブバーのサンプルがその方法で作成しています）<br />
<br />
このやり方だと「線」でアウトラインを描画させることが出来ます（最初に紹介した簡単なやり方だとアウトライン描画は結構面倒です）<br />
<br />
肝心の円形バーは「パスのトリミング」でアニメーションさせます。<br />
サンプルでは任意の角度指定が出来るようにstart/endというパラメータを作っていますが、デザイン固有なのでコード内に定数にしてしまってもOKです。<br />
<br />
アニメーション自体はスライダー制御(barValue(%))で行えます。<br />
<br />
この時に使うエクスプレッションの基本形は以下のようになり、「パスのトリミング」のパラメータに設定します。<br />
<br />
<pre class="expression">
par = effect("barValue(%)")("ADBE Slider Control-0001");<br />
parMin = 0; // parの最小値<br />
parMax = 100; // parの最大値<br />
if ( par < parMin) par = parMin; //数値の範囲を限定<br />
else if ( par > parMax ) par = parMax;<br />
<br />
start = 0; // parがparMinの時の数値<br />
end = 100; // parがpatMaxの時の数値<br />
<br />
start +( end - start) * (par - parMin) /(parMax - patMin);<br />
</pre>
<br />
このようなエクスプレッションで注意する点は、必ず数値の範囲を考えてその範囲外の数値が入力された時のエラー処理を入れておく事です。<br />
<br />
<h3>12-デジタルストップウォッチ</h3>
ちょっと順番を変えて数値を画面表示するサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp55.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp55-650x154.png" alt="" title="sp55" width="650" height="154" class="aligncenter size-large wp-image-7216" /></a><br />
数値をアニメーションさせるのは簡単で、適当なスライダー制御を参照するエクスプレッションをテキストレイヤの「ソーステキスト」に適応させるだけです。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp56.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp56-650x378.png" alt="" title="sp56" width="650" height="378" class="aligncenter size-large wp-image-7217" /></a><br />
ただ、数値が少数点を含む場合には文字数がかわるのでアニメーションさせるとみっともないことになってしまいます。<br />
<br />
それの対処ので一番簡単なものは下の例のように小数点を<strong>Math.floor</strong>で削除してしまう事です。<br />
<br />
<pre class="expression">
v = effect("スライダ制御")("ADBE Slider Control-0001");<br />
if (v<0) v=0;<br />
else if ( v>100) v=100;<br />
str = Math.floor(v); // 単純に切り捨てして小数点を削除<br />
str;<br />
</pre>
<br />
表示文字列の頭に０を付けて文字数を固定したい時は以下のようにします。<br />
<pre class="expression">
v = effect("スライダ制御")("ADBE Slider Control-0001");<br />
if (v<0) v=0;<br />
else if ( v>100) v=100;<br />
v = Math.floor(v); // 単純に切り捨てして小数点を削除<br />
str = "";<br />
if ( v <= 0 ) str = "000";<br />
else if ( v < 10 ) str = "00" + v;<br />
else if ( v < 100 ) str = "0" + v;<br />
else str = "" + v;<br />
str;<br />
</pre>
<br />
少数点まで表示したい場合には次のように処理する必要が有ります。下のサンプルでは小数点3桁まで表示の場合です。<br />
<pre class="expression">
v = effect("スライダ制御")("ADBE Slider Control-0001");<br />
if (v<0) v=0;<br />
else if ( v>100) v=100;<br />
v2 = Math.floor(v*1000) % 1000; //小数点3桁までを獲得<br />
//頭に０をつけて桁合わせ<br />
str = "";<br />
if ( v2 <= 0) str = "000";<br />
else if ( v2 < 10) str = "00" + v2;<br />
else if ( v2 < 100) str = "0" + v2;<br />
else  str = "" + v2;<br />
str = Math.floor(v) + "." +str; // 整数部と合成<br />
str;<br />
</pre>
<br />
数値表示の基本は以上のようになります。値がマイナスになる場合はさらにその処理が必要です。<br />
<br />
サンプルの12-デジタルストップウォッチは以上のことをふまえれば特に問題なく理解できると思います。<br />
補足すると数値指定を時分秒と三つに分けてあるのは指定しやすいという目的のほか、スライダー制御が最大3万までしか数値入力できないので仕方なく三つに分けたという意味も有ります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp57.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp57.png" alt="" title="sp57" width="481" height="212" class="aligncenter size-full wp-image-7220" /></a><br />
<br />
サンプルでは総秒数を求めるコードを以下のようにしていますが、<br />
<pre class="expression">
h = thisComp.layer("params").effect("Time(時)")("ADBE Slider Control-0001");<br />
m = thisComp.layer("params").effect("Time(分)")("ADBE Slider Control-0001");<br />
s = thisComp.layer("params").effect("Time(秒)")("ADBE Slider Control-0001");<br />
t = (h *60*60) + (m *60) + s;<br />
</pre>
<br />
不正な数値入力を防ぐ為、以下の範囲チェックを入れた方がベターです。<br />
ただ、秒のパラメータは、アニメーションさせる為に範囲チェックはしない方が楽です。<br />
<pre class="expression">
h = thisComp.layer("params").effect("Time(時)")("ADBE Slider Control-0001");<br />
m = thisComp.layer("params").effect("Time(分)")("ADBE Slider Control-0001");<br />
s = thisComp.layer("params").effect("Time(秒)")("ADBE Slider Control-0001");<br />
if ( h < 0) h=0;<br />
if ( m < 0) m=0;<br />
else if ( m > 60 ) m = 60;<br />
t = (h *60*60) + (m *60) + s;<br />
if ( t < 0 ) t =0;<br />
</pre>
<br />
<h3>09-矢印</h3>
09-矢印は矢印のアニメーションのサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp58.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp58.png" alt="" title="sp58" width="519" height="398" class="aligncenter size-full wp-image-7225" /></a><br />
実は複数のキーフレームのある位置プロパティとパスの情報はほとんど同じなので、相互にコピー＆ペーストが可能です。<br />
<br />
適当に作成したパスを選択肢してコピーした後、位置プロパティを選択してペーストするとパスの頂点分のキーフレームが作成されます。<br />
これを利用すれば簡単にアニメーションが作成できます。<br />
<br />
サンプルでは位置のキーフレームと「パスのトリミング」のキーフレームを調整してアニメーションさせています。<br />
<br />
さらにスライダー制御でアニメーションを制御でしたかったので、<strong>valueAtTime</strong>を使ったサンプルもあります。<br />
ただ、その方法だとトランスフォームの自動方向が適応されないので注意です。まぁ自動方向を使わずに角度を位置と同じように行えば同じことができます。<br />
<br />
<h3>10-シェイプでライン描画</h3>
シェイプに直線を描くパラメトリックパスが無かったので作ったサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp59.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp59.png" alt="" title="sp59" width="451" height="365" class="aligncenter size-full wp-image-7226" /></a><br />
<br />
ダミーのstart/endの長方形の位置で指定された2点間を結ぶ線を描きます。実際の描画はDrawグループ内のLine長方形シェイプでを回転させて行っています。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp67.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp67.png" alt="" title="sp67" width="526" height="440" class="aligncenter size-full wp-image-7242" /></a><br />
まず、2点の位置から中心を計算しそれをLine長方形シェイプの位置にします。<br />
<pre class="expression">
x0 = content("LineDraw").content("start").position[0];<br />
y0 = content("LineDraw").content("start").position[1];<br />
x1 = content("LineDraw").content("end").position[0];<br />
y1 = content("LineDraw").content("end").position[1];<br />
if ( x0>x1) {<br />
tmp = x0; x0 = x1; x1 = tmp;<br />
tmp = y0; y0 = y1; y1 = tmp;<br />
}<br />
xx =x0+(x1-x0)/2;<br />
yy = y0+(y1-y0)/2;<br />
[ xx,yy];<br />
</pre>
<br />
同じように2点の距離を計算してLine長方形シェイプの横サイズ、縦サイズは線の幅になります。このサンプルではstartの横サイズを線の幅としてます。<br />
<pre class="expression">
x0 = content("LineDraw").content("start").position[0];<br />
y0 = content("LineDraw").content("start").position[1];<br />
x1 = content("LineDraw").content("end").position[0];<br />
y1 = content("LineDraw").content("end").position[1];<br />
x =  Math.abs(x0-x1);<br />
y =  Math.abs(y0-y1);<br />
xy = Math.sqrt(Math.pow(x,2) + Math.pow(y,2));<br />
w = content("LineDraw").content("start").size[0];<br />
[xy,w];<br />
</pre>
<br />
後は傾きを求めて完成です。<br />
<pre class="expression">
x0 = content("LineDraw").content("start").position[0];<br />
y0 = content("LineDraw").content("start").position[1];<br />
x1 = content("LineDraw").content("end").position[0];<br />
y1 = content("LineDraw").content("end").position[1];<br />
if ( x0==x1){<br />
90;<br />
}else if ( y0 ==y1) {<br />
0;<br />
}else{<br />
if ( x0>x1) {<br />
tmp = x0; x0 = x1; x1 = tmp;<br />
tmp = y0; y0 = y1; y1 = tmp;<br />
}<br />
xx = x1-x0;<br />
yy = y1-y0;<br />
r = Math.atan(yy/xx)*180/Math.PI;<br />
}<br />
</pre>
<br />
ちょっと三角関数を使っているのでわからないとさっぱりなサンプルですが、僕自身もgoogleさんに聞いて作りました。<br />
<br />
サンプルでは二つのポイント制御にリンクして使えるようにして有ります。このような場合通常のレイヤとシェイプレイヤの座標系の補正をしないといけません。<br />
<br />
<pre class="expression">
x =effect("ポイント制御start")("ポイント")[0] - position[0] + anchorPoint[0];<br />
y =effect("ポイント制御start")("ポイント")[1] - position[1] + anchorPoint[1];<br />
[x,y];<br />
</pre>
この補正でシェイプレイヤを移動させても描画位置が変わらないようになります。<br />
<br />
<h3>11-集中線</h3>
集中線を描くサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp60.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp60-650x359.png" alt="" title="sp60" width="650" height="359" class="aligncenter size-large wp-image-7229" /></a><br />
コンテンツ内を見るとかなり沢山のグループがありますが、<strong>LineA/LineB/LineC</strong>の三つのグループを作って単純に複製しているだけです。<br />
<br />
グループのトランスフォームをエクスプレッションで適当に動かしているだけで、特に難しい事はしていません。<br />
このように複製して使う時はエクスプレッションのリンクを必ずグループの外において破綻しないようにする配慮が必要です。<br />
<br />
<h3>13-時計</h3>
このサンプルはテキストレイヤをシェイプに変換するものです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp61.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp61.png" alt="" title="sp61" width="432" height="428" class="aligncenter size-full wp-image-7230" /></a><br />
テキストレイヤは同じフォントがインストールされている必要があるので、たまにこのようにシェイプに変換する必要があります。またデザインがフィクスして変更する必要が無くなったら、シェイプに変換しておいた方が楽なことも有ります。<br />
<br />
方法は簡単でテキストレイヤを選択した後「<strong>テキストからシェイプを作成</strong>」を実行するだけです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp62.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp62.png" alt="" title="sp62" width="308" height="51" class="aligncenter size-full wp-image-7231" /></a><br />
元のテキストレイヤは非表示になり、新しいシェイプレイヤが作成されます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp63.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp63.png" alt="" title="sp63" width="277" height="267" class="aligncenter size-full wp-image-7232" /></a><br />
出来た1文字単位にグループ分けされてかなり複雑な構成になっていて、位置座標はテキストレイヤのものがそのままで変換されています。その為他のシェイプレイヤに単純にコピー＆ペーストすると位置がずれてしまいます。<br />
<br />
このままだと扱いづらいので、スクリプトを作って対処しようかなとか考えています。<br />
<h3>テキストレイヤのフォントを変える</h3>
テキストレイヤはかなり多くなりがちで、フォントの種類を変更する作業が大変になりがちなのでスクリプトを作って見ました。<br />
<br />
<a href="http://bit.ly/sol5Iq">ここ</a>からダウンロードできます。<br />
<a href="http://bit.ly/sol5Iq" class="dl">font_utils01.zip</a><br />
<br />
◎フォント操作.jsx<br />
これは選択したテキストレイヤのフォント種類を獲得したり設定したりするスクリプトです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp64.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp64.png" alt="" title="sp64" width="226" height="364" class="aligncenter size-full wp-image-7233" /></a><br />
インストールされたフォントの一覧を獲得できなかったので、選択したテキストレイヤの種類を獲得後、それを履歴として記憶するようにして有ります。<br />
<br />
おまけでフォント種類の置換もできるようにして有ります。<br />
フォントの種類はコピー＆ペーストで指定してください。<br />
<br />
◎フォント一括変更.jsx<br />
これは選択したコンポ内のテキストレイヤのフォントの種類を一括変更するものです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp65.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp65.png" alt="" title="sp65" width="230" height="293" class="aligncenter size-full wp-image-7234" /></a><br />
フォントの種類の指定は「フォント操作.jsx」で獲得したフォント名をコピー＆ペーストで指定してください。<br />
全部変更すると困る時がよくあるので、レイヤ名に<strong>%E%</strong>が含まれていた時、<strong>%J%</strong>が含まれていた時のフォントは別の種類のものに変更するようにして有ります。<br />
<br />
<h3>14-方位</h3>
14-方位は応用編です。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp66.png" class="sb-img" rel="shadowbox[post-7204];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp66.png" alt="" title="sp66" width="376" height="381" class="aligncenter size-full wp-image-7237" /></a><br />
これは特に解説しませんので適当に解析してください。<br />
<br />
<h3>続く</h3>
今回でサンプルの説明は終わりです。<br />
次回は、パラメトリックシェイプパスのパラメータの解説とエクスプレッションのTIPSを予定しています。多分最後になるはずです。<br />
<br />
では、<br />
</p>

	タグ : <a href="http://ae-users.com/jp/tag/expression/" title="Expression" rel="tag nofollow">Expression</a>, <a href="http://ae-users.com/jp/tag/program/" title="program" rel="tag nofollow">program</a>, <a href="http://ae-users.com/jp/tag/shape/" title="Shape" rel="tag nofollow">Shape</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-17/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編 (2011/12月/26)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編</a> (8)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-13/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編 (2011/12月/18)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編</a> (20)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-14/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１ (2011/12月/20)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１</a> (14)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-15/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2 (2011/12月/22)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2</a> (9)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2010/01/2d_3d/" title="静止画1枚で奥行表現 (2010/1月/16)">静止画1枚で奥行表現</a> (10)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-16/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2</title>
		<link>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-15/</link>
		<comments>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-15/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 15:18:51 +0000</pubDate>
		<dc:creator>bry-ful</dc:creator>
				<category><![CDATA[TIPS - スクリプト]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[Expression]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[Shape]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=7163</guid>
		<description><![CDATA[
シェイプレイヤとエクスプレッション　中編２　等高線地図
中編2です。今回は等高線地図をシェイプで作る手順を解説します（プログラム入門なのにほとんどプログラムの事はないです）

サンプルのデータは、ここからダウンロードで [...]]]></description>
			<content:encoded><![CDATA[<p>
<h3>シェイプレイヤとエクスプレッション　中編２　等高線地図</h3>
中編2です。今回は等高線地図をシェイプで作る手順を解説します（プログラム入門なのにほとんどプログラムの事はないです）<br />
<br />
サンプルのデータは、<a href="http://bit.ly/s1F0cI">ここ</a>からダウンロードできます。<br />
<a href="http://bit.ly/s1F0cI" class="dl">contourMap_cs4.zip</a><br />
<br />
あとで説明する「マスクをシェイプパスへ.jsx」もアーカイブには含まれています。<br />
<br />
<h3>Step1　地図の元になる画像を作る</h3>
まず、地図の元になるグレー画像を作成します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp41.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp41-650x428.png" alt="" title="sp41" width="650" height="428" class="aligncenter size-large wp-image-7165" /></a><br />
<br />
ここではエフェクトのフラクタルノイズとカラーカーブを使って適当に作ってます。<br />
仕事では僕はこの作業はPhotoshopでレタッチをしながらイメージ通り（指示通り）の形になるようにしてます。このような作業はAfter Effectsでは思い通りに行かないので。<br />
<br />
このサンプルでもあまりにもつまらなかったので山と谷を加えるため、パスで線を引いいて適当にぼかして上に置いています。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp42.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp42-650x417.png" alt="" title="sp42" width="650" height="417" class="aligncenter size-large wp-image-7166" /></a><br />
<br />
本当はもうこれでいいのですが、完成イメージをはっきりさせたいので「ポスタリゼーション」で明度に段差をつけます。今回は１０階調位の等高線を作りたかったので１２にしてます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp43.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp43-650x423.png" alt="" title="sp43" width="650" height="423" class="aligncenter size-large wp-image-7167" /></a><br />
<br />
今までだとの画像に「輪郭線の抽出」をかけてハイお終いってパターンですが、今回はこの画像をシェイプに変換していきす。<br />
再度言いますがこのステップの作業はPhotoshopでやったほうが楽です。<br />
<br />
<h3>Step2 階調を切り出す</h3>
Step.1で作成した画像から「しきい値」を使い、階調分けしたマスクを作成します。<br />
<br />
「しきい値」適当な数値にすると以下のようになります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp44.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp44-650x412.png" alt="" title="sp44" width="650" height="412" class="aligncenter size-large wp-image-7168" /></a><br />
<br />
サンプルでは「OLM smoother」でアンチエイリアス」をかけて「Unmult」でアルファーを作成していますが、実は特にしなくても問題ありません。<br />
<br />
昔同じようなパスを作成するソフトを扱った時、アルファの方がルミナンスキーより精度が高かったので、その記憶があってわざわざサンプルのようなことをしたのですが、後でやってみるとAfterEffectsのオートトレースはアルファーでもルミナンスキーでも精度は同じでした。あとアンチエイリアスかけてなくてジャギジャギでもまぁ綺麗なパスに変換してくれます。<br />
<br />
<h3>Step3 オートトレースでマスクパスへ</h3>
作成したマスクを「オートトレース」でマスクパスへ変換します。<br />
対象レイヤを選択した後、レイヤメニューの「オートトレース」を実行すると以下のダイアログが表示されます。<br />
マスクの状態に合わせてチャンネルを「ルミナンスキー」か「アルファー」を選びます。その他のパラメータはほぼデフォルトで問題ないようです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp54.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp54.png" alt="" title="sp54" width="477" height="361" class="aligncenter size-full wp-image-7195" /></a><br />
<br />
OKを押し実行すると平面レイヤが追加されそこにマスクパスが作成されます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp46.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp46-650x413.png" alt="" title="sp46" width="650" height="413" class="aligncenter size-large wp-image-7169" /></a><br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp47.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp47.png" alt="" title="sp47" width="367" height="203" class="aligncenter size-full wp-image-7170" /></a><br />
<br />
このマスクパスをコピー＆ペーストしてシェイプレイヤへ移動すればいいのですが、そのままだとシェイプレイヤにマスクが作成されてしまいます。まずシェイプレイヤにパスを追加して、それを選択した状態でペーストしないといけません。<br />
<br />
かなり面倒な作業なので、それを一発で行うスクリプトを作りました。前の記事で紹介した「マスクをシェイプパスへ.jsx」です。<br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp48.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp48.png" alt="" title="sp48" width="215" height="537" class="aligncenter size-full wp-image-7171" /></a><br />
<br />
<br />
<br />
まずTargetLayerの項目のそのレイヤを選択してGETボタンを押してオートトレースで作成されたレイヤを登録します。<br />
マスクを移動したいシェイプレイヤをShapeLayerの項目に同じように登録します。<br />
<br />
TargetLayerのテキストエディットは手入力してもダメです。必ずGETボタンで登録してください。本来であればreadonlyな項目にしたかったのですが、表示が崩れてしまったので現在の形になっています。<br />
ShapeLayerの項目が無記入だった場合は新しく作成してそれを勝手に登録します。<br />
<br />
Optionの項目の「作成するグループ名」に適当な名前を入れて「実行」ボタンを押すと、移動がすぐに完了します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp49.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp49-650x420.png" alt="" title="sp49" width="650" height="420" class="aligncenter size-large wp-image-7175" /></a><br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp50.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp50.png" alt="" title="sp50" width="345" height="188" class="aligncenter size-full wp-image-7176" /></a><br />
<br />
マスクの移動だけでなく「塗り」と「線」も同時に追加されます。<br />
<br />
<h3>Step4 色をつける</h3>
Step.2とStep.3の手順を元画像の階調分繰り返しすれば完成ですが、「塗り」と「線」の色をいちいち全て打ち込んでいくのが面倒だったのでこれもスクリプトで何とかしてます。<br />
<br />
Step3で作られたマスクの入っている「グループ」を１個だけ選択して「Expression設定」のボタンを押します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp51.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp51.png" alt="" title="sp51" width="424" height="268" class="aligncenter size-full wp-image-7177" /></a><br />
<br />
上の図のようにエクスプレッション制御エフェクトが追加されます。これはグループ内の線と塗りとエクスプレッションでリンクされています。<br />
他のグループで実行しても「線」の色と幅は必ず一つのカラー制御にリンクされるようにしています。<br />
<br />
これでかなり色の設定が楽になった筈です。<br />
<br />
サンプルではこれに追加して「sampleColor」というカラー制御を追加して更に楽に色決めが出来るように工夫しています。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp52.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp52-650x181.png" alt="" title="sp52" width="650" height="181" class="aligncenter size-large wp-image-7178" /></a><br />
<br />
サンプルカラーの1K目と13K目と25K目にキーを打ち適当な色を指定しておきます。(24fpsでスタートフレームを1とした場合)<br />
各グループの色にエクスプレッションでリンクを張りその時<strong>valueAtIme</strong>で好きな箇所(時間)の色をサンプリングしています。<br />
このようにすれば「sampleColor」で3個の色を設定するだけで全部の色の指定ができます。雰囲気的には「トライトーン」と同じ感じになります。<br />
<br />
完成するとこんな感じになります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp53.png" class="sb-img" rel="shadowbox[post-7163];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp53-650x385.png" alt="" title="sp53" width="650" height="385" class="aligncenter size-large wp-image-7187" /></a><br />
<br />
<h3>シェイプで地図を作るメリット</h3>
最後にシェイプで地図を作るメリットですが、ひとえに使い回しが簡単に出来るってことです。<br />
拡大しても絵が荒れませんし、サンプルの「完成_TUを付けてみた」コンポをプレビューしてみると分かるのですが、拡大にあわせて線の太さをエクスプレッションで補正する事が可能になるので今までと変わった表現も出来ます。<br />
<br />
GoogleMapみたいに拡大してくと同時に情報がどんどん増えていく描写とかも出来ます。<br />
<br />
<br />
<br />
<h3>続く</h3>
以上が等高線地図をシェイプで作る手順です。<br />
実はそんな大したことやってるわけで無いのですが、説明するだけでも大変ですな。本当はスクリプトの内部の解説までしたかったのですがちょっとわかりづらくなると判断して地図の作成手順だけにしました。<br />
<br />
プログラム入門してませんね^^;<br />
<br />
まぁ気楽なシリーズなのでこんな回もあっていいかなぁとか思ってます。<br />
<br />
シェイプとエクスプレッションははまだまだ続きます。<br />
<br />
<br />
<br />
<br />
<br />
</p>

	タグ : <a href="http://ae-users.com/jp/tag/expression/" title="Expression" rel="tag nofollow">Expression</a>, <a href="http://ae-users.com/jp/tag/program/" title="program" rel="tag nofollow">program</a>, <a href="http://ae-users.com/jp/tag/shape/" title="Shape" rel="tag nofollow">Shape</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-17/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編 (2011/12月/26)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編</a> (8)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-13/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編 (2011/12月/18)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編</a> (20)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-14/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１ (2011/12月/20)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１</a> (14)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-16/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3 (2011/12月/23)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3</a> (12)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2010/01/2d_3d/" title="静止画1枚で奥行表現 (2010/1月/16)">静止画1枚で奥行表現</a> (10)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-15/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１</title>
		<link>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-14/</link>
		<comments>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-14/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 18:35:05 +0000</pubDate>
		<dc:creator>bry-ful</dc:creator>
				<category><![CDATA[TIPS - スクリプト]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[Expression]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[Shape]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=7101</guid>
		<description><![CDATA[
シェイプレイヤとエクスプレッション　中編１
中編１です。
今回はサンプルをちょっとしたTIPSを交えながら説明して行きます。

サンプルのダウンロードはここから出来ます。
]]></description>
			<content:encoded><![CDATA[<p>
<h3>シェイプレイヤとエクスプレッション　中編１</h3>
中編１です。<br />
今回はサンプルをちょっとしたTIPSを交えながら説明して行きます。<br />
<br />
サンプルのダウンロードは<a href="http://bit.ly/vY9dVb">ここ</a>から出来ます。<br />
<a href="http://bit.ly/vY9dVb"" class="dl">/aep_shapeSample.zip</a><br />
前編の時よりすこしバージョンアップしています（大きな変更ではないです）<br />
<br />
説明の前にシェイプレイヤを扱う時の注意点を。<br />
まぁ、注意と言うか通常のレイヤと扱いが違うので、作り始める前に心の片隅に入れておけばいい事です。時と場合によっては無視しないと行けないこともありますが。<br />
<br />
<ul>
<li>コラップスをONをデフォルト状態と考えておく（ネストするコンポジション全てで）</li>
<li>エフェクトプラグインは使わない。</li>
<li>エクスプレッション制御エフェクトは必ずunenabledにする</li>
<li>コンポジションのネストをする時は3Dレイヤの扱いに注意</li>
<li>画像サイズの範囲外に注意</li>
<li>レイヤの合成モードに注意</li>
</ul>
<br />
以上のことは簡単に言うと「コラップス」を使う場合の注意になります。<br />
シェイプレイヤは特性上「コラップス」をONにしておかないと勿体無いです。コラップスがOnじゃないと拡大しても画像が荒れないって特性を有効にできませんので。<br />
これは使うコンポジション全てのレイヤで言えることです。<br />
<br />
その他の項目は全てコラップスONの状態で発生する制約となります。<br />
<br />
例えば、エフェクトプラグインのほとんどとシェイプレイヤの座標系の違いにより、コラップスONの状態では変な描画になってしまいます。そのコンポジションでは大丈夫でもネスト先のコンポではダメってパターンになりがちです。どうしてもエフェクトプラグインを使いたい場合は、次のコンポではコラップスをOFFにする必要があります。<br />
<br />
まぁ、解像度さえ足りていればなんとかなりますが、シェイプレイヤはシェイプだけで構成されているとコラップスONの時は最適化されてメモリの消費をかなり少なくできますが、エフェクトプラグインを間に入れると、そこで画像の描画が行われてしまい予想外にメモリを消費してしまう危険性があります（つまり描画速度が遅くなる）<br />
あと、見落としがちですがエクスプレッション制御エフェクトは何もしないエフェクトですが、立派にメモリを消費します。unenabledにしておいてもその役目は十分に果たせるのでunenabledにしておきましょう。<br />
<br />
3DレイヤはコラップスがONの状態ではカメラの位置が描画するコンポのカメラとなります。<br />
3Dレイヤとしてレイヤをアニメーションさせたコンポを次のコンポに入れて、そのレイヤのコラップスをONにするとカメラはそのコンポのカメラが使われてしまいます。<br />
画像サイズが待ったい同じで同じカメラが使われていると大丈夫ですが、サイズが違う・カメラが違うと、あれ？って状態になります。これはなかなか気が付かなくてハマるトラブルです。<br />
<br />
また、コンポの画像サイズの外に絵があってそのコンポでは見えない状態でも、次のコンポでコラップスONにしておくと位置をずらせばその絵が見えてきます。<br />
合成モードも「ステンシルアルファ」等を使うと次のコンポでも有効になってしまってはまります。<br />
<br />
<strong>結論を言うとコラップスの特性を把握して使わないとハマります。</strong><br />
<hr /><br />
おまけでエクスプレッションを使う時の注意も。<br />
<ul>
<li>多用しない</li>
<li>エクスプレッション制御エフェクトは必ずunenabledにする</li>
<li>なるべく名前依存しないコードにする</li>
<li>プロパティ名は出来るだけmatchNameを使う。indexはよりGOOD</li>
<li>プロパティベースは絶対にユニークな名前に変更しておく</li>
<li>エラーチェックを忘れずに行う</li>
<li>簡単なコメントを入れる。しかし、長くしない。</li>
<li>コードはなるべく短く。</li>
</ul>
<br />
<h3>00-三角アイコン</h3>
作成前の注意（というか心構え）が意外に長くなってしまいましたが、最初のサンプルの説明です。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp21.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp21.png" alt="" title="sp21" width="468" height="368" class="aligncenter size-full wp-image-7103" /></a><br />
<br />
角がとれた三角アイコンです。これは「パスの結合」の「交差」を使った簡単なサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp22.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp22.png" alt="" title="sp22" width="388" height="273" class="aligncenter size-full wp-image-7104" /></a><br />
三角形パスを２つ作り片方を180度回転させて少し大きくし「パスの結合」で「交差」させただけです。昔はこれだけでも一苦労してましたが、作るのは一瞬です。<br />
<br />
<h3>01-Grid</h3>
エフェクトプラグインでも同じものがありますがグリッドをシェイプで作ったサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp23.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp23.png" alt="" title="sp23" width="246" height="159" class="aligncenter size-full wp-image-7107" /></a><br />
長方形パスで線を作成し、リピータで複製しています。<br />
分かりやすいように水平と垂直と分けてあり、エクスプレッション制御でグリッドの大きさを指定できるようになっています。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp24.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp24-650x286.png" alt="" title="sp24" width="650" height="286" class="aligncenter size-large wp-image-7108" /></a><br />
<br />
線だけでなくパスなら「リピータ」を2つ使えば画面いっぱいにパターン塗りつぶしができます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp25.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp25.png" alt="" title="sp25" width="297" height="188" class="aligncenter size-full wp-image-7109" /></a><br />
これは1個の☓印を作ってパターンにしたものです。プロジェクトファイルを見てもらえれば、簡単にわかると思います。不必要にシェイプのサイズが大きくならないように深いグループ分けを行いリピータを3回に分けて敷き詰めていますが、やっていることは同じです。<br />
<br />
この程度のグリッドならエフェクトかIllustratorで作ってもいいと考えがちですが、拡大した時その値に合わせて線の太をを調整できるようになるのでかなり表現方法が変わります。<br />
<br />
<h3>02-スケール・03-スケールB</h3>
今度はスケール（ものさし、定規）を作るサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp26.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp26.png" alt="" title="sp26" width="446" height="75" class="aligncenter size-full wp-image-7114" /></a><br />
<br />
方法は2つで、直線パスに「線」属性の「破線」を使う方法と、「リピータ」を使う方法です。スケールのようなデザインは、ほとんど動かす事が無いので僕はほとんど「破線」を使ったやり方を使ってます。<br />
リピータを使ったやり方は、01-Griｄとほぼ同じなので省略します。<br />
<br />
直線パスはシェイプツールで作成するか前編で紹介したスクリプトで作成します。<br />
そのパスに「線」属性を追加すると以下の図のようになります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp27.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp27.png" alt="" title="sp27" width="408" height="176" class="aligncenter size-full wp-image-7115" /></a><br />
デフォルトでは本当にただの線ですが、破線の横のプラスボタンを押すと「線分」と「オフセット」が、更にもう一回押すと「間隔」プロパティが追加されます。<br />
そうすると線が破線に変わります。この状態で「線幅」「線分」「間隔」を調整してスケールを作成します。<br />
<br />
ただ注意点として実際の「線の間隔」は「線分」と「間隔」を足したものになります。ちょっと調整するときにパラメータを2つ調整しなければいけません。<br />
これはちょっと面倒なのでエクスプレッションでちょっと工夫をします。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp28.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp28-650x73.png" alt="" title="sp28" width="650" height="73" class="aligncenter size-large wp-image-7116" /></a><br />
<br />
上の図のように「間隔」にエクスプレッションを追加して「線分」を変えても「線の間隔」を変わらないようにします。<br />
「間隔」プロパティをエクスプレッションで「線の間隔」というパラメータに変えてしまうのです。別にエクスプレッション制御エフェクトを追加しなくても既存のプロパティの意味を無理やり変えることも可能です。<br />
デザインが決まったら、その数値（赤く表示されている数値）を入力してエクスプレッションを削除しても構いません。<br />
<br />
ちなみに「オフセット」でスケールの移動アニメーションが可能です。<br />
リアルな定規のように片方を直線で揃えたいときは、直線パスの場合ではパスの位置を修正する必要があります。「パスのオフセット」を使えば簡単に出来ますが、僕は自作スクリプトでパス自体の位置を変えることが多いです。<br />
<br />
<h3>03-円形スケールA</h3>
ここ当たりからちょっと難しくなっていきます。<br />
円形スケールとは簡単にいえば「メーター」とか「時計」です。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp29.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp29.png" alt="" title="sp29" width="421" height="350" class="aligncenter size-full wp-image-7129" /></a><br />
これはguponさんの記事の「<a href="http://ae-users.com/jp/resources/2009/05/%E3%82%B7%E3%82%A7%E3%82%A4%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%81%A7%E4%BD%9C%E3%82%8B%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%82%E3%81%A9%E3%81%8D/">シェイプレイヤーで作るメーターもどき</a>」と全く同じものです（とうか、その記事見て作りました）<br />
これはかなり使う頻度が高いので詳しく説明します。<br />
<br />
これも02-スケールAと同じ「線」の破線を使っています。ただ、直線と違い円周の長さを計算で求めなければいけません。<br />
円周の長さは、円の半径×２×円周率で求められます。具体的には以下のコードになります。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp30.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp30-650x135.png" alt="" title="sp30" width="650" height="135" class="aligncenter size-large wp-image-7132" /></a><br />
<br />
<pre class="expression">
//間隔の数値をグリッドの数に<br />
v = content("円形スケール").content("線 1").dash.gap;<br />
r = Math.PI *content("円形スケール").content("楕円形パス 1").size[0];<br />
r /= v;<br />
r -= content("円形スケール").content("線 1").dash.dash;<br />
</pre>
<br />
まず、間隔の数値をスケールの数とする為に変数に代入し、楕円形のパラメータは半径ではなく直径になるので、単純に円周率と掛け算をして円周を求めています。<br />
円周をスケールの数で割って線の間隔を求め、それから線分を引いて実際の間隔の数値を求めています。<br />
<br />
あとこの例では省略していますが、12時の方向の線がスタート位置の関係上右にずれているので、デザインによっては「オフセット」で線分の量だけ修正する必要があります。<br />
<br />
この方法を知るまでは、IllustratorとAfterEffectsの間を行ったり来たりしてたので、かなり作業が楽になりました。guponさんに感謝です。<br />
<br />
ただ、破線を使った方法だと、線の長さ（この場合は線幅のこと）が長くなると線が直線ではなく扇形になってしまうので、その対処の方法を下に説明します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp31.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp31.png" alt="" title="sp31" width="185" height="176" class="aligncenter size-full wp-image-7139" /></a><br />
<br />
<h3>04-円形スケールB</h3>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp32.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp32.png" alt="" title="sp32" width="476" height="434" class="aligncenter size-full wp-image-7140" /></a><br />
<br />
上の例で扇状になってしまうのは破線の特性なので「線」では修正する方法がありません。なのでリピータを使って円形サークルを作ることで回避します。<br />
<br />
以下のスライダー制御を追加します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp34.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp34.png" alt="" title="sp34" width="409" height="183" class="aligncenter size-full wp-image-7142" /></a><br />
startは開始半径、endは終了半径、lineWidthは線の太さ、countはスケールの数になります。<br />
<br />
長方形パスを作成して以下のエクスプレッションを追加します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp33.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp33-650x430.png" alt="" title="sp33" width="650" height="430" class="aligncenter size-large wp-image-7141" /></a><br />
<br />
リピータの回転で複製しているので、長方形パスの位置を上に補正してうまく回転するようにしています。<br />
サイズでMath.absとあるのは大きさの絶対値として開始半径のほうが終了半径より大きい時の対処にしています。<br />
この方法だと破線と違って12時の方向の線の修正は必要が無いです。<br />
<br />
この方法だとかなり正確に配置できますが、面倒です^^;<br />
<br />
<h3>06-水平パー</h3>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp35.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp35.png" alt="" title="sp35" width="430" height="102" class="aligncenter size-full wp-image-7147" /></a><br />
<br />
これはよくある水平グラフバーで、水平パスをパスのトリミングでアニメーションさせるサンプルです。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp36.png" class="sb-img" rel="shadowbox[post-7101];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp36-650x252.png" alt="" title="sp36" width="650" height="252" class="aligncenter size-large wp-image-7148" /></a><br />
<br />
「パスのトリミング」のサンプルですが、長方形パスをサイズと位置でアニメーションさせても全く同じことができます。<br />
垂直パスも同じ要領で可能です。<br />
<br />
<h3>さらにつづく</h3>
今日いきなり時間が開いたので簡単なところから解説してみました。<br />
この調子だと後3回くらい続きそうです。今年いっぱいには終わらせたいのです。<br />
このあとサンプルからどんどん複雑になっていき端折って説明しづらくなっていきますのでちょっと不安です。<br />
<br />
分からない事とかありましたら、twitterかメールで連絡して下さい。<br />
<br />
それでは！<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</p>

	タグ : <a href="http://ae-users.com/jp/tag/expression/" title="Expression" rel="tag nofollow">Expression</a>, <a href="http://ae-users.com/jp/tag/program/" title="program" rel="tag nofollow">program</a>, <a href="http://ae-users.com/jp/tag/shape/" title="Shape" rel="tag nofollow">Shape</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-17/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編 (2011/12月/26)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編</a> (8)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-13/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編 (2011/12月/18)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編</a> (20)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-16/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3 (2011/12月/23)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3</a> (12)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-15/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2 (2011/12月/22)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2</a> (9)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2010/01/2d_3d/" title="静止画1枚で奥行表現 (2010/1月/16)">静止画1枚で奥行表現</a> (10)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-14/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション前編</title>
		<link>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-13/</link>
		<comments>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-13/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 14:37:29 +0000</pubDate>
		<dc:creator>bry-ful</dc:creator>
				<category><![CDATA[TIPS - スクリプト]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[Expression]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[Shape]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=6989</guid>
		<description><![CDATA[
シェイプレイヤとエクスプレッション　前編
今回のテーマは「シェイプレイヤ」とそれを楽に扱う為の「エクスプレッション」についてです。

仕事でモニタ画面素材（ロボットのコックピット・司令室のコンソール等）を作る時は。今ま [...]]]></description>
			<content:encoded><![CDATA[<p>
<h3>シェイプレイヤとエクスプレッション　前編</h3>
今回のテーマは「<strong>シェイプレイヤ</strong>」とそれを楽に扱う為の「<strong>エクスプレッション</strong>」についてです。<br />
<br />
仕事でモニタ画面素材（ロボットのコックピット・司令室のコンソール等）を作る時は。今まで<strong>Photoshop</strong>でデザイン、必要があれば<strong>Illustrator</strong>でパーツを作成って方法でした。気まぐれに「<strong>シェイプレイヤ</strong>」を使ってみたら予想外に楽だったので本格的に移行してみました。<br />
<br />
AfterEffectsだけで作業が完結できるのが嬉しいです。また、aepファイル以外の素材を使わないので、昔のデータを引き出す時に良くあるデータのリンク切れとか無いのでかなり気が楽です。<br />
<br />
ただシェイプ絡みのUIはあまり洗練されてなくて慣れないとかなり苦労します。その為「<strong>エクスプレッション</strong>」の使用は必至になります。この記事は<strong>シェイプレイヤ</strong>を便利に使う為の<strong>エクスプレッショ</strong>ン（後スクリプト）の紹介がメインになります。<br />
<br />
とりあえず、前編でシェイプレイヤとエクスプレッションの基本的な知識と、後編で具体的な作例で解説をしたいと考えています(予定は未定^^;)<br />
<br />
今回の記事のターゲットになるAfter EffectsのバージョンはCS4になります。CS3/CS5/CS5.5では多少違った動きになると思いますので注意してください。<br />
<br />
あと、AEPProjectにもシェイプを使った作例がありますので一読をお勧めします。<br />
特に「<a href="http://ae-users.com/jp/resources/2009/05/%E3%82%B7%E3%82%A7%E3%82%A4%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%81%A7%E4%BD%9C%E3%82%8B%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%82%E3%81%A9%E3%81%8D/">シェイプレイヤーで作るメーターもどき</a>」はお勧めです。<br />
<br />
<br />
<h3>シェイプのメリット・デメリット</h3>
シェイプを使うメリットには以下4点あります。<br />
<br />
<ul>
<li>After Effectsだけで作成できる。</li>
<li>aep以外に保存ファイルがない</li>
<li>コラップスと組み合わせてるといくら拡大しても画像が荒れない。</li>
<li>プロパティとしてパラメータを管理できるので、アニメーションが簡単にできる。</li>
</ul>
<strong>Illustrator</strong>で作成したデータも同じように画像の荒れを気にせず拡大できますが、アニメーションはほとんどできませんし、別にaiファイルを用意する必要もあります。<br />
<br />
ただデメリットとして以下のものがあります。<br />
<ul>
<li>ベジェパスのアニメーションができない（パスのトリミングでのみ可能)</li>
<li>複雑な形が作成できない（複雑な形はIllustratorの方が楽)</li>
<li>パラメータが複雑になりがちで扱いづらい。</li>
</ul>
複雑な形はIllustratorの方が圧倒的に楽なので、シェイプは簡単な形のものを楽にアニメーションさせたい時に使うのが一番メリットがあると言えます。<br />
そのため、モニタ画面素材（ロボットのコックピット・司令室のコンソール等）作成にはかなり役に立ちます。<br />
<br />
<h3>シェイプレイヤの基本　パラメトリックとベジェ</h3>
「<strong>シェイプレイヤ</strong>」の基本概要はここではあまり説明しませんので、<a href="http://help.adobe.com/ja_JP/AfterEffects/9.0/WS49C4F119-DE6F-48c3-B5B6-9A2D203D56E8a.html">After Effectsのヘルプ</a>をよく読みましょう。<br />
<br />
重要な事は、シェイプレイヤには<strong>パラメトリックシェイプパス</strong>と<strong>ベジェシェイプパス</strong>と２種類あり、それぞれ扱いがぜんぜん違うことです。<br />
<br />
<dl>
<dh><strong>ベジェシェイプパス</strong></dh><br />
<dd><strong>ベジェシェイプパス</strong>は通常のレイヤの<strong>マスクパス</strong>と同じものです。スクリプト的に言えば一つのプロパティに一つの<strong>Shape object</strong>を収納したものになります。<br />
<br />
</dd>
<dh><strong>パラメトリックシェイプパス</strong></dh><br />
<dd><strong>パラメトリックシェイプパス</strong>は、<strong>Shape object</strong>では無く複数のパラメータで構成された描画の<strong>パーツ</strong>（<strong>シェイプ</strong>）で、「<strong>長方形</strong>」「<strong>楕円形</strong>」「<strong>多角形</strong>」の３種類有ります。<br />
<br />
</dd>
</dl>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh01.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh01.png" alt="" title="sh01" width="241" height="378" class="aligncenter size-full wp-image-7003" /></a><br />
<br />
シェイプレイヤは三つのパラメトリックシェイプパスとベジェシェイプパスの組み合わせで形を作ります。パラメトリックシェイプパスが単純なものしかないですが、大抵のものはこれで事足ります（個人的には「直線」があれば文句無いのですが）<br />
<br />
シェイプは「パスの結合」で組み合わせ、「塗り」「線」と言った属性を追加することで、画面に描画させます。<br />
<br />
その他にシェイプを変形したりする属性も有りますが、「リピータ」「パスのトリミング」位しか僕は使っていません。<br />
<br />
<br />
「<strong>パラメトリックシェイプパス</strong>」の最大の特徴は、パラメータによって形を指定できるので、キーフレームで自由に変形が可能です。ただ複数のシェイプを組み合わせていると扱うパラメータがかなり多くなってしまうので「<strong>エクスプレッション</strong>」の併用が必至になります。<br />
<br />
「<strong>ベジェシェイプパス</strong>」はかなり自由に形を作れますが、パラメータが無いのでアニメーションがかなり面倒です。さらに悲しいことにエクスプレッションでパスを直接操作できないので、動かない形を作ることにしかあまり使えませんです。<br />
<br />
<br />
<h3>シェイプレイヤの基本　パスを結合</h3>
シェイプパスは単独では本当に基本的で単純な形しかありません。<br />
複雑な形を作るには複数のパラメトリックシェイプパス・ベジェシェイプパスを組み合わせて実現します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh02.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh02.png" alt="" title="sh02" width="287" height="101" class="aligncenter size-full wp-image-7006" /></a><br />
<br />
複数のシェイプパスがあった場合は単純に「<strong>追加</strong>」されます。<br />
属性に「<strong>パスを結合</strong>」を追加すると「<strong>追加</strong>」意外に以下の組み合わせ方が指定できます。<br />
<br />
<table border ="1">
<tr><td width ="60">結合</td><td>すべての入力パスが 1 つの合成パスに結合されます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/14471f3accbf5d85655fe5f4c447dd30.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/14471f3accbf5d85655fe5f4c447dd30.png" alt="" title="ｋ_01" width="300" height="200" class="aligncenter size-full wp-image-7012" /></a><br />
</td></tr>
<tr><td>追加</td><td>入力パスの領域をすべて含むパスが作成されます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/07dd8f124dcf4df3e21ec38c7fa6a69b.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/07dd8f124dcf4df3e21ec38c7fa6a69b.png" alt="" title="ｋ_02" width="300" height="200" class="aligncenter size-full wp-image-7015" /></a><br />
</td></tr>
<tr><td>型抜き</td><td>一番上のパスの領域から、それより下のパスの領域を除いた領域のみを持つパスが作成されます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/dc6d9b9ca5ebfa0424f88ad8a6380e40.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/dc6d9b9ca5ebfa0424f88ad8a6380e40.png" alt="" title="ｋ_03" width="300" height="200" class="aligncenter size-full wp-image-7016" /></a><br />
</td></tr>
<tr><td>交差</td><td>すべての入力パスが交差する部分の領域のみを持つパスが作成されます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/1f47c909acfaed106a67d61826c074e6.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/1f47c909acfaed106a67d61826c074e6.png" alt="" title="ｋ_04" width="300" height="200" class="aligncenter size-full wp-image-7017" /></a><br />
</td></tr>
<tr><td>中マド</td><td>すべての入力パスによって定義される領域の集合体から、すべての入力パスの交差として定義される領域を除いた領域のパスが作成されます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/df829c438cbbad2c9148401a19a186c6.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/df829c438cbbad2c9148401a19a186c6.png" alt="" title="ｋ_05" width="300" height="200" class="aligncenter size-full wp-image-7018" /></a><br />
</td></tr>
</table>
上の動作はIllustratorのパスファインダの形状モードとほぼ同じ動作となり、複数の「パスを結合」を組み合わせることも出来ます。<br />
複数の「パスを結合」を組み合わせる場合、その順番が重要な意味合いを持ちます。これはここで説明するより実際にやってみた方がわかりやすいと思います。<br />
<br />
後編の記事で具体的なサンプルで説明します。<br />
<br />
<h3>シェイプレイヤの基本　グループ</h3>
After Effectsのシェイプで一番重要な属性として「<strong>グループ</strong>」があります。<br />
「<strong>グループ</strong>」は単純に表示をまとめる機能だけでなく、独自な<strong>トランスフォーム</strong>を追加できます。Photoshopでいうとグループというよりリンクといえる機能です。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh04.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh04.png" alt="" title="sh04" width="406" height="412" class="aligncenter size-full wp-image-7026" /></a><br />
<br />
シェイプでのデザインでトランスフォーム関係のパラメータを使えることはかなり便利です。例えば適当な形を作ってあったとすると、単純に[-100,100]とスケールを設定すると簡単に左右反転させることができます。<br />
<br />
とりあえずシェイプを作る時は必ずグループを作成してその中に入れておく癖を付けておくと後々扱いが楽になります。<br />
また、ctrl+Gショートカットで選択したプロパティをグループに出来ますので覚えておくと便利です。<br />
<br />
<h3>シェイプレイヤの基本　ベジェシェイプパスとマスクパスとShape object</h3>
<strong>ベジェシェイプパス</strong>と<strong>マスクパス</strong>は、スクリプトでいう<strong>Shape objec</strong>tそのものになります。<br />
<br />
ここで簡単に<strong>Shape object</strong>の説明をしますが、残念なことにExpressionからでは<strong>Shape object</strong>は扱えません（CS5以後は未確認です)<br />
<strong>Shape object</strong>は、パス座標を扱う為のオブジェクトになります。以下のプロパティを持ちます。<br />
<br />
<table border ="1">
<tr><th>プロパティ名</th><th>型(Type)</th><th>内容</th></tr>
<tr><td>closed</td><td>Boolean<td>パスの始点と終点を繋ぐかどうか</td></tr>
<tr><td>vertics</td><td>point of Array</td><td>パスの頂点を収納する配列。位置座標なので2次元配列になる。<br /><br />
以下の例は四角形の頂点座標になります。<br />
[ [0,0],[100,0],[100,100],[0,100] ]<br />
</td></tr>
<tr><td>inTangents</td><td>point of Array</td><td>パスはベジェ曲線でいうin点を収納する配列です。<br />
値は、verticsの各頂点を基準とする相対座標になります。<br />
もし直線ならば値は [ [0,0], [0,0], &#8230;]になります。<br />
</td></tr>
<tr><td>outTangents</td><td>point of Array</td><td>これもベジェ曲線でいうout点を収納する配列です。</td></tr>
</table>
<br />
新しい<strong>Shape object</strong>を作るスクリプトは以下のようになります。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> myShape <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Shape<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
myShape.<span style="color: #660066;">vertices</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
myShape.<span style="color: #660066;">closed</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span></pre></div></div>

<br />
<br />
既存のShape objectを扱う時の注意はプロパティを読み出しは特に問題無いのですが、個別にプロパティを設定しようとすると失敗する場合があります。<br />
なんかおかしな挙動でかなりはまるポイントです。<br />
<br />
下のサンプルを見てください。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="expression" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> sp <span style="color: #339933;">=</span> sLyr.<span style="color: #660066;">property</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ADBE Root Vectors Group&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">property</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;パス 1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">property</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ADBE Vector Shape&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//---------</span>
<span style="color: #003366; font-weight: bold;">var</span> p <span style="color: #339933;">=</span> sp.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
p.<span style="color: #660066;">vertics</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//反映されない。</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//---------</span>
<span style="color: #003366; font-weight: bold;">var</span> p <span style="color: #339933;">=</span> sp.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
p.<span style="color: #660066;">vertics</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
sp.<span style="color: #660066;">setValue</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// これだと反映されたり、されなかったりする。</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//---------</span>
<span style="color: #003366; font-weight: bold;">var</span> myShape <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Shape<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
myShape.<span style="color: #660066;">vertices</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
myShape.<span style="color: #660066;">closed</span> <span style="color: #339933;">=</span> sp.<span style="color: #660066;">closed</span><span style="color: #339933;">;</span>
myShape.<span style="color: #660066;">inTangents</span> <span style="color: #339933;">=</span> sp.<span style="color: #660066;">inTangents</span><span style="color: #339933;">;</span>
myShape.<span style="color: #660066;">outTangents</span> <span style="color: #339933;">=</span> sp.<span style="color: #660066;">outTangents</span><span style="color: #339933;">;</span>
&nbsp;
sp.<span style="color: #660066;">setValue</span><span style="color: #009900;">&#40;</span> myShape<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// これは確実に反映される。</span></pre></div></div>

<br />
<br />
このようにスクリプトでShapeを扱う時は、新しくShape objectを作成した後に値を設定し、そのObjectごと上書きするした方が安全です。<br />
<hr /><br />
ベジェシェイプパスとマスクパスは同じShape objectでコーティング的な扱いは全く同じですが、座標系が異なります。<br />
<br />
マスクパスはコンポの座標と同じで左上が基点([0,0])になりますが、ベジェシェイプパスは、コンポの中心が基点([0,0])になります。<br />
コピー＆ペーストするとAfter Effectsが自動的に座標変換してくれますが、スクリプトでマスクパスとベジェシェイプパスを扱うときは座標の変換を自前で行う必要が有ります。<br />
<br />
座標の変換自体は簡単で、画像の大きさの半分の値をXY事に加算・減算するだけです。<br />
<br />
<h3>シェイプレイヤの基本　パスのトリミング</h3>
パスに「パスのトリミング」属性を追加するとパスの切り取りが出来ます。ベジェパスの曲線なら簡単にアニメーションを行えます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sp_tri.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sp_tri.png" alt="" title="sp_tri" width="360" height="540" class="aligncenter size-full wp-image-7037" /></a><br />
<br />
「パスのトリミング」は試してみると分かるのですが、その他のシェイプだとどんな基準で切り取られるのかがさっぱり分からないと思います。<br />
実は「パスのトリミング」は、上のコラムで説明した<strong>vertices</strong>配列を基準とした属性になります。パラメトリックシェイプパスの場合や「パスの結合」を行った後は、内部で<strong>vertices</strong>配列が作成されそれが基準となります。その事がわかれば法則性がなんとなくわかります。<br />
<br />
パスの右側にあるスイッチは、内部で作成される<strong>vertices</strong>配列の順番を正順、逆順に切り替えるものになります。<br />
なので、「パスのトリミング」の方向はこのスイッチで切り替えることができます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh05.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh05.png" alt="" title="sh05" width="318" height="170" class="aligncenter size-full wp-image-7029" /></a><br />
<br />
<h3>シェイプレイヤの基本　リピータ</h3>
<strong>リピータ</strong>属性は簡単にパスを複製できるものです。<br />
<strong>リピータ</strong>を追加するとそのパラメータ内にトランスフォームが追加されその値でパスを複製することができます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh06.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh06.png" alt="" title="sh06" width="421" height="226" class="aligncenter size-full wp-image-7034" /></a><br />
<br />
とりあえず、コピー数を１、オフセットを１に設定し、下のトランスフォームの値を操作すればだいたい分かると思います。<br />
位置のXで横方向のズラす量Yで縦方向にすらす量になります。<br />
<br />
<h3>エクスプレッションの概要</h3>
<strong>エクスプレッション</strong>(Expression)はかなり昔からAfter Effectsに搭載されていますが、わかる人にはわかるけどわからない人にはチンプンカンって機能です。<br />
<br />
<a href="http://help.adobe.com/ja_JP/AfterEffects/9.0/WS3878526689cb91655866c1103906c6dea-7a24a.html">エクスプレッション</a>とは何でしょうか？<br />
<br />
よく見かけるサンプルではトリッキーな画面や動きを実現する為に使用しているのが多いのでその為の機能と誤解されがちですが、実際は単純で「<strong>新しいパラメータ</strong>」を作る為の機能で、「<strong>既存のパラメータ</strong>」に対して読み書きを行う仕組みを実装したのです。<br />
<br />
一番単純なのは下の例です。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh03.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh03.png" alt="" title="sh03" width="523" height="155" class="aligncenter size-full wp-image-7023" /></a><br />
<br />
二つのレイヤの不透明度をエクスプレッションで同期させています。上の不透明度のパラメータを加減すると同じ数値が下の不透明度に適応されます。<br />
<br />
エクスプレッションは基本的にはただパラメータをリンクさせることしか出来無いのですが、その言語としてJavaScriptを採用しているのでただ数値をコピーするだけでなく数値を式によって変換することが出来ます。それが最大のキモになります。<br />
エクスプレッションはユーザーに新しい「インターフェース」を提供する為に作られた機能といえます。<br />
<br />
トランスフォーム関係（位置等）は特に専用に「親子」機能で別に実装されていますが、意味的にはエクスプレッションとほぼ同じ機能です。<br />
<br />
<h3>エクスプレッションのサンプル</h3>
簡単なエクスプレッションのサンプルを作って見ました。<br />
プロジェクトファイルのダウンロードは<a href="http://bit.ly/uVulNZr">ここ</a>から出来ます。<br />
<a class="dl" href="http://bit.ly/uVulNZ">aep_exp_sample_Fireworks.zip</a><br />
[There is a video that cannot be displayed in this feed. <a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-13/">Visit the blog entry to see the video.]</a><br />
一見すると難しそうなものですが、中身は意外と簡単な仕組みになっています。<br />
三角関数とか難しい数学的なことは一切使っていないので、After Effectsでキーフレームでアニメーションが出来る人なら多分問題なく分かると思います。<br />
<br />
簡単に要点だけ説明していきます。<br />
<br />
<dl>
<dh><strong>◎エクスプレッション制御エフェクトを付加</strong></dh><br />
<dd>
nullレイヤ&#8221;Fireworkの基点&#8221;とシェイプレイヤ&#8221;Firework_0&#8243;を作成。それぞれに以下の図のようなエクスプレッション制御エフェクトを追加。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/ex01.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/ex01.png" alt="" title="ex01" width="452" height="293" class="aligncenter size-full wp-image-7064" /></a><br />
nullレイヤのパラメータは各レイヤのパラメータとリンクさせて同期させるために使います。<br />
<br />
</dd>
<dh><strong>◎大きい花火グループと小さい花火グループを作成</strong></dh><br />
<dd>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/ex04.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/ex04.png" alt="" title="ex04" width="431" height="527" class="aligncenter size-full wp-image-7075" /></a><br />
<br />
「花火」というグループの中に適当に「大きな花火」と「小さな花火」をグループ分けして作成します。<br />
「小さな花火」グループは後で複製するので末尾に1をつけた名前にしておきます。<br />
<br />
</dd>
<dh><strong>◎大きい花火のひろがりの処理</strong></dh><br />
<dd>
&#8220;Firework_0&#8243;レイヤのトランスフォームに以下のエクスプレッションを追加します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/ex02.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/ex02-650x429.png" alt="" title="ex02" width="650" height="429" class="aligncenter size-large wp-image-7074" /></a><br />
<br />
位置はnullレイヤと同じ位置に、アンカーポイントのXの値に「大きい花火の広がり」の値をリンクさせています。<br />
こうすれば、指定した角度・距離で移動させることができます。<br />
だた、同時に星も傾いてしまうので、「花火」グループのトランスフォーム：回転に逆の値を入れて補正しています。グループ独自にトランスフォームを持つので、プリコンポーズしなくても簡単にできてしまいます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/ex03.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/ex03.png" alt="" title="ex03" width="648" height="244" class="aligncenter size-full wp-image-7071" /></a><br />
<br />
</dd>
<dh><strong>◎大きい花火と小さい花火の表示切り替え</strong></dh><br />
<dd>
大きい花火と小さい花火の塗り属性のエクスプレッションに表示切り替えのコードを追加します。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/ex05.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/ex05-650x390.png" alt="" title="ex05" width="650" height="390" class="aligncenter size-large wp-image-7082" /></a><br />
<br />
パラメータの大きさを判断して塗りの不透明度で表示を切り替えています。<br />
<br />
</dd>
<dh><strong>◎小さい花火の広がりの処理</strong></dh><br />
<dd>
小さい花火のアンカーポイントにも同様の処理を加えます。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/ex06.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/ex06-650x116.png" alt="" title="ex06" width="650" height="116" class="aligncenter size-large wp-image-7085" /></a><br />
<br />
同じようにアンカーポイントに処理を行います。<br />
回転の補正は、トランスフォームではなく、多角形パスの回転で補正を行なっています。この時回転が止まらないように &#8220;<strong> + time * 360 </strong>&#8221; として1秒に1回転させています。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/ex07.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/ex07-650x113.png" alt="" title="ex07" width="650" height="113" class="aligncenter size-large wp-image-7088" /></a><br />
<br />
ここまでできたら、「小さい花火1」グループを複製して増やします。グループの複製の場合、エクスプレッションの名前補正は行われないので、注意が必要です。今回は手作業で修正してます。<br />
複製したグループの回転を適当に修正して完成です。<br />
<br />
</dd>
<dh><strong>◎nullレイヤのパラメータとリンク後、レイヤを複製</strong></dh><br />
<dd>
レイヤのエクスプレッション制御エフェクトをnullレイヤのものと同期させたら、レイヤを複製して増やします。<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/ex08.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/ex08-650x113.png" alt="" title="ex08" width="650" height="113" class="aligncenter size-large wp-image-7089" /></a><br />
<br />
「大きい花火の方向」に上のようなエクスプレッションを仕込んでおくと、複製するだけで自動的に角度が決定されます。<br />
やってることは、レイヤ名をアンダーバーで分割し後ろの文字を数字として30倍した後、nullレイヤの開度を足しています。<br />
<br />
このテクニックはかなり操作が楽になるので多用してます。<br />
<br />
</dd>
<dh><strong>◎適当にアニメーションさせる</strong></dh><br />
<dd>
ここまで出来れば、nullレイヤのパラメータでアニメーションが出来ます。<br />
このアニメーションをエクスプレッションを使わないで実現するのは、多くのパラメータの変更が必要ですが、いったんエクスプレッションを組み終えれば、たった２つのパラメータでアニメーションが制御できるようになります。<br />
<br />
</dd>
</ul>
<br />
上記のエクスプレッションは一つ一つ見るとそんなに大したことはしていません。三角関数のような算術計算も行なっていません。ここではエクスプレッションだけで実装しましたが、親子レイヤ等も併用すると更に簡単に出来ます。<br />
<br />
一番重要なことは、目的とするアニメーションに対するパラメータが最低レベルまで減らせたことです。エクスプレッションはこのように「新しいインターフェース」をユーザーの手で拡張できる機能なのです。<br />
<br />
<br />
<br />
<h3>パス作成補佐スクリプト</h3>
ベジェシェイプパスの作成は、<strong>Illustrator</strong>とほぼ同じです。ただ、After EffectsにはIllustratorのように作成時に便利な機能がほとんど無いので、それを補佐するスクリプトを作ってみました。<br />
<br />
基本的にシェイプレイヤ用に作りましたが、普通のマスクパスでも使えるように作ってあります。<br />
<br />
ダウンロードは<a href="http://bit.ly/tAhhur">ここ</a>から出来ます。<br />
<a class="dl" href="http://bit.ly/tAhhur">aep_shapeScripts.zip</a><br />
<br />
アーカイブ内にある&#8221;等高線地図の作成_CS4.aep”は、等高線地図をシェイプで作る手順を説明するために作ったプロジェクトで、詳細は後編で説明します。<br />
<br />
<h3>パス作成補佐スクリプトその１ シェイプパスの編集.jsx</h3>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh07.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh07.png" alt="" title="sh07" width="279" height="463" class="aligncenter size-full wp-image-7040" /></a><br />
パスプロパティ（ベジェパス)を選択した状態で、GETボタンでパスの頂点の位置を獲得するスクリプトです。SETでパスを変更することも出来きます。<br />
<br />
シェイプツールでシェイプを作成した後に、頂点の位置を微調整するために作ったものです。<br />
頂点の位置が整数化されていないといろいろ困ったことがあったので、これで整数化します。<br />
<br />
<h3>パス作成補佐スクリプトその２ 直線パスの作成.jsx</h3>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh08.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh08.png" alt="" title="sh08" width="231" height="402" class="aligncenter size-full wp-image-7041" /></a><br />
<br />
簡単に直線パスを作成するために作ったものです。<br />
上のシェイプパスの編集.jsxでも作れますが、角度をあわせて作る時に重宝します。<br />
<br />
まぁ、実際には真っ直ぐな直線パスを作った後にトランスフォームの回転で位置指定したほうが楽ですが。<br />
<br />
<h3>パス作成補佐スクリプトその３ パス制御.jsx</h3>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh09.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh09.png" alt="" title="sh09" width="220" height="588" class="aligncenter size-full wp-image-7042" /></a><br />
<br />
できたパスを、移動したり反転・回転・拡大・縮小するために作ったものです。<br />
意外とシェイプレイヤではなく、マスクパスを使う時に重宝してます。<br />
<br />
<h3>パス作成補佐スクリプトその３ マスクをシェイプパスへ.jsx</h3>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh11.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh11.png" alt="" title="sh11" width="216" height="528" class="aligncenter size-full wp-image-7045" /></a><br />
マスクパスをシェイプのパスへ変換するスクリプトです。<br />
選択したレイヤにある全てのマスクをシェイプレイヤに変換します。<br />
詳細の使い方は後編で説明します。<br />
<br />
<br />
<h3>パス作成補佐スクリプトその４ エクスプレッション制御.jsx</h3>
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh12.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh12.png" alt="" title="sh12" width="180" height="370" class="aligncenter size-full wp-image-7050" /></a><br />
<br />
エクスプレッションを全てON_OFFするスクリプトです。<br />
間違ってエクスプレッション制御のエフェクトを削除してしまった時に使うスクリプトです。<br />
ただ、エクスプレッション自体にエラーが残っていたり、前後関係によって失敗する時があります。<br />
その時は面倒でもEキーをダブルクリックしてエクスプレッションが適応されたプロパティのみ表示して、手作業で修正する必要があります。<br />
<br />
<h3>後編へ続く</h3>
前編は基本的なシェイプ・エクスプレッションの知識のみの説明でした。後編では具体的な説明をしたいと思っています。<br />
<br />
もうサンプルは出来ているので、<a href="http://bit.ly/vY9dVb">ここ</a>からダウンロードしておいて下さい。<br />
<a class="dl" href="http://bit.ly/vY9dVb">aep_shapeSample.zip</a><br />
<br />
<a href="http://ae-users.com/jp/wp-content/uploads/2011/12/sh13.png" class="sb-img" rel="shadowbox[post-6989];player=img;"><img src="http://ae-users.com/jp/wp-content/uploads/2011/12/sh13.png" alt="" title="sh13" width="306" height="305" class="aligncenter size-full wp-image-7055" /></a><br />
<br />
上のコラムの中にある”等高線地図の作成_CS4.aep”の解説も後編で行います。<br />
<br />
流石に師走で忙しいので後編はクリスマス後と予定してますが、すごい量になりそうなので後編その１その２とか増えそうな予感がしてます。<br />
<br />
<br />
</p>

	タグ : <a href="http://ae-users.com/jp/tag/expression/" title="Expression" rel="tag nofollow">Expression</a>, <a href="http://ae-users.com/jp/tag/program/" title="program" rel="tag nofollow">program</a>, <a href="http://ae-users.com/jp/tag/shape/" title="Shape" rel="tag nofollow">Shape</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-17/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編 (2011/12月/26)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション後編</a> (8)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-14/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１ (2011/12月/20)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編１</a> (14)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-16/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3 (2011/12月/23)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編3</a> (12)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-15/" title="After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2 (2011/12月/22)">After Effectsユーザーのための、プログラミング入門　その12 シェイプレイヤとエクスプレッション中編2</a> (9)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2010/01/2d_3d/" title="静止画1枚で奥行表現 (2010/1月/16)">静止画1枚で奥行表現</a> (10)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2011/12/after-effects%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e3%80%81%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%85%a5%e9%96%80%e3%80%80%e3%81%9d-13/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>CROSSPHERE: ZaEnchu -CylinderPlus- デモ映像</title>
		<link>http://ae-users.com/jp/tips/2011/12/crossphere-zaenchu-cylinderplus-overview/</link>
		<comments>http://ae-users.com/jp/tips/2011/12/crossphere-zaenchu-cylinderplus-overview/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 15:26:33 +0000</pubDate>
		<dc:creator>cuku</dc:creator>
				<category><![CDATA[TIPS - プラグインレビュー]]></category>
		<category><![CDATA[TIPS 全般]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[ZaEnchu]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=6962</guid>
		<description><![CDATA[


今回の記事は現在CROSSPHEREで開発中のAfterEffectsのプラグインZaEnchu(CylinderPlus)について書かせて貰います。
標準のシリンダープラグインを元にして機能を大幅に拡張しました。 [...]]]></description>
			<content:encoded><![CDATA[<p>
[There is a video that cannot be displayed in this feed. <a href="http://ae-users.com/jp/tips/2011/12/crossphere-zaenchu-cylinderplus-overview/">Visit the blog entry to see the video.]</a><br />
<div></div>
<div>今回の記事は現在CROSSPHEREで開発中のAfterEffectsのプラグインZaEnchu(CylinderPlus)について書かせて貰います。</div>
<div>標準のシリンダープラグインを元にして機能を大幅に拡張しました。</div>
<div>他のプラグインには無い、色々な機能を詰め込んでいますので、先ずは上の動画を見て貰うのがここに書いて説明していくより早いと思います。</div>
<div>少し話がずれてしまいますが、私達はZaEnchuを切っ掛けに日本でのみ展開していくのではなく、海外も視野に入れて活動して行きます。</div>
<div>もし、同じような考えの人が居れば共に進んで行きたいと思い、このコミュニティに記事を書かせていただきました。</div>
<div>さて、殆どプラグインのことを書いてないわけですが、動画を見てもらえたならきっとどういう物なのかは伝わってると思うので、今回はこの辺で〆させていただきたいと思います。</div>
<div></div>
<div>
<div>追記</div>
<div>2011/12/27</div>
<div>ついにae scripts様にてWindows版がリリースされました！</div>
<div><a href="http://aescripts.com/za-enchu-cylinder-plus/">http://aescripts.com/za-enchu-cylinder-plus/</a></div>
</div></p>

	タグ : <a href="http://ae-users.com/jp/tag/zaenchu/" title="ZaEnchu" rel="tag nofollow">ZaEnchu</a>, <a href="http://ae-users.com/jp/tag/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3/" title="プラグイン" rel="tag nofollow">プラグイン</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/resources/2010/06/%e3%82%a2%e3%83%8b%e3%83%a1%e5%88%b6%e4%bd%9c%e8%80%85%e3%81%ae%e3%81%9f%e3%82%81%e3%81%aeaftereffects%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e4%bd%9c%e6%88%90%e5%85%a5%e9%96%80%e7%ac%ac-7/" title="アニメ制作者のためのAfterEffectsプラグイン作成入門(第６回)　Effectプラグインの構造・ユーザーインターフェース (2010/6月/13)">アニメ制作者のためのAfterEffectsプラグイン作成入門(第６回)　Effectプラグインの構造・ユーザーインターフェース</a> (4)</li>
	<li><a href="http://ae-users.com/jp/resources/2010/06/%e3%82%a2%e3%83%8b%e3%83%a1%e5%88%b6%e4%bd%9c%e8%80%85%e3%81%ae%e3%81%9f%e3%82%81%e3%81%aeaftereffects%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e4%bd%9c%e6%88%90%e5%85%a5%e9%96%80%e7%ac%ac-6/" title="アニメ制作者のためのAfterEffectsプラグイン作成入門(第５回)　スパッタリングプラグインを作成 (2010/6月/04)">アニメ制作者のためのAfterEffectsプラグイン作成入門(第５回)　スパッタリングプラグインを作成</a> (15)</li>
	<li><a href="http://ae-users.com/jp/resources/2010/05/%e3%82%a2%e3%83%8b%e3%83%a1%e5%88%b6%e4%bd%9c%e8%80%85%e3%81%ae%e3%81%9f%e3%82%81%e3%81%aeaftereffects%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e4%bd%9c%e6%88%90%e5%85%a5%e9%96%80%e7%ac%ac-5/" title="アニメ制作者のためのAfterEffectsプラグイン作成入門(第４回)　オリジナルノイズフィルタを作ってみよう！ (2010/5月/23)">アニメ制作者のためのAfterEffectsプラグイン作成入門(第４回)　オリジナルノイズフィルタを作ってみよう！</a> (5)</li>
	<li><a href="http://ae-users.com/jp/resources/2010/05/%e3%82%a2%e3%83%8b%e3%83%a1%e5%88%b6%e4%bd%9c%e8%80%85%e3%81%ae%e3%81%9f%e3%82%81%e3%81%aeaftereffects%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e4%bd%9c%e6%88%90%e5%85%a5%e9%96%80%e7%ac%ac-3/" title="アニメ制作者のためのAfterEffectsプラグイン作成入門(第２回)　とりあえず作ってみよう！ (2010/5月/09)">アニメ制作者のためのAfterEffectsプラグイン作成入門(第２回)　とりあえず作ってみよう！</a> (7)</li>
	<li><a href="http://ae-users.com/jp/tutorials/2010/05/%e3%82%a2%e3%83%8b%e3%83%a1%e5%88%b6%e4%bd%9c%e8%80%85%e3%81%ae%e3%81%9f%e3%82%81%e3%81%aeaftereffects%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e4%bd%9c%e6%88%90%e5%85%a5%e9%96%80%e7%ac%ac-2/" title="アニメ制作者のためのAfterEffectsプラグイン作成入門(第１回)　SDKをコンパイルしてみよう! (2010/5月/05)">アニメ制作者のためのAfterEffectsプラグイン作成入門(第１回)　SDKをコンパイルしてみよう!</a> (14)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tips/2011/12/crossphere-zaenchu-cylinderplus-overview/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>続々・手付けでは絶対に作りたくない動画</title>
		<link>http://ae-users.com/jp/tutorials/2011/12/%e7%b6%9a%e3%80%85%e3%83%bb%e6%89%8b%e4%bb%98%e3%81%91%e3%81%a7%e3%81%af%e7%b5%b6%e5%af%be%e3%81%ab%e4%bd%9c%e3%82%8a%e3%81%9f%e3%81%8f%e3%81%aa%e3%81%84%e5%8b%95%e7%94%bb/</link>
		<comments>http://ae-users.com/jp/tutorials/2011/12/%e7%b6%9a%e3%80%85%e3%83%bb%e6%89%8b%e4%bb%98%e3%81%91%e3%81%a7%e3%81%af%e7%b5%b6%e5%af%be%e3%81%ab%e4%bd%9c%e3%82%8a%e3%81%9f%e3%81%8f%e3%81%aa%e3%81%84%e5%8b%95%e7%94%bb/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 10:31:30 +0000</pubDate>
		<dc:creator>BaKaAfter</dc:creator>
				<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[Expressions]]></category>
		<category><![CDATA[レイヤーがたくさん]]></category>

		<guid isPermaLink="false">http://ae-users.com/jp/?p=6944</guid>
		<description><![CDATA[


手付けでは制作困難な複雑な動きを、
基本的なエクスプレッションで作るシリーズです。
今回は、コンポジションのタイムリマップをlengthで制御する方法を使います。

■ＳＴＥＰ1

長さ10秒、150*150のコン [...]]]></description>
			<content:encoded><![CDATA[<p>
<img class="shutter" src="http://ae-users.com/jp/wp-content/uploads/2011/12/topimage1271.jpg" alt="" width="190" height="190" />
<br />
手付けでは制作困難な複雑な動きを、<br />
基本的なエクスプレッションで作るシリーズです。<br />
今回は、コンポジションのタイムリマップをlengthで制御する方法を使います。<br />
<br />
<strong>■ＳＴＥＰ1</strong><br />
<br />
長さ10秒、150*150のコンポジションを作ります。<br />
名前を&#8221;shape&#8221;とします。<br />
<br />
丸いシェイプレイヤーを作り、３Ｄレイヤーにします。<br />
<br />
<img class="shutter" title="ba_127_01" src="http://ae-users.com/jp/wp-content/uploads/2011/12/ba_127_01.jpg" alt="" width="182" height="177" />
<br />
不透明度を50にし、<br />
以下の様にキーフレームを打ちます。<br />
<br />
スケール：<br />
開始時に0<br />
終了時に100<br />
<br />
位置：<br />
開始時に[75,75,0]<br />
終了時に[75,75,-500]<br />
<br />
エフェクト：<br />
色相/彩度で色を開始時と終了時で一周変化させます。<br />
<br />
<strong>■ＳＴＥＰ2</strong><br />
<br />
長さ10秒、640*360のコンポジションを作ります。<br />
<br />
ヌルを出し、名前を&#8221;Null&#8221;とし、３Ｄレイヤーにします。<br />
<br />
ＳＴＥＰ1で作ったコンポジション&#8221;shape&#8221;を中央に配置、コラップストランスフォームをオンにし、３Ｄレイヤーにします。<br />
コンポジション&#8221;shape&#8221;にエクスプレッションで、<br />
<br />
方向に<br />
<span style="color: #00ccff;">lookAt(thisLayer.position,thisComp.layer(&#8220;Null&#8221;).position)</span><br />
と入力します。<br />
&#8220;Null&#8221;の方向を向くようになります。<br />
<br />
タイムリマップに<br />
<span style="color: #00ccff;">10-length(thisLayer.position,thisComp.layer(&#8220;Null&#8221;).position)/100</span><br />
と入力します。<br />
<br />
&#8220;Null&#8221;との距離に応じて円の形や位置、色が変化するようになります。<br />
<br />
<img class="shutter" title="ba_127_03" src="http://ae-users.com/jp/wp-content/uploads/2011/12/ba_127_03.jpg" alt="" width="363" height="200" />
<br />
<img class="shutter" title="ba_127_04" src="http://ae-users.com/jp/wp-content/uploads/2011/12/ba_127_04.jpg" alt="" width="363" height="200" />
<br />
<strong>■ＳＴＥＰ3</strong><br />
<br />
コンポジション&#8221;shape&#8221;の位置にエクスプレッションで<br />
<span style="color: #00ccff;">wiggle(0,500)</span><br />
と入力し、複製します。<br />
<br />
<img class="shutter" title="ba_127_05" src="http://ae-users.com/jp/wp-content/uploads/2011/12/ba_127_05.jpg" alt="" width="300" height="300" />
<br />
<strong>■ＳＴＥＰ4</strong><br />
<br />
&#8220;Null&#8221;に任意の動きを付けます。<br />
(作例では位置に「wiggle(1,500)」)<br />
<br />
全体の色の調整をして完成です。<br />
<br />
<iframe width="320" height="192" src="http://www.youtube.com/embed/ahj8_k1dQ2M" frameborder="0" allowfullscreen></iframe><br />
<br />
シェイプの形や色、エクスプレッション中の数値を変えることで、様々な表現が可能です。<br />
<br />
aepは<a href="http://baaaf.com/sample.html#127">こちら</a>。<br />
バージョンはＣＳ5.5です。</p>

	タグ : <a href="http://ae-users.com/jp/tag/expressions/" title="Expressions" rel="tag nofollow">Expressions</a>, <a href="http://ae-users.com/jp/tag/%e3%83%ac%e3%82%a4%e3%83%a4%e3%83%bc%e3%81%8c%e3%81%9f%e3%81%8f%e3%81%95%e3%82%93/" title="レイヤーがたくさん" rel="tag nofollow">レイヤーがたくさん</a><span id="addbt">[<a onclick="jQuery('p#addtags').slideDown('fast');jQuery('#addbt').fadeOut('fast');">タグを追加する</a>]</span><br />

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://ae-users.com/jp/tips/2010/05/%e6%89%8b%e4%bb%98%e3%81%91%e3%81%a7%e3%81%af%e7%b5%b6%e5%af%be%e3%81%ab%e4%bd%9c%e3%82%8a%e3%81%9f%e3%81%8f%e3%81%aa%e3%81%84%e5%8b%95%e7%94%bb/" title="手付けでは絶対に作りたくない動画 (2010/5月/27)">手付けでは絶対に作りたくない動画</a> (14)</li>
	<li><a href="http://ae-users.com/jp/resources/2009/05/sp_wave2/" title="トンネルの中でうねうね (2009/5月/15)">トンネルの中でうねうね</a> (7)</li>
	<li><a href="http://ae-users.com/jp/resources/2009/04/sp_wave/" title="うねうねとすすむパイプ (2009/4月/17)">うねうねとすすむパイプ</a> (5)</li>
	<li><a href="http://ae-users.com/jp/resources/2010/05/%e7%94%bb%e9%9d%a2%e3%81%ab%e9%9b%a8%e7%b2%92%e3%81%8c%e5%bd%93%e3%81%9f%e3%82%8b%e8%a1%a8%e7%8f%be/" title="画面に雨粒が当たる表現 (2010/5月/28)">画面に雨粒が当たる表現</a> (4)</li>
	<li><a href="http://ae-users.com/jp/resources/2009/03/translate-expression-script-japanese/" title="他言語で設定されたエクスプレッション制御の記述を起動中の言語に変換するスクリプト (2009/3月/29)">他言語で設定されたエクスプレッション制御の記述を起動中の言語に変換するスクリプト</a> (9)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://ae-users.com/jp/tutorials/2011/12/%e7%b6%9a%e3%80%85%e3%83%bb%e6%89%8b%e4%bb%98%e3%81%91%e3%81%a7%e3%81%af%e7%b5%b6%e5%af%be%e3%81%ab%e4%bd%9c%e3%82%8a%e3%81%9f%e3%81%8f%e3%81%aa%e3%81%84%e5%8b%95%e7%94%bb/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

