Shaderでメガネ
PCメガネを割と強めに床においたら壊れてしまいました…
そんなわけで、今回はメガネでShaderの練習。
PCメガネを割と強めに床においたら壊れてしまいました…
そんなわけで、今回はメガネでShaderの練習。
雨が最近多く、窓を見ていて、これShaderでできるかなと思い、習作。
ちょっと重いので実用的ではないかな。
まずはStandardのShaderをコピーして、surfaceシェーダー内にパラメーターで設定を増やした_Contrastを掛けるだけバージョン。
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color; c.rgb *= _Contrast; // 足した
次はRGBからYCbCr色空間に変換して輝度を調整。
Preference > Text Editor > Behaviour > enable on the fly code formatting
これをオフにする。
やっと見つけた。
ShaderでImageをかき混ぜる様なShaderの勉強。
Continue…
uGUIのImageに、マウスの位置に波紋を表示してみる。
まず、波紋の式はこちら。
単位の波紋に対してスケール用の式を掛け合わせる。(半球をかぶせる感じ)
(なぜか角っこがジャギる…)
Continue…
Shaderの勉強で、昔よくみたスクリーンセーバーみたいなものを作ってみた。
今回はuGUIのImageに対して行ったので、まずはUnityのDLページのDLボタンの右の方を押すと、シェーダーだけDLできる。
「Chiki Chiki Chicken Race」というアプリをリリースしました。
ヒヨコちゃんがレースするゲームで、わりとムズゲーです。
無料ですのでよければ遊んでみてください。
遅い端末だとTouchScriptでフリックが判定されなかった。
座標の取得をUpdate()で行なっているっぽいので、フレームレートが落ちると一定期間内の座標の取得が減ってしまうし、なんか取得された座標の移動量も0となっていてFlickとして判定されなかった。Flick Gestureの設定でFlick Timeを0.3にして判定時間を長くした。
Flick Timeは収集するタッチ座標の最大限の時間なので(ゆっくりのフリックも許容するよって意味)、これを伸ばしても特にフリックがもたつくとかではないです。
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も含め。