ラベル 役立ち の投稿を表示しています。 すべての投稿を表示
ラベル 役立ち の投稿を表示しています。 すべての投稿を表示

Windowsのタスクバーをさらに細くする方法

タスクバーの位置は左位置安定の人こんにちは。

Windows10のタスクバーは左位置固定だと、どんなに設定しても不格好に太いです。

こんな感じ

あとアイコン一個分細くならないか、通知トレイのアイコンは一列にならないか、と思いの方向けに、海外掲示板でやり方を見かけたのでシェアする記事です。

設定方法


やり方はとても簡単です。
1. タスクバーの設定変更の定番ツール「7+ Taskbar Tweaker 」をインストールします。

2. インストールが終わったら通知トレイのところから右クリックして、「詳細オプション」を選びます。
上から3番目

3.「no_width_limit」の値を1にします。
カーソルのところを1
4.タスクバーを右クリックして「タスクバーを固定する」を解除し、好きなだけ細くする。

以上です。
これでこんな感じに出来ます。

通知トレイも一列になりました。
これで気持ちよく画面が広くなりました。

ちなみに、再起動後は「7+ Taskbar Tweaker」が起動するまで限界を超えて細くする機能が有効になりません。
なので、起動直後は太いままですが、しばらくすると設定した細さになります。
(SSDやM.2な環境でしたら一瞬だと思います)

デメリット

細くすることでデメリットというか、出来ないことがあります。
それはタスクのアイコンにラベルを表示することです。
標準のときは左右に少し隙間がありましたので、ラベルを表示すると頭数文字が見えました。
たくさんエクスプローラでフォルダを開く場合、この数文字でもどのアイコンがどのフォルダなのか一目で分かったので重宝します。
でもここまで細くするとそれが見えないのがデメリットだと思います。

この記事の続きを読む

クリスタのサブビューの中身を並び替えるツール作りました。

サブビュー入れ替えツール

サブビューをよく使うクリスタユーザーの皆さんこんにちは。
サブビューを長く使っていると、入れ替えたくなりませんか。
資料を表示したり、スポイドで色を拾えたりと便利なツールですが、順番を入れ替えたり、指定のページへ一気に飛んだりする機能がまだありません。
地味に待ってますが、まだありません。
最近追加したファイルと最初の頃追加したファイルを行ったり来たりするのが面倒!ということで、
クリスタのサブビューの設定ファイルを書き換えて、表示順を並び替えるWEBアプリを作りました。

CLIP STUDIO PAINTのサブビューを並び替えるツール

今現在出来るのは並び替えるだけで、削除や追加は出来ません。
後お約束ですが、編集するdefault.psvファイルはバックアップをとってからお使いください。

このWEBツールはお手元のPC内で処理が完結します。
ですので、サブビューの中身がどこかに送信されることはありません。大丈夫です。

動作について

一通りのメジャーどころのブラウザで動くはずです。
ただしiPad版のクリスタでは動かないと思います。
ファイル形式には問題ないのですが、iPadのブラウザからiPadのクリスタの設定ファイルまでたどり着けないのが原因です。

技術的なことを少し

サブビューの定義ファイルはsqliteなファイルです。
このファイルをローカルPCで処理が完結するために、JavaScriptだけでsqliteファイルを読んでSQLで書き換えて書き出しが出来という神ライブラリsql.jsを使っています。
sql.js、なんでもCで描かれたSqliteのコードを、EmscriptenでJavaScriptに変換しているという。そんなこと出来るんだーの世界です。
GUIはReactでサクッと、あとはwebpackとかを使ってます。


この記事の続きを読む

iPadで長文や小説を書くのに適したテキストエディタ話(2018年版)

今年もやってきましたこのコーナー。
私個人的にipadでガシガシ長文を書くのに適したアプリを紹介するコーナーです。

今年はテキストエディタアプリ界隈もある程度落ち着きを見せたのか、かつてのような勢いのあるリリースはなかったように思います。
ですが、そんな中で個人的におすすめしたいのが一つありました。
この記事の続きを読む

iPadで長文や小説を書くのに適したテキストエディタ話(2017年版)

去年末に書いた「iPadで長文や小説を書くのに適したテキストエディタ話(2016年版)」のアップデート版になります。
新規に登場したアプリや使い勝手が大きく変わったアプリ、新しく見つけたアプリが中心になります。

今回、取り扱うアプリは次の通りです。


  • iA Writer
  • Wrix
  • Tate Pad
  • その他
この記事の続きを読む

iPadでお絵描きの資料表示


iPad Proなどでお絵描きをするとき、資料を見ながら描きたいな、というときのやり方を私なりに模索したものを書いた記事になります。
最初に資料を表示する方法は3パターン思いつきました。
  • スマホに表示する
  • アプリ内で表示する
  • Split Viewに表示する
この記事の続きを読む

PureRefの画像にグリッドを表示する方法

PureRef


便利ばリファレンス画像表示ソフト、つまるところの資料画像表示に特化したビューアであるPureRefでグリッドを表示しよう、という話です。

PureRef自体の詳しい話はこちらにも書いています。
リファレンス/資料画像表示ソフト「Pureref」の使い方

資料のバランスを見るとき、デスケルな使い方としてグリッド表示があると便利かな、と思ったのですがPureRefには1.90現在がグリッド表示機能はありません。

ところがPureRefは透過画像に対応しています。
なのでグリッドでみたい画像の上に、背景が透明なグリッド画像を重ねればいけんじゃ。
ということで試してみました。

この記事の続きを読む

リファレンス/資料画像表示ソフト「Pureref」の使い方

※この記事は「資料画像表示ソフト「Pureref」のあれこれ」を大幅に加筆修正したものです。

PureRef

イラストなどのリファレンス画像を表示するのに特化した画像ビューアことPureref。
リファレンスを平たく日本語にすると参照や引用という意味で、イラストを描く人的に言えば何かを描くのに参考にする画像、資料用の画像ですね。
3Dだとビューの背面や板ポリに表示してモデリングのガイドにする下書きもそう呼ばれたりします。
「(作りたいものに対して)基準になる画像」的なニュアンスなんだと思います。

