enlarge sphere stemme kommandoen

    void OnEnlarge() {
        this.transform.localScale *= 2;
    }

kommandoen gør bare den sphere som cursoren er på dobbelt så stor.

 

tapToPlace

void Update()
    {
        // If the user is in placing mode,
        // update the placement to match the user's gaze.

        if (placing)
        {
            // Do a raycast into the world that will only hit the Spatial Mapping mesh.
            var headPosition = Camera.main.transform.position;
            var gazeDirection = Camera.main.transform.forward;

            RaycastHit hitInfo;
            if (Physics.Raycast(headPosition, gazeDirection, out hitInfo,
                30.0f, SpatialMapping.PhysicsRaycastMask))
            {
                // Move this object's parent object to
                // where the raycast hit the Spatial Mapping mesh.
                this.transform.position = hitInfo.point;

                // Rotate this object's parent object to face the user.
                Quaternion toQuat = Camera.main.transform.localRotation;
                toQuat.x = 0;
                toQuat.z = 0;
                this.transform.rotation = toQuat;
            }
        }
    }

koden er for det meste bare taget fra tapToPlaceParent scriptet, dog med alt brug af parent slettet.
koden gør bare at du kan samle enkelte objekter op.

 

world cursor distance måler

void Update()
    {
        // Do a raycast into the world based on the user's
        // head position and orientation.
        var headPosition = Camera.main.transform.position;
        var gazeDirection = Camera.main.transform.forward;

        RaycastHit hitInfo;

        if (Physics.Raycast(headPosition, gazeDirection, out hitInfo))
        {
            // If the raycast hit a hologram...
            // Display the cursor mesh.
            meshRenderer.enabled = true;

            // Move thecursor to the point where the raycast hit.
            this.transform.position = hitInfo.point;

            // Rotate the cursor to hug the surface of the hologram.
            this.transform.rotation = Quaternion.FromToRotation(Vector3.up, hitInfo.normal);

            textSource.text = "distance to cursor: " + hitInfo.distance;
        }
        else
        {
            // If the raycast did not hit a hologram, hide the cursor mesh.
            meshRenderer.enabled = false;
        }

min eneste ændring er på linje 37, som jeg har tilføjet, der blot opdatere et text element på et canvas så man kan se hvor langt væk ens cursor er.
jeg henter informationen om hvor langt der er til cursoren fra hitInfo variablen som bliver genereret af Raycastet.

 

enable/disable world mesh

    void OnEnableWorldMesh() {
        SpatialMapping.Instance.DrawVisualMeshes = true;
    }
    void OnDisableWorldMesh()
    {
        SpatialMapping.Instance.DrawVisualMeshes = false;
    }

de 2 funktioner henholdstvist viser og skjuler worldmeshet

 

i ovenstående video kan ses en demonstration af enable/disable world mesh kommandoen

Leave a Reply