private void Initialize()
    {
        _boneVisualizations = new List <BoneVisualization>();
        _ovrSkeleton        = GetComponent <OVRSkeleton>();
        _skeletonGO         = new GameObject("SkeletonRenderer");
        _skeletonGO.transform.SetParent(transform, false);

        if (_skeletonMaterial == null)
        {
            _skeletonMaterial = new Material(Shader.Find("Diffuse"));
        }

        for (int i = 0; i < _ovrSkeleton.Bones.Count; i++)
        {
            var boneVis = new BoneVisualization(
                _skeletonGO,
                _skeletonMaterial,
                _scale,
                _ovrSkeleton.Bones[i].Transform,
                _ovrSkeleton.Bones[i].Transform.parent);

            _boneVisualizations.Add(boneVis);
        }

        _isInitialized = true;
    }
示例#2
0
    private void Initialize()
    {
        _boneVisualizations    = new List <BoneVisualization>();
        _capsuleVisualizations = new List <CapsuleVisualization>();
        _ovrSkeleton           = GetComponent <OVRSkeleton>();
        _skeletonGO            = new GameObject("SkeletonRenderer");
        _skeletonGO.transform.SetParent(transform, false);

        if (_skeletonMaterial == null)
        {
            _skeletonDefaultMaterial = new Material(Shader.Find("Diffuse"));
            _skeletonMaterial        = _skeletonDefaultMaterial;
        }

        if (_capsuleMaterial == null)
        {
            _capsuleDefaultMaterial = new Material(Shader.Find("Diffuse"));
            _capsuleMaterial        = _capsuleDefaultMaterial;
        }

        if (_systemGestureMaterial == null)
        {
            _systemGestureDefaultMaterial       = new Material(Shader.Find("Diffuse"));
            _systemGestureDefaultMaterial.color = Color.blue;
            _systemGestureMaterial = _systemGestureDefaultMaterial;
        }

        if (_ovrSkeleton.IsInitialized)
        {
            for (int i = 0; i < _ovrSkeleton.Bones.Count; i++)
            {
                var boneVis = new BoneVisualization(
                    _skeletonGO,
                    _skeletonMaterial,
                    _systemGestureMaterial,
                    _scale,
                    _ovrSkeleton.Bones[i].Transform,
                    _ovrSkeleton.Bones[i].Transform.parent);

                _boneVisualizations.Add(boneVis);
            }

            if (_renderPhysicsCapsules && _ovrSkeleton.Capsules != null)
            {
                for (int i = 0; i < _ovrSkeleton.Capsules.Count; i++)
                {
                    var capsuleVis = new CapsuleVisualization(
                        _skeletonGO,
                        _capsuleMaterial,
                        _systemGestureMaterial,
                        _scale,
                        _ovrSkeleton.Capsules[i]);

                    _capsuleVisualizations.Add(capsuleVis);
                }
            }

            IsInitialized = true;
        }
    }