そんなPureRefはWin/Linux /Mac対応のドネーションウェアです。
ダウンロード時に金額は0から任意の金額が入力出来ます。気に入ったり開発を応援してくれるなら好きな金額を払ってね、という仕組みです。デフォルトは5です。
例えば0を入れるとそのままダウンロードへ移行します。それ以外ならPaypalの支払画面へと移行します。
アカウント的なものはありません。

対応形式は、BMP / DDS / GIF / ICNS / ICO / JPEG / JP2(JPEG2000) / MNG / PBM / PGM / PNG / PNM / PPM / PSD / TIFF / WEBP / XBM /XPM / TGA です。
Xnviewほどではありませんが、WEBPやJP2にも対応しているので必要十分だと思います。
(強いて言えばJPEG XRの姿がありませんが、普及度的に、まあいいかな、と)

メリット

PureRefは画像ビューアの中ではわりと特異なUI/UX を持っています。
大量の画像を素早く切り替えたり並べて表示することに特化しています。
前回作業終了時の環境をすぐに再現できること、というのも特徴です。

素早くグレイスケール表示が出来るというのもポイントが高いです。
グレイスケール化にあたっては、RGBに重みを付けてくれています。詳しい説明はここでは省きますが、「RGBの数値的には同じ明るさでも、青は暗めに見えよね、とか黄色は明るめに見えるよね、というのを考慮しますよ」という意味です。
色に惑わされずにシルエットや凹凸を見るのに使われます。

クリスタやPhotoshopで同じ結果を得るには、黒のレイヤーを上にのせてレイヤーモードをカラーにするか、クリスタの場合はレイヤーモードを「グレー」にする必要がありますので、ボタン1つで出来るのは便利です。
元画像
重き付け無し
重き付け有り


資料は描いているところと出来るだけ近いところのほうが、目線移動が少なくて便利です。
クリスタには資料表示用にサブビューというパレットがあります。
資料を表示したり、色を拾えたりと、とても便利な機能で最近だと反転機能も追加されました。
ただ、サブビューは画像に切替が「進む」「戻る」しかなく、画像の量が増えてくると切替が面倒になってきます。
(このあたり昔、リストで選べたり順番を入れ替えできたりしないかなと要望を出してみたのですが、わりとおまけ感がある機能なので優先度はかなり低そうです)

特徴

キャンバス

いわゆるWinのMassigraやMacのプレビューと大きく違うのは画像の表示の仕方だと思います。PureRefは1枚1枚の画像をページをめくるように表示するのではなく、大きなキャンバスにペタペタ貼り付けたように表示します。
キャンバスは画像が端に行くと自動的に拡張されます。

画像データ

異なるサイズの画像を自動で並べる機能があります。
そのとき、画像がリサイズされますがオリジナルのデータは保持されています。
なのでリサイズされたからといって画像の縮小されてディティールが飛ぶということはありません。
このあたりの操作感は「Mischief 」に似ています。

デフォルトでは設定ファイルpurに画像データが埋め込まれます。
なのでpurファイルをコピーするだけでwinやmacとOSや環境が変わってもデータを正しく再現出来ます。

多彩な機能

出来る機能を現在でざっくり列挙すると以下の通りです。(バージョン1.90)
  • 自由な画像配置
  • オリジナルを保持した拡大縮小、回転、反転が可能
  • 画像の指定箇所を切り抜き、後から範囲を変更可能
  • 画像単体、キャンバス全体をグレイスケール化
  • 選択画像を縦幅、横幅、全体サイズを基準にして自動で揃える
  • 選択画像を名前順、追加順、形状に応じて並べるタイリング
  • クリック位置のカラーコードを取得
  • 画像キャンバスの透明度を変更
  • マウスイベントを透過する機能
  • 他準起動可能
  • 複数の設定で起動可能
  • アプリがフォーカスされていなくても有効になるグローバルショートカットを割り当て可能
主要機能を挙動面を含めて意訳すると以下のような感じです。
機能 名称
-Action-
すべての画像を並べてキャンバス範囲を最適化 Pack All and Optimize
マウスやペンの情報を無視(透過) Transparent To Mouse
選択画像を画面一杯に表示(オーバーレイ) Overlay selection
ウィンドウのサイズを選択画像に合わせる Resize To Selection
ウィンドウの位置を固定 Lock Window
カメラ(ズームや位置)をリセット Reset Camera
カメラのズームだけをリセット Reset Camera Zoom
キャンバス内の画像のロック Lock Canvas
キャンバスのグレイスケール化 Grayscale
元の画像を開く Open Souce
画像の拡縮アルゴリズムをバイリニアに切り替え Toggle Bilinear Sampling
最適な方法で配置 Arrange Optimal
名前で配置 Arrange by Name
追加順で配置 Arrange By Addition
左方向に整列 Align Left
右方向に整列 Align Right
上方向に整列 Allign Top
下方向に整列 Allign Bottom
重ねる Stack
高さで画像サイズを揃える Normalize Height
幅で画像サイズを揃える Normalize Width
幅高さで画像サイズを揃える Normalize Size
-Controls-
画像移動 Pan
カラーコードを表示 Show Color code
画像座標を表示 show Image Coordinate
連続選択 Continuous Select
画像移動 Move Item
縦横軸にスナップして画像を移動 Axis Snapped Move Item
近くの画像にスナップして画像を移動 Neighbour Snapped Move Item
回転 Rotate
一定角度で回転 Snapped Rotate
拡縮 Scale
反転 Flip
画像の透明度を変更 Change Opacity
切り抜き Crop Selection
切り抜き範囲を移動 Pan Cropping
切り抜き範囲を拡縮 Zoom Cropping
画像を表示枠一杯に表示 Focus Image
次の画像をウィンドウ一杯に表示 Focus Next Image
前の画像をウィンドウ一杯に表示 Focus Previous Image
背面に送る Send To Back
前面に送る Send To Front
画像をキャンバスから削除 delete

TIPS的ななにか

調子に乗って画像を突っ込みすぎて、メモリを5GBも使うPurファイルを運用していた私が送る毎度好例のTIPS的なものです。
(さすがに今は1GB未満にしています)

