Ψ(`∀´)Ψケケケ と (´・ω・`)ショボーン

AviUtl用のスクリプト配布やBlender、自作PCのパーツやガジェットの情報を配信中

 

【AviUtl】スクリプト制御 第3回【拡張編集】

Edit Category Aviutlと拡張編集プラグイン > スクリプト(自作配布物と解説)

20140530031602

forは指定回数だけ処理を繰り返させる構文。

どんなときに使うかというと、決まった回数の繰り返しの処理をさせたいときに使う。上の画像は、一個の図形オブジェクト(円+グラデーションフィルタ)に追加したスクリプト制御にfor構文を書いて描いている。

上の画像は、

t=obj.time
for i=0,10 do
 obj.draw(t*1.4^i,1.5*i*t,t*i*20)
end

という記述の結果。コピペすれば同じようになるはずなので、色々と試してもらえると理解が深まるはず。(拡張描画にして、カメラ制御でグリグリ動かすと、ちゃんと三次元に円が複製されていることがわかるはず)

ちなみにobj.draw()はAviUtl固有の関数で、drawの文字からも窺えるように描画する機能を持っている。座標XYZ以外にも、拡大率や透明度もこの関数から指定できる。とりあえず上の構文の内容としては()内の” , ”の区切りによってx,y,zに対応している。

つまり上のfor文は、tにobj.timeをし、obj.draw()のxにt*1.4^iを入れ、yに1.5*i*tを入れ、zにt*i*20に入れたものを0から10までの計11回繰り返して描画しろと書かれている。

ちなみに↑の内容はまだわからなくてもOK。以下で説明するので……。じゃあ、なんで一番最初に書いたんだ!という話だけど、for構文でどんなことができるか知って欲しかったから。


for構文の基本型

forの基本の型としては、

for i=0,n do

end

というもので、『 i 』は繰り返される数値が入る変数。『 i = 0 』の意味は初期値0、そこから変数 i を上限値『 n 』まで増やしていくという宣言で、『 n 』は上限にする数値(数値を入れた変数でも可)を入れる。

たとえば、初期値が0で、そこから計100回ほど処理を繰り返させたいときは、

for i=0,99 do

end

とすると、『i』は0,1,2,3,4,5......97,98,99と増えていき、100回、do~end間に書かれた処理を繰り返す。ちなみに初期値に『1』を入れて、上限値を『100』としても、同じように100回の処理が繰り返される。

 

ちなみに上限値となる『 n 』に関しては、状況によって変わる変数『 n 』として指定することも可能。たとえば、前処理でテキストオブジェクトの文字数をカウントするようにしておき、それを『 n 』に代入するようにしておけば、『 n 』はそのときどきのテキストオブジェクトの文字数で上限値を変える……という処理ができる。

ただし、処理回数が同じでも結果が異なることもある

20140530021341 20140530021935
スクリプト制御内に記述
『上の円』
for i=0,9 do
 obj.ox=30*i
end
『下の円』
for i=1,10 do
 obj.ox=30*i
end

どちらも10回の処理が行われているけれど、繰り返し処理の中に変数『i(回数によって値が変わる)』があり、初期値が異なるために結果が異なる。
スクリプト制御内に記述
『上の円』
for i=0,9 do
 obj.ox=obj.ox+30
end
『下の円』
for i=1,10 do
 obj.ox=obj.ox+30
end

どちらも10回の処理が行われているけれど、『~』に書かれた処理が初期値に依存しないもののために同じ結果になっている。

for構文は初期値によって結果を変えることができるし、初期値に影響されずに同じ結果を得ることもできる。使い分けができるようになると、if構文同様に非常に便利。

サンプル

テキストオブジェクト、100文字程度※の入力、文字毎に個別のオブジェクトにチェックの状態の状態でスクリプト制御に

t=obj.index  -- 文字毎に個別のオブジェクトで表示された文字数をカウントする変数
for i=0,t do
 obj.alpha=i/99  -- ※の理由
end

20140611224724 20140611224737

上の画像を見ればわかるけれど、1文字目は初期値0から始まっているので見えない。2文字目以降、徐々に色が付いて行き、100文字目(99番目で)で透明度が『1』になり、完全な状態になる。

ちなみにobj.indexは表示速度に値を設定して、obj.mes()関数でその変化を観測すると、一文字表示される毎に値が1増えていくのがわかるのでお試しあれ。

 

同上の条件で、スクリプト制御の内容を少しだけ変えたもの。

t=obj.index
n=obj.num  -- 文字毎に個別のオブジェクトの総文字数
for i=0,t do
obj.alpha=(n-i)/99
end

20140611225748 20140611225811

今度は文字数が増える毎に透明になっていくバージョン。

 

