スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

クリスタのベクターレイヤーの消しゴム

 後から編集が出来るクリスタのベクターレイヤー。 半透明に質感があるブラシが使え、塗りつぶしと混色が出来ないく他は普通のブラシと大きな差がないのがいい感じです。

 ベクターレイヤーの消しゴムにはベクターレイヤーだけに有効になる「ベクター消去」というモードがデフォルトでオンになっています。これには3モードあり、線全体を消す、他の線と交差するところまで消す、触れた部分だけ消す、があります。
 線の微調整にはこの触れた部分だけ消すというモードを使いがちなのですが、これが微妙に動作に癖があり、ちょっと消しただけなのに後補正が入ったような意図せず線の形がかわるような挙動をします。

 でも、実はベクターの消しゴミはもうひとつモードがあります。それは「ベクター消去」のチェックを外した状態。つまり普通の消しゴムです。
 この状態と「触れた部分だけ消す」の差は結構あります。

csp_vec1.jpg


 上がベクター消去のチェックを外したもの、下が「触れた部分だけ」のモード。
 左の方から見ていきますと、上のものは線の先の加工が普通にできています。一方下のほうは先が細くなっていますが、実は片方しか削っていません。一方を削ると自動で先細りするようになっています。入り抜きオンみたいですね。

 真ん中の点線は軽くなぞった結果です。上では筆圧が反映されていますが、下はバッキリ消えています。

 右端は線を斜めに横断して消した場合。
 どちらも似たような形をしていますが、上のほうは消しゴムの軌跡通りの形をしていますが、下は少し補正のようなものが入ります。赤丸のところがそうです。

 ここまで書くと、ベクター消しゴム切ったほうがいいじゃん、となるのですがこの方法にはとっても残念な問題があります。
 上で描いた線を、ちょっと線つまみツールで摘んでみると、こんな感じになります。
csp_vec2.jpg

 千の左端と右のほうをちょっと下の方に引っ張っています。
 線を消した部分、消しゴムをかけた部分の線がいびつな感じになっているのわかりますでしょうか。
 実はこの方法で描かれた、というか消された消しゴムの部分は「透明にする」というベクター線が描かれいます。一種のマスクみたいなものですね。
 なので、この消しゴムのストロークも摘んで変形しないと線がおかしくなってしまい、ぶっちゃけ使えません。

 これではベクター線の良さである後から編集というのがスポイルされてしまいますが、矩形選択などで移動する分には問題ありません。なのでこの消しゴムが使えるシーンは「後から線の形を変えないけれどベクター線を使う」というのに限られます。
 そんなシーンあるのかなと思ったのですが、交点削除だけ必要とする場合、例えば大量の髪の毛の流れとかそういうときには活路があるかもしれません。

 この記事、最初に書きだしたのは実は7月でした…。
 その後、子供が生まれて、なんだかんだとドタバタしているうちに年が明けてしまい、いい加減下書きにカビが生えそうなので公開することにしました。
 一時期は上に下にの大騒ぎの毎日でしたが、ようやく生活のリズムが作り直せてきたのでポツポツ記事も投下していきたいなぁと思います。
スポンサーサイト

クリスタで「応答無し」に対する対処法(の提案)

 クリスタが落ちた、という話をTLで見かけます。
 クリスタは起動直後に素材ライブラリを読み込んだり、素材を操作したとき重くなりやすいようです。
 おそらくインデックスの再作成とかそういう感じのことをしているのだろうと思うのですが、こういう過負荷状態の時、windowsはよくタイトルバーに「応答無し」と表示して、ウィンドウが白くなってしまいます。
 このとき下手に操作をしようものならエラーダイアログが表示されたりして青い顔、ということも。
 他にも64bit化の恩恵で大きなデータを扱うことが出来るようになった反面、処理量が多くなり同様に過負荷になって「応答無し」になってしまうこともあります。

 この「応答無し」はようは
ユーザー「おーい、ここクリックしたいんだけどー?」
 と声をかけてもアプリが
アプリ「(忙しいから後にしてくれよ)」
 と無視を決め込まれている状態が多いです。なので、そっとしておくと
アプリ「はーやれやれ、やっと終わった、でなんだい?」
 と答えてくれるようになるのですが、せっかちにもクリッククリックしていると、
