Shaderでコントラスト

まずはStandardのShaderをコピーして、surfaceシェーダー内にパラメーターで設定を増やした_Contrastを掛けるだけバージョン。

fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
c.rgb *= _Contrast; // 足した

次はRGBからYCbCr色空間に変換して輝度を調整。

Continue…

Shaderで波紋


uGUIのImageに、マウスの位置に波紋を表示してみる。
まず、波紋の式はこちら。

単位の波紋に対してスケール用の式を掛け合わせる。(半球をかぶせる感じ)


(なぜか角っこがジャギる…)
Continue…

TouchScriptのFlickの判定

touchscript_flick_span
遅い端末だとTouchScriptでフリックが判定されなかった。
座標の取得をUpdate()で行なっているっぽいので、フレームレートが落ちると一定期間内の座標の取得が減ってしまうし、なんか取得された座標の移動量も0となっていてFlickとして判定されなかった。Flick Gestureの設定でFlick Timeを0.3にして判定時間を長くした。
Flick Timeは収集するタッチ座標の最大限の時間なので(ゆっくりのフリックも許容するよって意味)、これを伸ばしても特にフリックがもたつくとかではないです。

TouchScript利用時にボタンが2回呼ばれる(iOS)

TouchScriptの現最新版(version 9.0)を使って、iOSに転送するとボタンが2回呼ばれることがある。
TouchScriptのレイヤーはFullscreen Layerを使ってる。
ログを見ると

UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress
TouchScript.Core.TouchManagerInstance:updateReleased

と2回呼ばれている。UnityEditorでは発生しない。

Fullscreen Layerの代わりに、Standard Layerを使ってみたけど、今度はEventSystemにTouchScriptInputModuleというコンポーネントが設定され、指定のレイヤー以外のボタンが反応しなくなる。というかなんか挙動がおかしい… こっちはUnityEditorも含め。