同上の条件で、スクリプト制御の内容を少しだけ変えたもの。

t=obj.index
n=obj.num
for i=0,t do
obj.oz=i*20
obj.rz=i
end

20140611231443 20140611231500
20140611232050 20140611232140

少し内容を変えて、視力検査っぽい感じにしてみたもの。文字の大きさは拡大率ではなくZの値を増やして擬似的に小さく見せている。なので、カメラ制御を使うと、下の段のような感じに見える。

ちなみにこのような処理(カメラ制御下の下段のもの)をスクリプト制御を使わずにやろうとすると、それぞれ文字毎にテキストオブジェクトを配置して、それぞれのZ、回転の値を設定して……ということになる。

この場合、100文字なので100個のオブジェクトでそうした処理をすることになるけれど、スクリプト制御を使い、for構文で書くと一個のテキストオブジェクトで済んでしまう。(ただし、for構文に書いた規則性に縛られるけれど……)

 

 

図形に軌跡を描かせる感じのfor構文。水漏れっぽい感じ。

f=obj.frame
for i=0,f do
dx=i^(1/2)
dy=i*5
obj.draw(dx,dy,0,50/(i+50))
end

20140611234155 20140611234214

とろ~っという感じで垂れるような移動&軌跡っぽいもの。やっていることはページ最上段の図形と同じ。描画間隔を詰めることで、円の点ではなく軌跡(線)にしている。

 

他にも配列にデータを順番に格納したり読み出したりといった使い方やobj.effext()の重ねがけ、obj.draw()を使ったオブジェクトの複数配置、軌跡の描画などにも使える。

注意点としては、繰り返し処理(for、while、repeat等)は重い処理を繰り返したり、処理の終了条件を誤ると、操作を受け付けなくなったり処理が永続してしまったりすることがあること。

 

 

 

関連記事
スポンサーサイト
Community テーマ - フリーソフト解説  ジャンル - コンピュータ

Newer Entry【Blender】ウェイトペイントによる髪や毛の生やし方【覚書】

Older Entry【雑記】2014年ブラジルW杯 日程&放送時間【自分用】






Comments


 
07 2018
SUN MON TUE WED THU FRI SAT
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

06 08


 
 
ねんどろいど アイドリッシュセブン 四葉環
ねんどろいど アイドリッシュセブン 四葉環 ノンスケール ABS&PVC製 塗装済み可動フィギュア
 
注意事項

紹介されているフリーソフト、スクリプトをインストールするときは、フリーソフトの説明および注意事項を熟読し、自己責任においてご利用下さい。



記事:Amazonギフト券の期限など
特価情報:各ジャンル・タイムセール

 
オススメA

[まとめ買い] ゴールデンカムイ
[まとめ買い] ゴールデンカムイ


Oneplus 5T (A5010)6.01 inch 2000万画素 +1600万画素 デュアルレンズカメラ 6GB/64GB RAM CPU Snapdragon 835 LTE 4G+ sim フリー日本語対応
Oneplus 5T (A5010)6.01 inch 2000万画素 +1600万画素 デュアルレンズカメラ 6GB/64GB RAM CPU Snapdragon 835 LTE 4G+ sim フリー日本語対応


E-PRANCE ノートパソコン 冷却パッド 冷却台 ノートPCクーラー クール 超静音 USBポート2口 LED搭載 USB接続 17インチ型まで対応4ファン (ブルー)
E-PRANCE ノートパソコン 冷却パッド 冷却台 ノートPCクーラー クール 超静音 USBポート2口 LED搭載 USB接続 17インチ型まで対応4ファン (ブルー)


KYOKA スマホ リング ホールドリング 薄型 スタンド機能 落下防止 車載ホルダー 360回転 iPhone/Android各種他対応 (ブラック)
KYOKA スマホ リング ホールドリング 薄型 スタンド機能 落下防止 車載ホルダー 360回転 iPhone/Android各種他対応 (ブラック)



乃木坂46 衛藤美彩 写真集 話を聞こうか。 封入特典 特別付録 スペシャル ポストカード 水着
乃木坂46 衛藤美彩 写真集 話を聞こうか。 封入特典 特別付録 スペシャル ポストカード 水着


【Amazon.co.jp限定】Transcend microSDXCカード 64GB Class10 UHS-I対応 Nintendo Switch 動作確認済 TS64GUSDU1PE (FFP)
【Amazon.co.jp限定】Transcend microSDXCカード 64GB Class10 UHS-I対応 Nintendo Switch 動作確認済 TS64GUSDU1PE (FFP)


 Ewin ミニ bluetooth キーボード Mini Bluetooth keyboard タッチパッド搭載 ワイヤレス 小型 キーボード マウス 一体型 無線 USB レシーバー バックライト付き 使用便利 【日本語説明書と一年の保証付き】ブラック
