【Sketchドロー】バグと裏技と
今回はSketchドローのバグと裏技について語ってみたいと思います。
おことわり
ひょっとしたら私の使っているスマホに経年劣化などの問題があって、これがバグを引き起こしている可能性もあります。もしそうであったらごめんなさい。
ただ、今のピクスケアプリではもう安心して絵が描けない状態で、この状況に耐えかねているのは事実です。恨み節ではないですが、できるだけ冷静に、大人な文章でバグレポートを書いてみたいと思います。
バグ
バグはイヤなものです。職業柄自分の書いたコードに「バグが出た」と聞けばもうその日は憂鬱です。ただ、一番イヤな思いをしているのは利用者なので、エンジニアには頑張って直して欲しいです。ブーメランを投げているような、耳が痛い発言なので正直あまり言いたくはないです。
この記事を書いている時点での情報なので、これを読んでいる時にはひょっとしたら直っているかもしれません。もしピクスケアプリのエンジニアが読んでいたら直してください。お願いします。
この記事は Android版 9.4.24 (2024/06/19更新) をもとに書いています。当然ながらSketchドローWeb版とiOS版には当てはまりません。
線画が消える
職業柄バグを見つけると発生原因をあれこれ推測するんですが、これは本当に見当がつきません。とにかくなぜか線画だけが消えるバグがあります。
発生するのはスケッチブックにお絵描きをしていて、保存して戻るを選ぶ、次に保存したスケッチブックを再度開くと、線画だけが消えているのです。
これは絵描きには結構ダメージが大きいです。保存しているのに正しく保存されていないというのが不可解です。保存処理時に線画レイヤーをクリアしてから保存しているのか?読み込み時にクリアしてしまうのか?全然分らないんですが、なぜか線画を描いたレイヤーだけ内容がキレイさっぱりクリアされているのです。なぜ線画だけ?どうやって線画と判断して狙い撃ちしているのか?何が起こっているのかさっぱりわかりません。
最初はクリッピングレイヤーを使ったときによく発生していたので、これが原因かと思ったんですが、後日使っていない場合にも発生したので、クリッピングレイヤーが原因ではありません。とにかくレイヤーを追加したら発生する可能性が出る、と考えてよさそうです。レイヤー使えへんやん。
ならば、線画レイヤーをバックアップ的に複製してから保存すればいいのでは?と思ったんですが、うまくいったと思ったら、別の機会で見事に複数の線画レイヤーが全部クリアされていることがあって打ちひしがれました。
線画レイヤーの優先度の問題かと思ったりもしましたがこれも関係なさそう。真っ黒一色なのがいけないのかとおもって違う色で線を描いてもだめ。
現在のところは「保存しないで全部描き切る」のが安パイ。線画レイヤーを単色にしないで何か別の色でちょこっと描いておくというのが現在試している方法です。下書きレイヤーはいつも単色だけど消されたことがないので、ひょっとしたらハードブラシがやばいのかも、というのはちょっと考えています。とにかく、いまのSketchドローで長期戦は無理だ、という認識です。
全部アンドゥされる
これは最近のアップデートで発生するようになったバグです。投稿画面のUIデザインが変わったあたりのアップデートが怪しい気がします。
Androidのアプリは使っていないものをバックグラウンドに回すことができますが、このバグはピクスケアプリをバックグラウンドに回すと発生することがあります。たぶんメモリ関係のバグなんだろうなという気がしています。
スマホのみで描いていると、参考資料を見たりするのにピクスケアプリをバックグラウンドに回して、Web検索したりとかしますよね。そうしてピクスケアプリに戻ってきたときに、なんか真っ白な画面でちょっとフリーズしたなと思ったら、なんとそこまで描いた内容を全部アンドゥされてしまうことがあるのです。もう完成間近まで描いたのに、なんか下書きしか残ってへん…。そういう憂き目に3、4回は遭遇しました。
アンドゥバッファが全部なくなってしまう感じで、リドゥはできません。なので描いた過程を復元することは不可能です。
参考資料を同じスマホで見なければいいんでしょうが、外出先だったりするとそうはいきません。あと、私はお題絵の制作時間をアプリタイマーで測っていたので、アプリ情報から利用時間を見てアプリに戻ってきたら描いたものがほぼ全部消えてたという悲劇です。
これはどう回避すればいいのか、というと、やっぱり「保存しないで全部描き切る」しかないんです。なんなら投稿までしてしまう。
でも、さすがにそうもいかないことがあるので、線画レイヤーが消えるのを覚悟で、保存して戻るか、後述の裏技を使って凌ぐかのどちらかしかありませんでした。
この現象が発生した場合、そのあとの挙動は以下の3パターンがあるようです。
アプリがクラッシュして落ちる
完全にフリーズする(強制終了するしかない)
そのまま継続動作する
プチフリーズ
これも最近起こるようになった問題です。たぶん今年前半のどこか。
絵を描いていると唐突にフリーズして一切の操作を受け付けなくなります。
ピンチでキャンバスをズーム操作すると発生しやすい気がします。
数秒待てば回復するんですが、線をスムーズに引けないので結構イライラします。
2024/07/24追記:
プチフリーズについてはタイムラプス機能をオフにすれば解消することがわかりました。操作の定点でストレージアクセスなどをやっていて、その処理が重いのでフリーズしていると考えられます。やっぱり使っているスマホが古いとかいうところに原因がありそうです。
裏技
この裏技を見つけたのは(今は直ったとされている)「ピクスケにログインできない」バグを踏んだときです。ピクスケに投稿するにはログインが必須なので毎日投稿していたお題絵を投稿できず、ものすごく困りました。
このときはサポートに連絡したんですが、サポートが「修正しました!」といっているバージョンにアップデートしても改善しませんでした。
アプリを再インストールすれば改善するのはなんとなく分かっていたんですが、アプリを削除してしまうとスケッチブックデータが全部消えてしまいます。投稿できないままになっているお題絵をどうすればいいのか?
色々と調べていると、実はピクスケアプリで投稿画面を開くと、最終的な画像がPNGにエクスポートされていることに気が付きました。
具体的には、メインストレージの、
Android/data/jp.pxv.android.sketch/files/Pictures/pixivSketch
の中です。
私はずーっと、ピクスケアプリで描いた絵は、投稿しないかぎりPNGで取り出せないと思っていたので、この挙動は大発見でした。
スケッチブックデータのレイヤー構造は失われますが、画像は保護されるし、ここから画像をコピーすればピクスケに投稿せずにデータを取り出すことができます。Xだけに投稿するとか、他の用途に使うことも可能なのです。
おしまいに
アプリのバグというものは本当にいやなものです。とりわけお絵描きツールにおいて絵のデータが消えるというのは最悪です。
開発しているエンジニアには色んなところが痛い話だ、というのは重々お察しするんですが、一番重要な部分なので真摯に修正対応していただきたいものです。
間違っても「クリスタ使えよ」とか言ってはいけません。
最後まで読んでいただいてありがとうございました。