画像を一気に敷き詰めたい/並べたい

Pack All and Optimizeを使います。
ショートカットは「Ctrl+Shift+P」 です。

並べた画像を一覧したい

いくつか方法があります。
  • ctrl+aの後にダブルクリック。(ロック中ならロックを解除してから)
  • Camera Resetを使う(ただし画像を拡縮してたりすると上手くいかないことも)
  • ホイールなどでズームアウトする

特定の画像だけ整列したい

画像を複数選択後にAlignかArrange。

Optimizeってなに?

キャンバスのサイズの外周余白無くし、必要な範囲に絞ることです。

拡縮や回転はどうするの?

特定のショートカットを押しながら画像をドラッグ

特定の画像を素早く見たい

画像をダブルクリック。ロック中でもオッケーです。

ブラウザで表示中の画像を読み込みたい

ブラウザから対象画像をD&D。
Pureref自体に画像ダウンロード機能があります。(HTTPS対応)
ブラウザから読み込まれた画像は、自動でpurファイル埋め込み扱いになります。

またはブラウザ上で画像のコンテキストメニューを出して「画像をコピー」、その後にPureRef上でペーストしてもオッケーです。

PureRefキャンバスを画像として出力したい

「Save>Export>Scene」で出来ます。

PureRefを起動しているとストロークが途切れる時がある

オートセーブ機能が有効になってると、オートセーブ間隔で一瞬アクティブアプリが切り替わります。

画像の色を拾いたい

Sキーを押すとカラーピッカーが表示されます。
表示されたからコードはPhotoshopなどにコピペすればオッケーです。

黒枠が邪魔

customizeにあるpresetをglassにすると背景色が透明になります。

グリッドを表示したい

PureRefの画像にグリッドを表示する方法

ロックはしたほうがいい?

正直、好き好きだと思います。
ロックをしない状態だとスクロール時にスペースバーを押す必要がありますが、よく見る画像を並べるとかクロップ・回転などが手軽にできるので便利、という見方も出来ます。

メモリを食いすぎる

大きな画像を大量に読み込んでいると、必然的にメモリ消費も増えます。
解決策としては
  • 大きな画像は縮小して読み込む
  • Purファイルを分割する
  • UNDO回数を減らす
という方法があります。縮小に当たってはSettingのところに「Auto downscale large image」というのがあります。これはD&D時に指定以上のサイズの画像を自動でリサイズしてくれる機能です。

Purファイルの分割は、用途別に画像を分けておく、というスタンダードな方法です。
またPureRefは複数起動が出来ますので、それらを組み褪せて使うという方法もあります。
Windowsの場合は、タスクバーにあるアイコンを中クリックすればいいですが、Macの場合は「open -n -a “PureRef”」で開く必要があります。

Undo回数を減らすと、長時間使っている間の増えるメモリを抑制することが出来ますが、固定値的なメモリ消費は変わりません。

設定ファイルはどこ?

windowsなら%appdata%\PureRef.iniです。
Macは…わかりません。~\library\preferences\の中にあるファイルかと思ったのですが、どうも違うみたいです。

異なる設定で起動

コマンドラインオプションで「-s 設定ファイルのパス」と指定すると、その設定ファイルで起動します。
パスはファイル名まで入れると、そのファイル名が使われます。

Purファイルが大きい

PureRefは画像は内部でPNGとして持ちます。
なのでPurファイルに画像を埋め込む際にJPGもPNG形式で保存されます。そのため、JPGのように高圧縮ファイルを配置していても、サイズが大きくなる傾向があります。
将来元の形式のまま保存する計画があるみたいですが、現時点では仕様みたいです。

Purファイルが壊れたら

コマンドラインオプション「----brute-force」を付けて起動すると、壊れた部分を無視して強制的に読み込みます。
そこで一旦画像をExportしてPurファイルを作り直すのが良いでしょう。

Export時のファイル名

キャンバス内の画像を一気に書き出すことが出来ます。
その際に、ファイル名規則を指定できます。
連番とオリジナルファイル名を組み合わせることが出来るのですが、どうも%0と%1は両方使用しないと正しく動作しないみたいです。重複上書き防止なのでしょうね。(%1単独だと連番になってしまいます)

商用利用していいの?