Ewin ミニ bluetooth キーボード Mini Bluetooth keyboard タッチパッド搭載 ワイヤレス 小型 キーボード マウス 一体型 無線 USB レシーバー バックライト付き 使用便利 【日本語説明書と一年の保証付き】ブラック


【Amazon.co.jp限定】西野七瀬1stフォトブック『わたしのこと』 Amazon限定カバーVer.
【Amazon.co.jp限定】西野七瀬1stフォトブック『わたしのこと』 Amazon限定カバーVer.


【国内正規品】密閉型 ゲーミングヘッドセット SteelSeries Arctis 5 Black 61443
【国内正規品】密閉型 ゲーミングヘッドセット SteelSeries Arctis 5 Black 61443


AVerMedia Live Gamer Portable 2 PLUS AVT-C878 PLUS [4Kパススルー対応 ゲームの録画・ライブ配信用キャプチャーデバイス] DV478
AVerMedia Live Gamer Portable 2 PLUS AVT-C878 PLUS [4Kパススルー対応 ゲームの録画・ライブ配信用キャプチャーデバイス] DV478


零化域のミッシングリンク
シュタインズゲート・ゼロ 第一話:零化域のミッシングリンク


アサヒ ウィルキンソン タンサン 強炭酸水 500ml×24本
アサヒ ウィルキンソン タンサン 強炭酸水 500ml×24本


(ヘインズ)Hanes Tシャツ ジャパンフィット クルーネック 2枚組 (最新モデル) H5110 010 ホワイト M
(ヘインズ)Hanes Tシャツ ジャパンフィット クルーネック 2枚組 (最新モデル) H5110 010 ホワイト M


 
ブログ内検索
記事を探すときは、キーワードで検索をかけると速くて便利です。
 
"figma ARMS NOTE バイオニック・ジョシコウセイ
figma ARMS NOTE バイオニック・ジョシコウセイ ノンスケール ABS&PVC製 塗装済み可動フィギュア
 
 
DCコミックス コレクション バットマン 1/6 PVC
ファンタジーフィギュアギャラリー DCコミックス コレクション バットマン 1/6 PVC
 
 
ブログ内検索
記事を探すときは、キーワードで検索をかけると速くて便利です。
 
 
【2018年夏】動画編集、3DCG向け高コスパ自作PC構成
新世代Ryzenで組むコスパの優秀な構成。ただし、まだメモリとGPUが高騰中なのが玉に瑕。SSDは値下がり気味で吉。

AMD CPU Ryzen 7 2700X with Wraith Prism cooler YD270XBGAFBOX
AMD CPU Ryzen 7 2700X with Wraith Prism cooler YD270XBGAFBOX


MSI X470 GAMING PLUS ATX ゲーミングマザーボード [AMD X470チップセット搭載] MB4388
MSI X470 GAMING PLUS ATX ゲーミングマザーボード [AMD X470チップセット搭載] MB4388


G.Skill F4-3200C14D-16GFX (DDR4-3200 CL14 8GB×2) AMD Ryzen用メモリ
G.Skill F4-3200C14D-16GFX (DDR4-3200 CL14 8GB×2) AMD Ryzen用メモリ


玄人志向 ビデオカード GEFORCE GTX 1060搭載 GF-GTX1060-E6GB/OC2/DF
玄人志向 ビデオカード GEFORCE GTX 1060搭載 GF-GTX1060-E6GB/OC2/DF


WD 内蔵SSD M.2-2280/500GB/WD NVMe Black/PCIe Gen3 NVMe/5年保証/WDS500G2X0C
WD 内蔵SSD M.2-2280/500GB/WD NVMe Black/PCIe Gen3 NVMe/5年保証/WDS500G2X0C


WD HDD 内蔵ハードディスク 3.5インチ 6TB WD Blue WD60EZRZ-RT SATA3.0 5400rpm 2年保証
WD HDD 内蔵ハードディスク 3.5インチ 6TB WD Blue WD60EZRZ-RT SATA3.0 5400rpm 2年保証


オウルテック 10年間新品交換保証 80PLUS GOLD取得 コンパクトサイズ ATX 電源 ユニット フルモジュラー Skylake対応 Seasonic FOCUS+ シリーズ 650W
オウルテック 10年間新品交換保証 80PLUS GOLD取得 コンパクトサイズ ATX 電源 ユニット フルモジュラー Skylake対応 Seasonic FOCUS+ シリーズ 650W


サイズ オリジナルCPUクーラー 虎徹 Mark II
サイズ オリジナルCPUクーラー 虎徹 Mark II


