コード例 #1
0
ファイル: BlinkVisuals.cs プロジェクト: timkulp/EditorVR
        private void Awake()
        {
            viewerScale                = 1;
            m_LineRenderer             = GetComponent <VRLineRenderer>();
            m_LineRendererMeshRenderer = m_LineRenderer.GetComponent <MeshRenderer>();
            m_BlinkMaterial            = MaterialUtils.GetMaterialClone(m_RoomScaleRenderer);

            foreach (var renderer in m_LocatorRoot.GetComponentsInChildren <Renderer>())
            {
                renderer.sharedMaterial = m_BlinkMaterial;
            }

            if (!m_ToolPoint)
            {
                m_ToolPoint = transform;
            }

            m_RoomScaleTransform               = m_RoomScaleRenderer.transform;
            m_RoomScaleTransform.parent        = m_LocatorRoot;
            m_RoomScaleTransform.localPosition = Vector3.zero;
            m_RoomScaleTransform.localRotation = Quaternion.identity;

            m_Transform = transform;

            m_LineRenderer.SetVertexCount(m_LineSegmentCount);
            m_LineRenderer.useWorldSpace = true;

            m_MotionSpheres = new Transform[m_MotionSphereCount];
            for (int i = 0; i < m_MotionSphereCount; i++)
            {
                var sphere = ((GameObject)Instantiate(m_MotionIndicatorSphere, m_ToolPoint.position, m_ToolPoint.rotation)).transform;
                m_MotionSpheres[i] = sphere;
                sphere.SetParent(m_Transform, false);
                sphere.name = "motion-sphere-" + i;
                sphere.gameObject.SetActive(false);

                var sphereRenderer = sphere.GetComponent <MeshRenderer>();
                if (m_MotionSpheresMaterial == null)                 // Only one material clone is needed
                {
                    m_MotionSpheresMaterial = MaterialUtils.GetMaterialClone(sphereRenderer);
                }

                sphereRenderer.sharedMaterial = m_MotionSpheresMaterial;
            }
            m_MotionSphereOriginalScale = m_MotionSpheres[0].localScale;
            m_CurveLengthEstimate       = 1.0f;
            m_MotionSphereOffset        = 0.0f;

            m_RingTransform = m_RingRenderer.transform;
            m_RingTransformOriginalScale = m_RingTransform.localScale;
            m_TubeTransform = m_TubeRenderer.transform;
            m_TubeTransformOriginalScale = m_TubeTransform.localScale;
            m_TubeTransformHiddenScale   = new Vector3(m_TubeTransform.localScale.x, 0.0001f, m_TubeTransform.localScale.z);

            ShowLine(false);

            showValidTargetIndicator = true;
        }
コード例 #2
0
        private void InitLineRenderer()
        {
            var holder = new GameObject("lineRenderer", typeof(MeshFilter), typeof(MeshRenderer));

            holder.transform.SetParent(transform);
            lineRender = holder.AddComponent <VRLineRenderer>();
            lineRender.SetVertexCount(0);
            lineRender.useWorldSpace = true;
        }
コード例 #3
0
        void Start()
        {
            m_gunEnd       = null;
            m_gunContainer = null;
            for (int i = 0; i < transform.childCount; i++)
            {
                Transform child = transform.GetChild(i);
                if (child.tag == "GunContainer")
                {
                    m_gunContainer = child;
                    for (int j = 0; j < m_gunContainer.childCount; j++)
                    {
                        child = m_gunContainer.GetChild(j);
                        if (child.tag == "GunEnd")
                        {
                            m_gunEnd = child;
                            break;
                        }
                    }
                }
            }

            if (m_camInputManager.CurrentInputName == "Mouse" || m_camInputManager.CurrentInputName == "Gamepad")
            {
                Camera cam = m_camInputManager.CurrentCamera;
                m_raycaster       = cam.GetComponent <Raycaster>();
                m_cameraTransform = cam.transform;
                if (m_camInputManager.CurrentInputName == "Gamepad")
                {
                    m_VRReticle = cam.GetComponent <Reticle>();
                }
            }

            else if (m_camInputManager.CurrentInputName == "Touch")
            {
                m_raycaster = GetComponent <Raycaster>();
            }

            if (VRSettings.enabled)
            {
                m_vrGunFlare = GetComponent <VRLineRenderer> ();
            }
            else
            {
                m_gunFlare = GetComponent <LineRenderer> ();
            }
        }
コード例 #4
0
ファイル: BlinkVisuals.cs プロジェクト: jameskane05/EditorVR
    void Awake()
    {
        m_SphereScale     = m_MotionIndicatorSphere.transform.localScale;
        m_VisualsMaterial = MaterialUtils.GetMaterialClone(m_MotionIndicatorSphere.GetComponent <Renderer>());

        m_Positions = new Vector3[m_MaxProjectileSteps];

        m_LineRenderer = GetComponent <VRLineRenderer>();
        m_LineRenderer.SetPositions(m_Positions, true);

        m_Spheres = new Transform[m_SphereCount];
        for (var i = 0; i < m_SphereCount; i++)
        {
            m_Spheres[i] = Instantiate(m_MotionIndicatorSphere, transform, false).transform;
        }

        foreach (var renderer in m_ArcLocator.GetComponentsInChildren <Renderer>(true))
        {
            renderer.sharedMaterial = m_VisualsMaterial;
        }
    }
コード例 #5
0
        PointerEventData eventData;                         //The data for our simulated events


        void Reset()
        {
            //Set the Layer Mask to interact with everything but the Ignore Raycast layer using bitwise operations
            whatIsInteractable = ~(1 << LayerMask.NameToLayer("Ignore Raycast"));
            line = GetComponent <VRLineRenderer>();
        }
コード例 #6
0
 void Awake()
 {
     m_LineRenderer             = GetComponent <VRLineRenderer>();
     m_LineRendererMeshRenderer = m_LineRenderer.GetComponent <MeshRenderer>();
 }