Example #1
0
        public void AddHaptics(IHapticsAware haptics)
        {
            HapticsConfig onUse   = haptics.HapticsOnUse();
            HapticsConfig onTouch = haptics.HapticsOnTouch();
            HapticsConfig onGrab  = haptics.HapticsOnGrab();

            VRTK_InteractHaptics interactHaptic = _gameObject.GetComponent <VRTK_InteractHaptics>();

            if (interactHaptic == null)
            {
                interactHaptic = _gameObject.AddComponent <VRTK_InteractHaptics>();
            }

            if (onUse != null)
            {
                interactHaptic.strengthOnUse = onUse.Strength;
                interactHaptic.intervalOnUse = onUse.Interval;
                interactHaptic.durationOnUse = onUse.Duration;
                //TODO:проверить, нужен ли этот метод в принципе
                //Убрано при обновлении VRTK
                //interactHaptic.cancelOnUnuse = onUse.CancelOnUnaction;
            }
            else
            {
                interactHaptic.strengthOnUse = 0;
                interactHaptic.durationOnUse = 0;
            }

            if (onTouch != null)
            {
                interactHaptic.strengthOnTouch = onTouch.Strength;
                interactHaptic.intervalOnTouch = onTouch.Interval;
                interactHaptic.durationOnTouch = onTouch.Duration;
                //TODO:проверить, нужен ли этот метод в принципе
                //Убрано при обновлении VRTK
                //interactHaptic.cancelOnUntouch = onTouch.CancelOnUnaction;
            }
            else
            {
                interactHaptic.strengthOnTouch = 0;
                interactHaptic.durationOnTouch = 0;
            }

            if (onGrab != null)
            {
                interactHaptic.strengthOnGrab = onGrab.Strength;
                interactHaptic.intervalOnGrab = onGrab.Interval;
                interactHaptic.durationOnGrab = onGrab.Duration;
                //TODO:проверить, нужен ли этот метод в принципе
                //Убрано при обновлении VRTK
                //interactHaptic.cancelOnUngrab = onGrab.CancelOnUnaction;
            }
            else
            {
                interactHaptic.strengthOnGrab = 0;
                interactHaptic.durationOnGrab = 0;
            }
        }
Example #2
0
        /// <summary>
        /// The system calls this each frame to update haptics playback.
        /// </summary>
        public static void Process()
        {
            HapticsConfig.Load();

            for (var i = 0; i < m_outputs.Length; i++)
            {
                m_outputs[i].Process();
            }
        }
Example #3
0
        static Haptics()
        {
            HapticsConfig.Load();

            m_outputs = new HapticsOutput[]
            {
                new HapticsOutput((uint)Plugin.Controller.LTouch),
                new HapticsOutput((uint)Plugin.Controller.RTouch),
            };

            Channels = new HapticsChannel[]
            {
                LeftChannel  = new HapticsChannel(0),
                RightChannel = new HapticsChannel(1),
            };
        }
Example #4
0
        private void AddHaptics(IHapticsAware haptics)
        {
            HapticsConfig onUse   = haptics.HapticsOnUse();
            HapticsConfig onTouch = haptics.HapticsOnTouch();
            HapticsConfig onGrab  = haptics.HapticsOnGrab();

            ObjectInteraction.InteractHaptics interactHaptic =
                InputAdapter.Instance.ObjectInteraction.Haptics.GetFrom(_gameObject)
                ?? InputAdapter.Instance.ObjectInteraction.Haptics.AddTo(_gameObject);

            if (onUse != null)
            {
                interactHaptic.StrengthOnUse = onUse.Strength;
                interactHaptic.IntervalOnUse = onUse.Interval;
                interactHaptic.DurationOnUse = onUse.Duration;
            }
            else
            {
                interactHaptic.StrengthOnUse = 0;
                interactHaptic.DurationOnUse = 0;
            }

            if (onTouch != null)
            {
                interactHaptic.StrengthOnTouch = onTouch.Strength;
                interactHaptic.IntervalOnTouch = onTouch.Interval;
                interactHaptic.DurationOnTouch = onTouch.Duration;
            }
            else
            {
                interactHaptic.StrengthOnTouch = 0;
                interactHaptic.DurationOnTouch = 0;
            }

            if (onGrab != null)
            {
                interactHaptic.StrengthOnGrab = onGrab.Strength;
                interactHaptic.IntervalOnGrab = onGrab.Interval;
                interactHaptic.DurationOnGrab = onGrab.Duration;
            }
            else
            {
                interactHaptic.StrengthOnGrab = 0;
                interactHaptic.DurationOnGrab = 0;
            }
        }