アプリ「なんだよ、どうせ俺にはこんな仕事無理だよ! 辞めてやらー!」
と切れてエラーを出しまう。
 様子を見ながら操作をまってあげるのがコツです。

 でも、作業はついついポンポンと流れで操作しがち。
 それにほんとに不具合で止まっているのか*1のかなかなか見分けが付かない。
 ならば応答待ちと判断されるまでの時間を長くする、つまり、アプリが切れないよう、気を長くしてあげたらどうだろう、というのが今回のお話。

*1 現在、特定のツール設定のツールを使った場合もソフトが固まる模様で、12/20に改善バージョンが公開されるそうです。詳しくはこちら。
【Ver.1.3.0】特定の設定で描画ツールを使用すると、アプリケーションが一時的に操作できなくなる場合があります。(更新) | CLIP STUDIO PAINTのよくある質問 | CLIP


 そのやり方は、MSのフォーラムにこんなやりとりがあります。

 「応答なし」と判断するまでの時間の変更

 レジストリを書き換えてタイムアウト時間を変更するやり方です。
 リンク先の例では、HungAppTimeout の値をどれくらいに変えるか書かれていませんが、
 15000~30000の間くらいで変えてみてはどうだろう、と思います。
 ms単位なので、15秒から30秒ほど待ってそれでも駄目なら「応答無し」と判断するようになるはずです。

 この設定をすると、ちゃんとした応答無しエラー(というのも変ですが)でも設定した秒数待つことになりますので、そこはトレードオフかと思います。

 私は主にクリスタはMac版を使っていますが、最近のMac OSはその出自から一つのアプリがユーザーを無視するほど全力になりにくい性質があります。
 なのでちょっとペンが重いな、ということはあっても応答無しまではなかなかたどり着きません。
 それはそれで長所短所あることなのですが、それはまた別の機会に。

続・クリスタのマスクとクリッピング、どっちが軽い?

 以前の書いた記事、クリスタのマスクとクリッピングの追記記事です。

 元記事はレイヤーのクリッピングのやり方で重さが違う気がするというものでした。
 やり方は次のような二種類。
 
csp_mask.jpg

 ひとつは上半分のようにフォルダの中にベタレイヤーを入れて、フォルダにマスクをかけてクリッピング範囲を絞るもの。
便宜上、呼称を「フォルダマスクタイプ」と呼びます。
 もうひとつはクリッピングオプションでベース部分でクリッピングするもの。お手軽なのでたぶん一般的な方法だと思います。便宜上こちらは「クリッピングタイプ」と呼びます。

 前回の記事では、下はbase+(s1 × base)+(s2 × base) + (h × base)みたいにレイヤーごとにベースとのクリッピング処理をしているのに対して、上は(base + s1 + s2 + h) × baseのようにまとめてやってるんじゃないかなと言う仮説を妄想しておしまい。

 んじゃ実際どうだろうとやってみました。

■環境

 実験環境は次な感じ。
 winな環境
 OS=Win7 64bit/CPU=i7 870( nehalemな2.97GHz 4コア)/メモリ16GB
 Macな環境
 Mac mini late 2012/OS=10.8.3/CPU i5( ivy bridgeな 2.5GHz 2コア)/メモリ 16GHz

キャンバスサイズはA4の350dpi。

 クリスタのバージョンは現時点の最新版 1.2.3
 ファイル読み込むごとにクリスタを再起動しています。

■やったこと

んで、 実施したこと。
1.まず、ベタ塗りレイヤー4枚を使って適当な内容の落書き。
2.フォルダマスクタイプ用のlipファイルAとクリッピングタイプ用のlipファイルBを作成。
3.A,Bそれぞれに上の画像と同じような4枚レイヤーを1セットとするレイヤーセットを作成。
4.落書きの内容をA、Bそれぞれのレイヤー構造に合わせてコピー。
5.A、Bそれぞれのファイルのレイヤーセットを100セット複製(レイヤー数400枚!)
6.それぞれ保存して終了。
7.A、Bそれぞれのファイルを一個ずつ開いて、挙動をなどを確認。
8.読み込んだ後、20,60,150pxのエアブラシや油彩ブラシで描き込んでストローク速度を見る。
9.最後に一番上のレイヤーをバケツツールで塗りつぶし。

以上で、さてどうなった。

■結果

