Home › Category Archives › AviUtl

てさぐれ!部活もの OP検証動画《春アニメ編》解説①

[nicodo display=”player” width=”550″ height=”330″]sm23722613[/nicodo]
[nicodo display=”player” width=”550″ height=”330″]sm23722646[/nicodo]

いつもならだいたいアニメが始まって1ヶ月程度で完成するのだが、今期はM3の放送開始が遅かったり、作品数が多かったりして1ヶ月も伸びてしまった…

今回は動画投稿のためだけにプレミアム会員登録したので、画質が向上していると思います。

さて、実は今回他者様のアニメーションスクリプト以外にいくつか自分でスクリプトを書きました。

  • 採点基準(改変)
  • 彼女がフラグをおられたら(作成)
  • 健全ロボ ダイミダラー(作成)
  • ノーゲーム・ノーライフ(作成)
  • 棺姫のチャイカ(作成) (省略)
  • ラブライブ!(作成)
  • 結果発表(改変)

ここでは自作スクリプトだけ紹介します。

ここではスクリプトをそのまま掲載していますが、暇があればanmファイル(アニメーション効果から選択できるようになる)にしてアップします。

 

彼女がフラグをおられたら

これはテキスト色がころころ変わるスクリプトです。

テキストオブジェクトにて「文字毎に個別オブジェクト」にした上でスクリプト制御で以下のように入力します。

color = {"e40683","5bb431","ef8200","00b3ec",}
selcolor = color[(obj.index+math.floor(obj.time))%4+1]
obj.effect("単色化","color",selcolor,"輝度を保持する",0)

1行目は使用するカラーコードを書き、2行目でcolor配列の中から1つを選び、3行目で単色化フィルタをかけることで色を適用しています。

2行目の「%4」の4は色数を示していますので、色数を増減させる場合は注意してください。

また、今回は変数に時間(小数点以下切り捨て)を指定していますが、乗除することで色の変更速度を調節できます。

 

健全ロボ ダイミダラー

背景の「ミダラ!」の色をランダムに変化させる部分だけですが。

r = string.format("%2x",obj.rand(0,255,1,math.floor(obj.frame/5)+1))
g = string.format("%2x",obj.rand(0,255,1,math.floor(obj.frame/5)+2))
b = string.format("%2x",obj.rand(0,255,1,math.floor(obj.frame/5)+3))
color = r..g..b
obj.effect("単色化","color",color,"輝度を保持する",0)

まず、これは画像ループで個数を増やし、個別オブジェクト化していることに注意してください。

この場合ではフレームを5で割ったものを切り捨てているので、5フレームごとに変化しています。

0-255の範囲を変更すると明るめ/暗め、◯色寄りといったことが出来ると思います。

 

ノーゲーム・ノーライフ

項目の文字が横にほわっと広がるスクリプトです。

アニメOPのスタッフクレジットっぽく作成しました。フレームおくりしながら見るとわかると思いますが、本物とは若干挙動が異なるので注意してください。

また、┌文字列┘という形式で入力されることが前提となっていますのでこの点も注意してください。

time = 0.3
if (obj.time<time) then
  obj.ox = obj.ox*math.sin(math.rad(90*obj.time/time))
end
if (obj.index==0) then
  obj.oy = obj.oy-40
  obj.ox = obj.ox-30-10/time*obj.time
elseif (obj.index==obj.num-1) then
  obj.oy = obj.oy+40
  obj.ox = obj.ox+30+10/time*obj.time
end
if (obj.time>=time) then
  if (obj.index==0 or obj.index==obj.num-1) then
    obj.ox = obj.ox*(1+(obj.time-time)*0.3)
    obj.alpha = 1.2-(obj.time-time)*2
  end
end
if (obj.index>=1 and obj.index<=obj.num-2) then
  bokashi = 20-20/time*obj.time*2+obj.index*2
  if (bokashi>20) then
    bokashi = 20
  end
  obj.effect("ぼかし","範囲",bokashi,"縦横比",0)
