void FindObjectToEdit(Vector2 touchPosition)
    {
        Ray        ray = camera.ScreenPointToRay(touchPosition);
        RaycastHit hit;
        int        layerMask = 1 << LayerMask.NameToLayer("PlacedObjects");

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask))
        {
            FramedPhoto07 picture = hit.collider.GetComponentInParent <FramedPhoto07>();
            editMode.currentPicture = picture;
            InteractionController.EnableMode("EditPicture");
        }
    }
コード例 #2
0
    void FindObjectToEdit(Vector2 touchPosition)
    {
        Ray        ray = camera.ScreenPointToRay(touchPosition);
        RaycastHit hit;
        int        layerMask = 1 << LayerMask.NameToLayer("PlacedObjects");

        if (Physics.Raycast(ray, out hit, 50f, layerMask))
        {
            if (hit.collider.gameObject != currentPicture.gameObject)
            {
                currentPicture.BeingEdited(false);
                FramedPhoto07 picture = hit.collider.GetComponentInParent <FramedPhoto07>();
                currentPicture = picture;
                picture.BeingEdited(true);
            }
        }
    }
    void PlaceObject(Vector2 touchPosition)
    {
        if (raycaster.Raycast(touchPosition, hits, TrackableType.PlaneWithinPolygon))
        {
            ARRaycastHit hit = hits[0];

            Vector3    position = hit.pose.position;
            Vector3    normal   = -hit.pose.up;
            Quaternion rotation = Quaternion.LookRotation(normal, Vector3.up);

            GameObject spawned = Instantiate(placedPrefab, position, rotation);
            spawned.transform.SetParent(transform.parent);

            FramedPhoto07 picture = spawned.GetComponent <FramedPhoto07>();
            picture.SetImage(imageInfo);

            spawned.transform.localScale = new Vector3(defaultScale, defaultScale, 1.0f);


            InteractionController.EnableMode("Main");
        }
    }