読み込み時間アプリケーションメモリ情報
(メモリ使用量)
バケツツール前/後
ストロークの重さ
A.フォルダマスク
(win)
4:4436% / 40%
(フォルダは全部展開済み)
60pxまで実用範囲
150pxは追いつかない
A.フォルダマスク(mac)2:1534%/41%
(フォルダは全部展開済み)
60pxまで実用範囲
150pxは追いつかない
B.クリッピング
(win)
3:1975% / 100%20pxまでならなんとか
60pxは追いつかない
B.クリッピング
(mac)
1:3374% / 100%20pxまでならなんとか
60pxは追いつかない

■読み込み速度
 win/macともに読み込みはクリッピングタイプが速いようです。
 そしてコア数やクロックで劣るはずのMacのほうが読み込み速度が倍近く速かったこと。
 ただこれはCPUの世代が第三世代なi5macに対して、winは第一世代i7なので、メモリ速度など諸々違いますので、単純比較にはならないので参考程度に。

■メモリ使用量
 メモリ使用量については、win/mac共に同じ傾向が出ました。
 フォルダを閉じているとキャッシュ的な動作をするのかもと思い、全部のフォルダを展開させてみましたが結果は変わらず。
 100%とメモリを使い切ってしまったクリッピングタイプですが、レイヤーセットを半分の50にしたところ75%まで低下しました。(フォルダマスクタイプだと24%…)

■ストローク具合

 ストロークがフィーリングなのは申し訳ないのだけど、良い方法が思いつかなかったので勘弁を。
 ただ線を引く軽さは明らかに違っていて、Aが「するする~(カクッ)するする~」と定期的に重くなる瞬間があるものの、かろうじてペン先に追随しているので描けないことはありません。 Macの場合に限れば、(カクッ)もありませんでした。
 ただペンを速くぐりぐり動かすとさすがに追いつきませんでした。
 Bはwin/amcどちらも明らかにペン先に描画がついてきません。ペンを上げてもしばらく描画処理を続けてる様子。

■まとめ
  結果としてはフォルダマスクタイプが好印象です。
 特にベタレイヤーをマスクで削るような塗り方の場合は、色別にレイヤーが必要になるためレイヤー数が増えがちなので、良いかなと思います。

 ただこの結果は、合成モードが通常の場合ですので、乗算やオーバーレイなどを多用しているともっと早い段階で(少ないレイヤーで)限界が来ると思います。
 特に色調補正レイヤーを上の方に作ると一発で重くなりがちですね。

■おまけ
 フォルダマスクタイプのネックはレイヤーセットの作成に一手間いること。
 幸いクリスタにはアクション機能やレイヤーセットを素材として登録する方法があるので、一度作ってしまえば、毎回同じ作業を繰り返すという必要なさそうです。
 私は最新版からアクションをコマンドバーに登録出来るようになったので、レイヤーパレットの近くにアクションコマンドを配置して使っています。

 最後に私が使っているアクションファイルを置いておきます。

 >> DOWNLOAD <<

 アクションパレットの「セットを読み込み」で読み込めます。
 レイヤー名は自分が使っているものなので使いづらいかもですが。

 ではでは。

クリスタでインク溜まり加筆っぽいアクション

clip studio paintのプラグインコンテストの成果物が配布開始になりました。
一番の見所はやはり大賞の加筆プラグインでしょうか。

このプラグインは交点付近にインク溜まりのような塗りつぶしを付加するものです。
で、このプラグイン公開後にツイートで「一種のブラーぽいもの」というのを見まして、
ああなるほど、と。アクションでそれっぽいこと出来るかなと試してみたのが次のもの。

クリックで大きくなります。

csp_addpen.jpg
csp_addpen2.jpg

twitter用画像共有サービスに合わせたので縦横バラバラで申し訳ないのです。
こんな感じになりました、という感じです。
原理は簡単でぼかしてレベル補正で形を補正して二値化で潰す、というもの。
アクションではリアルタイムで効き具合をプレビュー出来るようにしています。

・ぼかし幅で効きが変わります。デフォルトより大きくしたり、小さくしてみたりしてください。
・ガウスぼかしフィルタを使っているので、値を変えてからプレビューまでワンテンポ遅れます。
・加筆部分は別レイヤーになるので、ゴミっぽいところは消してください。
・基本、モノクロな内容のレイヤーにしか使えません。(モノクロモードのレイヤーというわけではありません)
・通常機能のみ使用しているのでProの方でも使えます。
・ぼかしすぎると効果出ません。(アクションが進むと描画範囲がないので実行できないみたいな警告が出ます)
薄い(細い)線画だと効果が出にくいです。その場合は線画レイヤーを複製し、複製したレイヤーにさらに複製したレイヤーを結合する、などして濃くしたレイヤーで試してみてください。