end
if (obj.time>=obj.totaltime-0.3) then
  bokashihani = 100/0.3*(obj.time-obj.totaltime+0.3)
  obj.effect("ぼかし","範囲",bokashihani,"縦横比",0)
end

詳しい解説は省きます。

 

ラブライブ!

ラブライブ!でのスクリプトは、スポットライト図形オブジェクト+マスクフィルタとカメラ制御のシャドーを用いてスポットライトを模したものです。

他の場面では役に立ちそうにありません。

x = 270*math.cos(math.pi/2*obj.time)
y = 230*math.cos(math.pi*obj.time+math.pi/2)-580
x2 = 150*math.cos(math.pi/4*obj.time)
y2 = 220*math.cos(math.pi/2*obj.time+math.pi/2)-580
size = 120
obj.effect("マスク","X",x,"Y",y,"サイズ",size,"type",1,"マスクの反転",1)
obj.effect("マスク","X",-x2,"Y",y2,"サイズ",size,"type",1,"マスクの反転",1)

スクリプトを読んでもらえればわかると思いますが、これは高校数学で習うリサージュ曲線の式です。

応用すれば他の用途でも使うチャンスがあるかもしれません。

個人的にはこれの発展形でAviUtl講座の動画でも作ろうかなと考えています。

 

以上、自作アニメーションスクリプトの紹介でした。

てさぐれ!部活もの OP検証動画《冬アニメ編》解説②

 

22 中二病でも恋がしたい! 戀

こんなに綺麗に作ったのに動画ではあんなに見難くなってしまって…ほんとすみません。

今回はカメラ制御を使ってしまいました。「使ってしまった」というのは、実は最初ここまでするつもりはなかったんですね。ほんとは魔法戦争の魔法陣程度のものをちょこっといれようと思ってたのですが、きれいに見えないので魔法陣だけカメラ制御にしたんです。その後にどうせなら、と全部カメラ制御にしてしまいました。

↓斜め上からの視点

さて、本題に入りましょう。まずはレイヤー画面を見てください。

  • レイヤー01 : 背景画像
  • レイヤー02 : カメラ制御
  • レイヤー03 : 画面左上の番号 (カメラ制御対象外)
  • レイヤー05-06 : 動画ファイル
  • レイヤー07 : 項目背景
  • レイヤー08 : 床みたいなもの
  • レイヤー09 : 項目テキスト
  • レイヤー10 : タイトルロゴくるくる
  • レイヤー11-19 : ◯印
  • レイヤー20 : 床にあるピンクっぽく光っているもの
  • レイヤー21 : 項目

タイトルロゴは中間点を打っても良かったんですが、今回は分割にしてあります。
浮上/回転/下降の3つです。全て直線移動に加速・減速チェックになっています。

また、このタイトルロゴや項目テキストにはsm15769914の「オブジェクトに厚みを追加」スクリプトを使用しています。

 

これ以上特に書くことが思い浮かばなかった…ということで終わり。

ほんとはもっと色々なことが出来るソフトなんだろうけど私の技量ではこの程度が限界です。勉強しないと。

AviUtlでピッチ(音の高さ)を変えずに再生速度を変える方法

AviUtlにおける音声の扱いについてはお世辞にも優れているとは言えず、4つのオプションのうち音量と左右、再生位置くらいしかまともに使えません。

特に再生速度は、音声の波形をそのまま縮めただけになるので、速度を上げると音が高くなり、下げると低くなってしまいます。

ここで、表題のようにするには2つの方法があります。

  1. あらかじめ再生速度を変えた音声ファイルを作る。
  2. あらかじめ音程を変えた音声ファイルを作り、AviUtlで再生速度を変更する。

どちらも、AviUtlから1倍速で書き出したファイルを音声編集ソフトを使用して編集します。特に使い慣れたものがある場合はそれを使用してください。