金額0でダウンロードしても、現時点では商用利用しても構わないそうです。(フォーラム
ですが、継続的な開発のために支援して欲しいとのことなので、気に入ったら寄付を検討して上げて下さい。
(将来的にはダウンロード販売をするプランはあるみたいです)

キーバインドにあるShortcut Contextって?

ショートカットを割り当てるときにある、Shortcut Contextというのは、そのショートカットが有効になる状況を指定するところです。
ApplicationはPurerefがアクティブになっているときに有効になります。
GlobalはPurerefがアクティブであるとなかろうと有効になります。
windowは現在アクティブになっているPurerefウィンドウのみに有効になります。多重起動時用です。

オススメのショートカット設定

普段使いのペイントソフトとキャンバス操作のショートカットを合わせておくと、混乱が少なくて良い感じだと思います。
例えばクリスタに合わせる場合は、Panを「Space+LMB」、Zoomに「Ctrl+Space+LMB」を追加で割り当てます。
なおショートカットは右の方にある+をクリックすると割り当てを追加できます。

最後に

今回も、画像じゃなくてアナログな本の資料を見るとき便利な書見台で私が使っているのをペタリを貼っておきます。

これ厚手の大判のものでもしっかり止まるので重宝しています。
あと、同メーカーと思われるアームスタンド付きのものも見つけたので合わせて貼っておきます。

actto BST-02 ブックスタンド(OEM品番:EDH-004)
価格:¥ 1,480 

Readaeer ブックスタンド 筆記台 書見台 本立て 6段階調整 竹製
価格:¥ 1,480
モルフォ人体デッサン 形態学による人体を描くための新テクニック
¥ 2,160
この記事の続きを読む

動物避け「ガーデンバリア」を導入した話

今回はちょっとお食事中の方はごめんなさいな記事です。

地震以降に引っ越したのですが、庭先に良く猫が粗相をしていきます。
朝起きて見てみると、砂地に小さな小山が出来ているわけです。この小山の中にいらっしゃるわけです。

これが実に玄関近くの絶妙な位置に、しかも毎回同じ場所にするので、うっかり踏みそうになります。

どうやら、ご近所さんあちこちで同様に粗相をされているようで、どうも同じ猫二匹の犯行の模様です。

私、猫は好きなんですけどね。飼っていましたし。
でも毎朝、起きて最初のお仕事は知らない猫様の粗相のお世話は中々ストレスです。

うっかり見逃すと夏場は臭いますし虫も来ます。踏んだのに気づかずに家に入ろうなら玄関の臭いが凄いことです。
子供もいて砂遊ぶが好きな年頃なので、うっかり宝を掘り当ててしまわれたら大変です。

いい加減に、対策を考えないと、という話になりました。

この記事の続きを読む

無料で使えるPC VRプレイヤー「Go Pro VR Player」

意外と無い、無料で使えるVR PCプレイヤー

ローカルに保存された全球型3D 映像映像いわゆるVR動画を再生するPCソフトウェアを探したら思いのほかに見つかりません。
スマホアプリなら沢山あるのですがことPCになるとぱったりです。
そんな中で見つけたのがgoPro VR Playerというプレイヤーです。

GoPro VR Player

元々はGoProで撮影した全球映像を再生するために配布されているwindowsおよびMacのソフトウェアですが、他で作られた映像も問題無く再生できます。

対応デバイスもOculusやVIVE(steamVR)と必要どころを抑えています。
デコーダーはVLCのライブラリ、Media Foundation(MacならAV Foundation)、DirectShowなど必要どころを抑えています。

3D方式はサイドバイサイド、上下とそれぞれ逆と必要十分を抑えています。
コントロール系はキーボードショートカットのほかGazeUI、入力インターフェースはHMD デバイスのコントローラの他LeapMotionやrealSense対応のカメラが使えます。

コマンドラインでファイルを渡しての起動やHTTPストリームからの再生、ついでにPremireProでVR動画を編集する際の確認用ビュアーとしても動作します。

json形式でのプレイリストにも対応しています。

ぶっちゃけ正直、VR動画プレイヤーとして必要十分です。

操作とショートカット

操作デバイスとして対応しているのは以下の機器です。
  • Oculus Remote
  • Oculus Touch
  • XBox One controller
  • HTC Vive controll

ショートカットはHキーを押すことで画面に表示されます。
※ V2.2以降はDキーに変わった模様。

後で出てくるスマホをHMDの代わりにするvridgeを使っている場合、コントロールに困ります。理由は単純にキーボードが見えないので。
なのでゲームパッドを繋いで、joytokeyなどで操作すると良い思います。

LOGICOOL ワイヤレスゲームパッド F710r
マイクロソフト ゲームコントローラー Bluetooth/有線接続/xbox one/Windows対応 PC用USBケーブル同梱 4N6-00003

プレイリストはUTF-8

プレイリストの書き方はここに説明が書いてあります。jsonという形式です。 
説明は英語ですが、例を見れば大体分かると思います。
気にする点は次の通りです。

- 文字コードはURF-8
- \などのパスの区切り文字は2つにする

プレイリストで書かれたファイルはalt+left/rightで再生順を制御出来ます。サムネイルを付加することも出来ます。

サムネイルを付加していてGaze UIを選択している場合は、画面上に表示されたサムネイルを注視することでも選択可能です。

vridge使いの場合

スマホをVIVEなどのHMD代わりにするvridgeというソフトウェアがあります。
vridgeはPCでレンダリングされた映像を一旦エンコードしてスマホに送るのですが、そのエンコードにGPUやCPUのエンコーダを使います。

この時にAPIがGoPro VR Player側と被るとあまりパフォーマンスが良くない事が多いですので、例えばvridgeがMedia Foundationでエンコードするなら、映像デコーダはVLCを使うなど分けた方が経験上良かったです。
このあたりは組み合わせもあると思いますので、試行錯誤すると良いと思います。

音声は今のところPCにヘッドホンなどを繋いでになります。
無線化したい場合はSoundWireアプリなどを使ってPCの音声をスマホに飛ばすことも出来ます。
ちなみにVridgeは音声込みのストリーミングを実装予定だそうで、早ければ5月くらいにはリリースされるのだとか。

格安スマホでのVR動画再生にも

VR動画を販売配信するサービスが増えましたが、格安スマホなどでは専用アプリで再生できないパターンがあります。
その理由は大きく分けて「ジャイロが無い」と「再生能力が足りない」の2つに分かれると思います。

販売されている動画は1920x2160というフルHDを縦に詰んだサイズのものが多く、1080p以上の再生が出来ないスマホだと再生時にエラーが出たり音だけになったりするわけです。
 
そんなときはPCの再生能力が十分ならGoPro Player+vridgeを使うことで回避することが出来ます。
もっとも販売サービスがPC用の試聴ソフトを用意していて、それがVIVE対応だったりするならば、Vridgeで一発です。
ただ某サービスではPC用ファイルよりもスマホ用ファイルのほうが画質が良かったりしますが、公式アプリはファイル形式で絞り込んでいるのか、スマホ用ファイルだとVR動画だと認識しなかったりします。こういうときはGoPro Playerの出番ですね。

GoPro Playerが使えるのは動画ファイルにDRMが掛かっていない場合に限ります。DMMとかはDRMが掛かっているので専用プレイヤーが必要になります。

vridgeはスマホだけではポジショントラッキングができませんが、この手のVR動画はポジショントラッキングは必要ないので十分でしょう。

youtubeなどのVR動画を見ようとして、スマホの再生能力以上のデータを受信するすることができないため、HMDゴーグルをつけても解像度が足りないがっかり映像になったりしますが、それも例えば「YouTube VR 360/3D Streaming Player for Vive」などを使うと4K映像で視聴できたりします。(もっとも4K 60fpsのストリーミングはかなりの回線速度が必要でしょうけども)


まとめ

無料という手軽さと、豊富な設定と機能を持ったGoPro VR Playerはローカル環境でのVR再生に持って来いだと思います。
 強いての懸念は、オープンソース等では無く、企業が一種の自社製品のためにある種サービスとして配布しているソフトなのでいつまでも配布されているかは分からないところ。仕方のないの無い話ですが。

最後に素敵なソフトウェアを配布してくれているGoProに感謝を込めて、せめてAAだけでも貼っておきます。


【国内正規品】 GoPro ウェアラブルカメラ HERO5 Black
ゴープロ (2016-10-03)
売り上げランキング: 155
この記事の続きを読む

[Unity] TouchScriptの覚え書き



TouchScriptって

Unityで個人的な物を作るとき、入力周りにはTouchScriptというアセットをよく使います。
TouchScriptというのは、マルチプラットフォームに対応したタッチ入力やジェスチャ入力を簡単に扱えるようになるアセットです。現在絶讃Asset Storeにて配布中です。無料です。
なんでもPokemonをGOするアプリにも使われていたとかなんとか。
簡単に使えるようになる、はずなのですが、よくセットアップ時に何か1つ抜けてたりするので備忘録ついでにブログに残してみます。

セットアップ

この記事はUnity5.4f3+Touchscript 8.2基準で書いています。

アセットをインポートしたら空のGameObjectを作り適当に「TouchManager」とか名前をつけます。
それにTouchScript/TouchManagerとTouchScript/InputSouces/Standard Inputのコンポーネントを追加します。Standard Inputは無くても自動で追加されるんですが、あった方が後々便利かなと思います。
ついでにプロジェクトから「TouchScript/Prefabs/Touch Visualizer」をhierarchyに放り込むとタッチの状態が視覚化できて便利です。

ジェスチャの計画

ゲームの種類や用途に応じてコンポーネントを追加していきます。
2DゲームならカメラにTouchScript/Layers/CameraLayer2Dを割りあてます。
3DならCameraLayerをカメラに割り当てます。
 
fullscreen Layerは全画面で反応するようにするもので、UI LayerはUI要素に反応するもの。こちらは後ほど説明します。

オブジェクトにジェスチャを割り当て

入力に反応して欲しいオブジェクトに対してジェスチャのコンポーネントを追加していきます。
TouchScriptにあるジェスチャコンポーネントで主要なものは以下の通り。
  • タップに反応する「TapGesture」
  • フリックに反応する「FlickGesture」
  • 長押しに反応する「LongPressGesture」
  • ドラッグ、ピンチ(拡大縮小)や回転に反応する「TransformGesture」
  • TransformGestureと基本同じだけどスクリーン座標を返す「ScreenTransformGesture」
オブジェクトを中心として一本指で回転やピンチをする「PinnedTransFormGesutre」
Transform系のGestureはpositionのみとかscaleのみとか振る舞いを絞り込むことが出来ます。

他にも指を離したときに特化したRelease Gestureとかありますが割愛です。
ちなみにScreen Transform Gestureは使ったことがないのでよく分かりません。FullscreenLayerと組み合わせてカメラ移動とかに使うのでしょうか?
これらから欲しい挙動のコンポーネントを反応させたいGameObjectに割り当ててます。
Colliderを追加するのも忘れずに。

特定のオブジェクトのタップを得る場合

反応させたいGameObjectにTap Gestureを割り当てます。
そして次のようなコードを書きます。
usingは必要に応じてTouchScript.Gesturesなどを追加して下さい。
void OnEnable()
{
    // TapGestureのdelegateに登録
    GetComponent<TapGesture>().Tapped += tappedHandle;
}

void OnDisable()
{
    UnsubscribeEvent();
}

void OnDestroy()
{
    UnsubscribeEvent();
}

void UnsubscribeEvent()
{
    // 登録を解除
    GetComponent<TapGesture>().Tapped -= tappedHandle;
}

void tappedHandle(object sender, System.EventArgs e)
{
    //処理したい内容
}

特定のオブジェクトのフリックを得る場合


反応させたいGameObjectにFlick Gestureを割り当てます。
そして次のようなコードを書きます。
usingは必要に応じてTouchScript.Gesturesなどを追加して下さい。

void OnEnable()
{
    // FlickGestureのdelegateに登録
    GetComponent<FlickGesture>().Tapped += FlickedHandle;
}

void OnDisable()
{
    UnsubscribeEvent();
}

void OnDestroy()
{
    UnsubscribeEvent();
}

void UnsubscribeEvent()
{
    // 登録を解除
    GetComponent<FlickGesture>().Tapped -= FlickedHandle;
}

void FlickedHandle(object sender, System.EventArgs e)
{

    var gesture = sender as FlickGesture;
    // ジェスチャが適切かチェック
    if (gesture.State != FlickGesture.GestureState.Recognized)
    return;
    // 処理したい内容
    // gesture.ScreenFlickVectorにフリック方向が入るので
    // if (gesture.ScreenFlickVector.y < 0)としたら下方向へのフリックを検知できる
}

ScreenFlickVectorを使ってフリック方向を得る事が出来ます。
その他に、反応する方向、距離や時間なども設定出来ます。インスペクタからも設定出来ますが、コードで設定する場合は こちらを確認すると良いです。

ドラッグ、拡大や回転を得る場合

反応させたいGameObjectにTransform Gestureを割り当てます。
TransformGestureについてはTransformerというコンポーネントを加えると、コードを書かずに移動や拡大を実現出来ます。もちろんイベントハンドラを使って自分でtransformを設定すればtransformerは使わないでもいいですが、回転や拡大縮小を使う場合は、ぐっと楽になります。

今回はTransformerを使う方法で書きます。
コンポーネント追加後はTransform GestureでPositionやScaleなど有効にしたいtransformを指定したら、これでとりあえずドラッグに合わせてオブジェクトが動きます。

あとはイベントハンドラを使って必要な処理を追加していきます。
usingは必要に応じてTouchScript.Gesturesなどを追加して下さい。

void OnEnable()
{
    // Transform Gestureのdelegateに登録
    GetComponent<TransformGesture>().TransformStarted+= TransformStartedHandle; // 変形開始
    GetComponent<TransformGesture>().StateChanged+= StateChangedHandle; // 状態変化
    GetComponent<TransformGesture>().TransformCompleted+= TransformCompletedHandle; // 変形終了
    GetComponent<TransformGesture>().Cancelled+= CancelledHandle; // キャンセル
}

void OnDisable()
{
    UnsubscribeEvent();
}

void OnDestroy()
{
    UnsubscribeEvent();
}

void UnsubscribeEvent()
{
    // 登録を解除
    GetComponent<TransformGesture>().TransformStarted -= TransformStartedHandle;
    GetComponent<TransformGesture>().StateChanged -= StateChangedHandle;
    GetComponent<TransformGesture>().TransformCompleted -= TransformCompletedHandle;
    GetComponent<TransformGesture>().Cancelled -= CancelledHandle;
}

void TransformStartedHandle(object sender, System.EventArgs e)
{
// 変形開始のタッチ時の処理
}

void StateChangedHandle(object sender, System.EventArgs e)
{
// 変形中のタッチ時の処理
}

void TransformCompletedHandle(object sender, System.EventArgs e)
{
// 変形終了のタッチ時の処理
}
void CancelledHandle(object sender, System.EventArgs e)
{
// 変形終了のタッチ時の処理
}
transfromerコンポーネントを使うとこれだけで2本指での拡大、移動、回転が可能になります。

PC上でマウスを使う場合は二本指ジェスチャは出来ないので、そのときはaltキーを押してクリックすると、そのクリックは「押しっぱなし」と見なされマルチタッチジェスチャを入力することが出来ます。

transformGestureのインスペクタ上にある「transform Type」の項目は以下のようにするとスクリプトで設定することが出来ます。
// using TouchScript.Gestures.Base;がある前提で
// 値には以下の値を入れる
// 回転ならTransformGestureBase.TransformType.Rotation
// 移動ならTransformGestureBase.TransformType.Translation
// 拡大ならTransformGestureBase.TransformType.Scaling
// 例
GetComponent<TransformGesture>().Type = TransformGestureBase.TransformType.Rotation | TransformGestureBase.TransformType.Scaling; 

画面全体のタッチを取得する場合

画面全体つまりオブジェクトが無いところで起きたタッチイベントを取得することが出来ます。

カメラの移動などに使ったり、画面を切り替えるとき、とにかく画面をタップしてほしい時などに使うのだと思います。

使い方はまずHierarchyに空のgameObjectを作り、touchManagerとfullScreenLayerコンポーネントをセットします。すると、TouchManagerコンポーネントに「FullScreen」レイヤーが認識された旨追加されます。

 後は作成したgameObjectにタップなどのジェスチャを割り当てていきます。内容は上のタップやフリックなどと同じです。

uGUIにジェスチャを割り当てる

やり方はFullScreenLayerとほぼ同じです。
FullScreenLayerの代わりにUILayerをGameObjectに割り当てます。
割り当てるのはべつにCanvasなどで無くともTouchManagerをセットしたGameObjectでも良いみたいです。

標準のuGUIとTouchScriptを混在させる

標準のuGUIとTouchscriptを混在して使う場合、例えばキャラクターの移動にはTouchScriptを使ってアイテムの選択にはuGUIを使う場合は、EventSystemにあるStandaloneInputModuleをTouchScriptInputModuleに置き換えます。
これをしないとuGUI側が無効になります。

タッチされた位置を知る

タッチの情報は、イベントハンドラ内のobjectから得ることができます。
例の場合、senderからタッチされた情報を得るには以下のようにします。

// transformGestureの場合

   var gesture = sender as TransformGesture;
   TouchHit hit;

   gesture.GetTargetHitResult(out hit);

これでhitにはタッチされた場所などの情報が渡されます。あとはhit.Pointで位置が取得で見ます。

hit.NomalにはタッチされたColliderとの法線が得られます。
例えば床に当たったときは(0f,1f,0f)が、壁等の場合は(1f,0f,0f)などが得られますので、必要に応じて組み合わせます。

シーン上のタップの状況を知る

TouchScriptにはタッチジェスチャごとにSendMassageを送ることが出来ますが、シーン全体のタッチを管理するTouchManagerのイベントハンドラからタッチ情報を得ることも出来ます。

// using TouchScript; として

// touchはTouchPointが入る
// touch.Idはタッチした順の値

   TouchManager.Instance.TouchesBegan +=
       (sender, args) => {
           foreach (var touch in args.Touches)
               Debug.Log("Began: " + touch.Id);
       };

    TouchManager.Instance.TouchesEnded +=
       (sender, args) => {
       foreach (var touch in args.Touches)
               Debug.Log("Ended: " + touch.Id);
       };

例ではtouchから TouchPointの情報を得ることが出来ます。具体的にはタップした順や位置、transform、入力方法などです。

ただこのイベントだと「どのオブジェクトがタッチされたか」しか分からないのです。(もしジェスチャまで分かる方法があるなら教えて下さい)
なので、ジェスチャごとの挙動は各ジェスチャのイベントハンドラに書いた方が良いでしょう。

複数のジェスチャを認識する

TouchScriptは一つのGameObjectに複数のジェスチャコンポーネントが割り当てられていると、排他的に登録順に処理していきます。

そのため、一つのジェスチャが認識中は他のジェスチャを認識しません。
例えば、とあるボタンは長押しをすると技の詳細表示、そのままフリックすると技を発動したい、とします。普通に割り当てたままだと、LongPressGestureがタッチ情報を掴んでしまいflickGestureへ流れなくなります。

そんな時はfriendlyGesturesというのを割り当てます。
やり方は、インスペクタから同時に認識させたいジェスチャのコンポーネントへジェスチャを含んだGameObjectをD&Dするか、スクリプトで割り当てます。

 
GetComponent<LongPressGesture>().AddFriendlyGesture(GetComponent<FlickGesture>());
 これで長押しとフリックが同時に認識するようになります。

まとめ

TouchScriptはやりたいことをイベントハンドラに登録すれば出来てしまうと言うお手軽さと、マウスでもマルチタッチジェスチャがテストできるのが素敵なフレームワークです。

なのですけど、多機能なだけに「これ、どこにセットするんだっけ」と毎回ググる羽目になるので自分宛の備忘録のつもりに書いてみました。

この記事からstackEditで書いて投稿しています。今更感満載ですが、markdownでかけるのは楽です。

Blogger標準のエディタも悪くは無いんですけど、WYSIWYGなエディタの宿命なのかよく分からない見出しタグが入るのが残念でした。
しばらくこれを試してみようと思います。
この記事の続きを読む

三角コーナー使う派と使わない派


 水回りの三角コーナー、使いますか。

 私は使う派です。さっさと次の行程に進みたいので野菜くずなんかをささっと捨てる場所が欲しい。

 一方の奥様は使わない派です。そこにゴミがあるってことはコーナーを洗わないといけないし洗い物が増えるのが嫌、サボると虫が来るから嫌という派です。
 
 この両者の溝は地味に長い懸案事項だったのですが、引っ越しの際に買ったアイテムがなかなか良く、両者のいいとこ取りだったのでつらつらと書いてみます。

この記事の続きを読む

地震の時に役立ったもの (食べ物編)

水の大切さを知る


 熊本地震では水道が止まりました。
 月並みな表現ですが、蛇口を捻れば水が出ていた生活がなんと便利なことかと思い知りました。
 私の場合は、避難で身を寄せた先に井戸を掘っている工場が近くにあり、洗い物に使う生活用水は分けて貰うことが出来ました。
 ただ井戸水は地震の影響で濁ってしまったり、水質検査を長いことしていないこともあり、さすがに飲むのは控えてくれとのことでした。まあ普通の時でも飲まない水ですしね。

ということでペットボトルのお水しか基本的には飲めない状況でした。


この記事の続きを読む

地震の時に役立ったもの (家具編)

熊本地震から7ヶ月


 今日は熊本地震発生から7ヶ月目になります。
 早かったような、まだ、というような7ヶ月でした。
 そして今日未明にニュージーランドでも大きな地震がありました。
 亡くなられた方につきましてはお悔やみ申し上げます。
 現地では余震が続いているとのことですので、不安な時間をお過ごしの事と思います。
 一刻も早い収束をお祈り致します。

 地震予知というのが完全には出来ない上にどこで地震が起きても不思議ではない日本では、いつでも誰かが地震の被害に遭うものだと思っていた方が良いのだと今回の経験で思いました。
 だって熊本なんて地震のリスクが低いと言われ続けていたのです。地震保険も下から数えた方がはやいくらいの安さで、さらに前述のような認識だったものですから地震保険に入っていない人も多かったと噂で聞きます。


 備えあれば憂い無し、といいます。
 私は決して備えが十分ではなかったのですが、それでも地震の発生直後からしばらくの間で役に立った、もしくは助けられたアイテムやノウハウを書いておこうと思います。


この記事の続きを読む

リアルなハイライトや陰影色を教えてくれる「Colour Constructor」というお絵描き支援ソフト


 今回は海外のお絵かき系ウェブをふらふら巡っていたら見つけたツールをご紹介してみる回です。

 リアルな色って?


 リアルって言葉はよく使われますが、意外と意味は人それぞれで「正確性」と取る人もいれば「現実的」と取る人もいます。ちなみに自分は「説得力、もっともらしさ」という風に受け止めています。
 さて、ここでいうリアルは「物理則を再現しようとしたとある計算モデル上で正しい」という意味で、最近ゲーム界隈でよく耳する「物理ベースレンダラ」風の仕組み*1を使って、手軽に物の色を知ろうというのが「Colour Constructor」というツールです。
 Gumroadというシステムを使って販売されており、Win版とMac版があります。

 *1 フォーラムの作者のコメントを見るととりあえずランバート反射とかは計算しているよう。
 
 とりあえず、実際に使用している様子の動画はこちら。



この記事の続きを読む

chromeのSpeed dial2のサイドバー項目の間を詰める


 よくあるchromeへ引っ越しました話です。

 chromeへお引越し


最近firefoxからようやくchromeに引っ越しました。
 前から何度かチャレンジしていたのですが、firefoxで愛用していたspeed dialの代わりが中々見つからず、片足踏み込んでは引っ込めて、を繰り返していました。
 この度、ようやく両足を踏み出してほんの一部を除いてほぼ軸足をchromeに切り替える事ができました。
 firefoxに何かしら大きな不満があるわけじゃないのです。(昔は起動速度などで移行を考えたのですが最近はそうでもないですし)。
 ただFirefoxが今後、WebExtensionsを採用してchrome互換の機能拡張になるのなら、本家のchromeで良くないかなと。そんな程度の理由です。

Speed dial変わりはSpeed Dial2


 Firefoxでブックマークいらずの快適さだったSpeed dialはchromeではspeed Dial2になりました。
 名前は同じですが作者は違うようです。
 Speed Dial2にはサイドバーという機能があり、ブックマークや最近閉じたページをfirefoxのサイドバーライクに表示することが出来ます。
 サイドバーという概念がないChromeに引っ越してきたFirefoxユーザーとしてはありがたい機能です。
 Firefoxの時は普段使いのブックマークはspeedDialを使い、登録するまでもないちょっとしたメモ的なものはSave-to-Readというアドオンを使っていました。このアドオンの代用にサイドバーを使おうとおもったのですが、このサイドバー少し余白が大きくはありませんかい?という感じ。
 幸いSpeed Dial2にはCSSで表示をカスタマイズする項目があります。
 そこでサイドバー関係の値を少しいじってみることにしました。

#sidebars ul li a {
  overflow: hidden;
  white-space:nowrap; 
  text-overflow: ellipsis;
  display: block;
  background-repeat:no-repeat; 
  background-position: 20px center;
  padding: 3px 20px 3px 52px;
}