I-O DATA Blu-ray ブルーレイ BDドライブ mac 外付け ポータブル USB3.0/バスパワー対応 薄型モデル EX-BD03K
I-O DATA Blu-ray ブルーレイ BDドライブ mac 外付け ポータブル USB3.0/バスパワー対応 薄型モデル EX-BD03K


Thermaltake VIEW 31 TG RGB ミドルタワーPCケース CS6814 CA-1H8-00M1WN-01
Thermaltake VIEW 31 TG RGB ミドルタワーPCケース CS6814 CA-1H8-00M1WN-01




I-O DATA モニター ディスプレイ 31.5型 EX-LDQ321DB(WQHD[2560×1440]/広視野角/DisplayPort/スピーカー付/3年保証/土日もサポート)
I-O DATA モニター ディスプレイ 31.5型 EX-LDQ321DB(WQHD[2560×1440]/広視野角/DisplayPort/スピーカー付/3年保証/土日もサポート)


Razer Naga Trinity サイドボタンを2/7/12ボタンに付け替え可能 MMO/MOBAゲーミングマウス 【日本正規代理店保証品】 RZ01-02410100-R3M1
Razer Naga Trinity サイドボタンを2/7/12ボタンに付け替え可能 MMO/MOBAゲーミングマウス 【日本正規代理店保証品】 RZ01-02410100-R3M1


センチュリー バックライトLED機能搭載 CHERRYメカニカルキーボード 63キー/日本語配列 『BLACK QUEEN 茶軸』 CK-63CMB-BWJP1
センチュリー バックライトLED機能搭載 CHERRYメカニカルキーボード 63キー/日本語配列 『BLACK QUEEN 茶軸』 CK-63CMB-BWJP1


Microsoft Windows 10 Home Fall Creators Update適用 32bit/64bit 日本語版 (最新) |パッケージ版
Microsoft Windows 10 Home Fall Creators Update適用 32bit/64bit 日本語版 (最新) |パッケージ版


ドイツ Thermal Grizzly社製 オーバークロック用特別設計高性能熱伝導グリス Kryonaut 1g
ドイツ Thermal Grizzly社製 オーバークロック用特別設計高性能熱伝導グリス Kryonaut 1g




 
オススメのフリーソフト
■ブラウザ(お好みで。複数可)
Chrome
Firefox
Vivaldi
Sleipnir
Opera
■ファイアウォール(必須)
Comodo Internet Security
ZoneAlarm
Outpost Security Suite FREE
■アンチウィルスソフト(必須)
avast! 4 Home Edition
avira 無料版
AVG Anti-Virus Free Edition
■レジストリ保護&クリーナー(必須)
Spybot-S&D
CCleaner
■圧縮・解凍ソフト(必須)
Lhaplus
7-Zip
■オフィスソフト
OpenOffice.org
LibreOffice
Mery
TeraPad
■メーラー
Thunderbird
■オンライン・コミュニケーション・ツール
Open Live Writer
Skype
Windows Live メッセンジャー / MSN メッセンジャー
■Backup & PartitionEditor
AOMEI バックアップ、クローン、パーティション管理
EaseUS Todo Backup Free
EaseUS Partition Master
■コーデックパック(どちらか)
K-Lite Codec Pack
 
Combined Community Codec Pack
■各エンコーダ&デコーダ、スプリッタ(競合注意)
ffdshow
Xvid Codec
qaac Codec
x264vfw
Haali Media Splitter
LAV Splitter
webm
Google VP8 Video For Windows codec
■動画音楽再生プレーヤー(複数可)
MPC Home Cinema
GOM PLAYER
SMPlayer
VLC media player
■動画加工編集ソフト
Windows ムービー メーカー
Windows Media エンコーダ
MP4Cam2AVI
Any Video Converter フリー版
CamStudio
SEffect
x264vfw
AviUtl
AviUtlのプラグイン
MediaCoder
Nero AAC Codec
Avidemux.org
真空波動研 Lite
えこでこツール
XMedia Recode
■グラフィックソフト
Blender
Inkscape
GIMP
PlayMemories Home
FireAlpaca
XnConvert
■HTML&ブログ制作
ez-HTML
XnConvert(画像一括処理)
Open Live Writer
FFFTP
WinShot
Aptana | Studio
■AviUtl
AviUtlの基礎構成ファイルDL
■その他、色々と……
DataRecovery
CPU-Z
CrystalDiskMark
CrystalDiskInfo
 
 
QRコード
QRコード
 
プロフィール

(o・ω・o)

Author:(o・ω・o)
現在はAviUtl用の駄スクリプトを書いて配布中。使用は自己責任でお願いします。

 
 


ARCHIVE RSS