有名なソフトとしてはSoundEngine FreeやAudacityがありますが、個人的にはAudacityをおすすめしておきます。

さて、方法1と方法2ですが結論からいうとほとんど違いがありません。

ここで2種類の特徴を示したいと思います。

  メリット デメリット
方法1 操作が手軽である。
音がズレる可能性が高い。
方法2 音がズレにくい。 計算が面倒。

音ズレについては後述。

私個人としては少し面倒な方法2をおすすめします。てさぐれ!部活ものOP検証動画

も方法2で作っています。

それでは今回1.5倍速にする手順を見ていきます。

Audacityに音声を読み込み、エフェクト→ピッチの変更。すると右のような画面が出てくるので、Percent Changeに、-33.333333333333と入力します。

計算方法としては、速度の逆数です。1.5の逆数は\dpi{80} \frac{2}{3}=66.6666…% 。つまり、100%から-33.33333…%になります。

OKをクリックして、今回の場合音程が低くなっていればOKです。

あとは普通に書き出して、AviUtlに取り込み、再生速度を150にすれば音程が変わらずに再生速度を変更でます。

音ズレについて

音ズレは端数の扱いによって起こります。例えばSoundEngineの時間伸縮は元の長さを100%として長さの比になります。

例えば、30秒の音声を時間伸縮で50%にすると15秒で2倍速になります。
この場合は音ズレなどは起こりません。

では、30秒の音声を1.5倍速にする場合どうでしょう。時間と速度は逆数の関係にあるので、速度が \dpi{80} \frac{3}{2} 倍になると時間は \dpi{80} \frac{2}{3} 倍、つまり66.66666…%になります。こうなってしまうと長いファイルほど後半につれ音がズレてくることになります。

てさぐれ!部活もの OP検証動画《冬アニメ編》解説①

[nicodo display=”player” width=”640″ height=”370″]sm22769091[/nicodo]

概要

  • 時間:47分34秒56 / 68442フレーム @23.976fps
  • 製作サイズ:1280×720  /  出力サイズ:640×360
  • 1次エンコード H.264  MPEG4-AVC / AAC 320Kbps 48KHz / 565MB
  • 2次エンコード WMV9 226Kbps / WMA9.2 48Kbps 44kHz / 99.8MB

使用ソフト

  • AviUtl (動画編集全般)
  • Audacity (音量均一化/スピード調節)
  • EcoDecoTooL (概要/結果発表)
  • Microsoft Office Excel (集計表/まとめ表)
  • Microsoft Office PowerPoint (結果発表)
  • GIMP (妹ちょ)
  • SketchUp (生徒会役員共*)
  • Aegisub (てさぐれ!部活もの)
  • RhythmicaLyrics (てさぐれ!部活もの)
  • txt2ass (てさぐれ!部活もの)
  • カラーピッカー
  • 電卓
  • ペイント

せっかくなのでAviUtlで使ったいくつかのフィルタの解説をすることにします。


 01 いなり、こんこん、恋いろは。

 ここで左側の項目テキストは白文字にピンクの縁取りに、拡散光フィルタをかけています。

また、動画は境界ぼかしフィルタです。

ほんとはこれくらいきれいに作ったんですが、エンコードで文字が潰れて読めなくなってしまいました。


13 桜Trick

次は桜Trickです。

背景には、通常の画像のうえにsakura画像をパーティクル出力しています。以下の点がポイントです。

  • 出力方向を180にすることで上方に向かう。
  • また、Xを直線移動で画面両端を始点終点に設定し、移動範囲の座標からランダム出力にチェックを入れることで画像のようになります。

さらに、桜の花びらの画像も同様に右下方向・3Dランダム回転にしているため舞っているようになります。

ここでは動画についても一点。

アニメーション効果で「領域枠(角落ち)@領域枠」で縁を丸く切り取っています。この効果は比較的重めなので注意が必要です。