このCSSを「設定->ブックマークの外観→(下の方のカスタム CSS を追加)に貼り付けます。
その結果が次のような感じ。



左がデフォルト。右が適用後。
かなり詰まっています。私的にはいい感じです。
調節したい場合は、paddingの3pxとなっている二つの値を大きくしたり小さくしたりしてみてください。

 chromeはいいけれど


 silverlightが使えないのでdアニメだけはFirefoxで開いています。
 これが「ほんの一部を除いて」の理由です。
 FirefoxもNPAPIはサポートやめるらしいし、当のMSもedgeには採用していないし、事情はなんとなく判るのですが、dアニメさんには頑張って欲しいところです。
 既存資産のDRMをどうするかとかインフラ移行のコストとか頭が痛そうですが…。
 iOSとかはplayReadyだけの組み込み版があるそうなのでiOSアプリ版はそれを使ってるんだと思うんですが、PCブラウザでのplayReadyどうするんでしょうね。
この記事の続きを読む

資料画像表示ソフト「Pureref」のあれこれ



 ※1.90がリリースされた際に、大幅に加筆修正した記事「リファレンス/資料画像表示ソフト「Pureref」の使い方」があります。

 イラストなどの資料を表示するのに特化した画像ビューアことPureref。
 Win/Mac両対応のドネーションウェアで、とても便利に使っています。
 いわゆるWinのMassigraやMacのプレビューと大きく違うのは画像の表示の仕方だと思います。PureRefは1枚1枚の画像をページをめくるように表示するのではなく、大きなキャンバスにペタペタ貼り付けたように表示します。
 そのキャンバス内でなら画像単位で反転や回転、切り抜きなども出来ますので、気になるところだけを切り抜いた並べるなど、さながらPhotoshopのスマートオブジェクト部分だけを抜き出したような機能性を持っています。

 画像ビューアの中ではわりと特異なUI/UX を持っているPureRefは、名前にRefとついているように資料参照の用途に特化しています。
 曰く大量の画像を素早く切り替えて表示すること。好きなような見え方で表示すること。常に見られること。前回作業終了時の環境をすぐに再現できること、です。

  ちなみにクリスタには資料表示用にサブビューというパレットがあります。
 資料を表示したり、色を拾ってこれたりととても便利な機能なのですが、画像に切替が「進む」「戻る」しかないので画像の量が増えてくると切替が面倒になってきます。
 このあたりリストで選べたり順番を入れ替えできたりしないかなと要望を出してみたのですが、わりとおまけ感がある機能なので優先度はかなり低そうです。

 さてPureRefに話は戻りますが、基本的な使い方は他のページに譲るとして、ここでは知っておくとちょっと便利かもというtipsを書こうかなと思います。ようするにいつものあれです。