アクションファイルはこちらになります。

興味本位の思いつきで作ってみた感満載なので、実用的か…は二の次です。

ClipStudioの「lipファイルの最適化」をコマンドラインで行ってみる

 まず最初にお断り。
 この記事は技術的な好奇心を試してみた、いわゆる「やってみた」系の内容でして、万人向けの小ネタとかじゃありませんので、トリビア的に知りたい人向けです。

 クリスタのlipファイル保存には、最適化というモードがあります。
 前にクリスタのlipファイルはsqlite3のDBファイルだよと書いた記憶がありますが、この最適化処理はsqlite3のvacuumという機能だろうと思っています。
 これは凄く乱暴に言うとレイヤーを作ったり消したりしているうちにlipファイルの中で余分な余白が出来てしまうので、その余白を詰めて順番に書き直す作業です。
 この余白はなんで出来るかというと、おそらくだけどクリスタはlipファイルを上書きする際、消えたレイヤーのデータがあった場所には「このデータはもう使ってないよ」という印をつけるだけで再利用しないんじゃないかなと、そのほうがファイルを書き換える量が少なくて済むしね。
 なのでレイヤーを作って統合して~を繰り返すような使い方をしているとどんどんlipファイルが大きくなる。
 それを詰め直すのが最適化だろうと思います。
 昔firefoxの起動が遅くなったらDBファイルを最適化すると速くなる、という話がありましたがあれと同じことをしているんじゃないかなと。
 
 んじゃクリスタを使わずsqlite3を使って最適化出来るんじゃない?というのが今回の趣旨。

 まずsqlite3を用意して適当なフォルダに展開して、400MB程度のlipファイルに対してvacuumとreindexを実行。
 で結果がこれです。
csp_vacuum.jpg


 クリスタで最適化したものとsqliteでvacuumしたものはほぼ同じになりました。
 この後、vacuumしたものをクリスタで開きましたが、一応開くことが出来ました。

 ただよく見るとvacuumしたほうが小さくなっています。
 小さくなっていることは良いことのように思えますが「本当は必要な情報まで削ってないのか?」という不安があります。
 クリスタの最適化はvacuumした後にまた何か情報を付加してるのかも、とか、用いているsqlite3のバージョンが違うからとか、いろいろ考えられますが、答えはセルシスさんのみが知る、という感じです。

 ちなみにファイルを開く速度も一応計ってみました。
 全部のファイルをSSDにコピーして、D&Dしてから画像が表示されるまでの時間をストップウォッチ片手に目測で計測。
 結果はどれも7秒から8秒と手動による誤差程度の差しかありませんでした。
 試した環境は次の感じ。
 win7 64bit Nehalemなi7-870 メモリ 16GB。
 Mac mini Late 2012(ivyのi5) MacOS X 10.8 メモリ16GB(こっちは内蔵HDD)。
 どちらもほぼ差なし。
 i5とi7で差がないですが、世代が2世代くらい違いますしメモリもMacのほうが速いのを使ってるので、そこら辺でとんとんになっているのかなと思います。

 まとめですが、大きな差が無い以上、出来る事なら最適化はちゃんとクリスタでやった方が安全です。
 万が一やってみるとしてもバックアップをちゃんと取っておくことをお勧めします。

 これを実行する場合はそうだなぁ、現在のクリスタEXだとページ管理下にあるlipファイルを最適化保存するとファイル名が変わってしまって管理ファイルとの紐付けがおかしくなる、という話も聞きますので、これらのファイルに対してどうしても最適化をかけたい、とか、大量のlipファイルをバッチでかけたいとかそういう特殊な事情がない限りは出番がない事だと思います。

 最適化で紐付けがおかしくなるのはおそらく今後正式のほうで対応するでしょうから素直に待った方が良いと思います。
 ほんとこれは「やってみた」という域を出ない話でした。
プロフィール

水玄ソバ

Author:水玄ソバ
下手の横好き。

MIDPINE名義はこちらへ。
SOBaLOG


suigensobaをフォローしましょう

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。