Component to get parallax effect with gyro
tags: Unity uGUI Android iOS
- Unityの2Dプロジェクト、または、3Dプロジェクトでも、常に最前面に張り付くタイプ(Screen Space - Overlay)のuGUIで、スクリプトなしで簡易的な視差効果を実現します。
デバイスを傾けると、向きと傾きに応じて、オブジェクトがスライドします。
同時に、複数のオブジェクトに対して、個別の設定で効果を付与できます。
この例では、大きさの異なる4枚の矩形を中心を合わせて配置し、それぞれにコンポーネントをアタッチして、大きいものから順に「Deepness=1~4」で設定しています。(他のパラメータはデフォルトのままです。)
※この例のシーンがアセットに付属しています。
- プロジェクトにアセットをインポートしてください。
- 対象のオブジェクト(Imageやスプライト)に、"ParallaxEffect"スクリプトをアタッチしてください。
- インスペクタでパラメータを調整してください。
- 通常、Editor上ではジャイロが機能しないので、動作の確認には実機が必要です。
パラメータ | 意味 |
---|---|
ShiftRatio | 傾きに反応する感度です。逆向きにスライドさせる場合は負数を指定します。 |
Deepness | 感度に乗じられます。 |
Movable Radius | スライドを制限する距離を指定します。0を指定すると制限されません。 |
Return Ratio | 中点に復帰する速度を指定します。0を指定すると自動復帰しなくなります。 |
Horizontal | 水平方向のスライドについて有効/無効を切り替えます。 |
Vertical | 垂直方向のスライドについて有効/無効を切り替えます。 |
ParallaxEffect.Reactable = ture; // or false … 全体の有効/無効を切り替えます。