■画像を一気に敷き詰めたい/並べたい
「ctrl+shift+p」 で全部の画像がoptimizeされます。
 やってることはctrl+a→ctrl+pと同じです。

■並べた画像を一覧したい
 ctrl+aの後にダブルクリック。(ロック中ならロックを解除してから)
 個人的にはホイールでカメラをズームアウトするか、ペンタブの設定でpurerefの時はサイドスイッチに「スクロール/移動」を割り当てるのがいいかなと思います。

■purerefを起動しているとストロークが途切れる時がある
 オートセーブ機能が有効になってると、オートセーブ間隔で一瞬アクティブアプリが切り替わるぽい。これをオフにすると治りました。

■画像の色を拾いたい
 Sキーを押すとカラーピッカーが表示されます。
 表示されたからコードはPhotoshopなどにコピペすればオッケーです。
 ただクリスタの場合は、カラーコードを入力することが出来ないので、クリスタの機能にある「画面の色を拾う」コマンドを使ったほうが良いと思います。
 クリスタも1.64でカラーピッカーが改善されてカラーコードが使えるようになりました。

■黒枠が邪魔
 customizeにあるpresetをglassにすると背景色が透明になります。

■ロックはしたほうがいい?
 正直、好き好きだと思います。
 ロックをしない状態だとスクロール時にスペースバーを押す必要がありますが、よく見る画像を並べるとかクロップ・回転などが手軽にできるので便利、という見方も出来ます。

 最後に画像じゃなくてアナログな本の資料を見るとき便利な書見台で、私が使っているのをペタリを貼っておきます。
 これ厚手の大判のものでもしっかり止まるので重宝しています。

 ではでは。

actto BST-02 ブックスタンド(OEM品番:EDH-004)
actto corp.
売り上げランキング: 216
この記事の続きを読む

いろいろ

■GWのこと

GW如何お過ごしでしたでしょうか。
 私の今年のGWは子供が夜中に高熱を出して病院へ駈け込んだり、そのまま初節句に突入して、今度は親が風邪で倒れる、というドタバタで終わりました。
 Paintstorm Studioのバージョンアップあったりしたので、GW中に配信あたりしようかと思ったのですが、その予定は脆くも崩れ去りました。
  ただ配信はいつかしたいですね。

■OS X 10.10とG13

Mac OS 10.10ことYosemite対応のG13ドライバを使うと、スペースキーがうまく入力されずに困っています。ちなみに「かな」キーを押すとG13さんはスペースキーだと認識するみたいで1個ずれてるみたいです。
 昔、このことに触れていたブログがあった記憶があるのですが、今探しても見つからず。

 追記 ブログじゃなくて公式のフォーラムだったぽい。

 純正のUSキーボードも持ってるので、そっちをつなげば問題なさそうなんですが、bootcampに設定してるwindowsはキーボードレイアウトをするとレジストリを変えたりしないといけないので、そのことを考えると二の足を踏んだり。

■G13

G13はかなり重宝している機械です。
 いわゆるゲーム用の左手キーボードですが、ソフト毎に各ボタンに好きなキーを割り当てることが出来ます。
 これが何がいいかって、ソフトによるショートカットの違いをG13が吸収してくれるんです。 例えばAのソフトだと回転はRキーなのにBのソフトだとCだとします。G13は「回転は10番ボタン」と自分の中で決めて割り当てておけば、ソフトの違いを気にせずとりあえず10番キーを押せばオッケーということに。
 ソフトのショートカットをカスタマイズするという方法もありますが、設定を書き出せないタイプだとソフトのインストールのたびに設定しなくちゃいけなかったり、アップデートで設定ファイルがクリアされたり…というのはわりとある話です。
 お絵描きさんや3Dソフトなどショートカットキーをバリバリ使われる方にオススメな機械です。
 そろそろ後継機種出ないかなぁこれ。


 
LOGICOOL アドバンスゲームボード G13r
ロジクール (2013-06-14)
売り上げランキング: 944
この記事の続きを読む