public override void CreateModel(CollisionModels customCollisionModels = null)
        {
            RobotPlaceholder = Instantiate(RobotPlaceholderPrefab, transform);
            RobotPlaceholder.transform.parent        = transform;
            RobotPlaceholder.transform.localPosition = Vector3.zero;
            RobotPlaceholder.transform.localPosition = Vector3.zero;
            //Model.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f);

            RobotPlaceholder.GetComponent <OnClickCollider>().Target = gameObject;
            robotColliders = RobotPlaceholder.GetComponentsInChildren <Collider>();
            robotRenderers = RobotPlaceholder.GetComponentsInChildren <Renderer>();
            List <Renderer> ren = new List <Renderer>();

            ren.AddRange(robotRenderers);
            outlineOnClick = gameObject.GetComponent <OutlineOnClick>();
            outlineOnClick.InitRenderers(ren);
        }
Example #2
0
        public override void CreateModel(CollisionModels customCollisionModels = null)
        {
            RobotPlaceholder = Instantiate(RobotPlaceholderPrefab, transform);
            RobotPlaceholder.transform.parent        = transform;
            RobotPlaceholder.transform.localPosition = Vector3.zero;
            RobotPlaceholder.transform.localPosition = Vector3.zero;
            //Model.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f);

            RobotPlaceholder.GetComponent <OnClickCollider>().Target = gameObject;

            robotColliders.Clear();
            robotRenderers.Clear();
            robotRenderers.AddRange(RobotPlaceholder.GetComponentsInChildren <Renderer>());
            robotColliders.AddRange(RobotPlaceholder.GetComponentsInChildren <Collider>());
            outlineOnClick = gameObject.GetComponent <OutlineOnClick>();
            outlineOnClick.InitRenderers(robotRenderers);
            outlineOnClick.OutlineShaderType = OutlineOnClick.OutlineType.OnePassShader;
            outlineOnClick.InitGizmoMaterials();
        }
        public override void CreateModel(CollisionModels customCollisionModels = null)
        {
            RobotPlaceholder = Instantiate(RobotPlaceholderPrefab, transform);
            RobotPlaceholder.transform.parent        = transform;
            RobotPlaceholder.transform.localPosition = Vector3.zero;
            RobotPlaceholder.transform.localPosition = Vector3.zero;

            RobotPlaceholder.GetComponent <OnClickCollider>().Target = gameObject;

            robotColliders.Clear();
            robotRenderers.Clear();
            robotRenderers.AddRange(RobotPlaceholder.GetComponentsInChildren <Renderer>());
            robotColliders.AddRange(RobotPlaceholder.GetComponentsInChildren <Collider>());
            Colliders      = robotColliders;
            outlineOnClick = gameObject.GetComponent <OutlineOnClick>();
            outlineOnClick.InitRenderers(robotRenderers);
            outlineOnClick.OutlineShaderType = OutlineOnClick.OutlineType.TwoPassShader;
            Target target = GetComponent <Target>();

            if (target != null)
            {
                target.ChangeTarget(RobotPlaceholder);
            }
        }
Example #4
0
 public override void CreateModel(CollisionModels customCollisionModels = null)
 {
     throw new System.NotImplementedException();
 }
Example #5
0
    public override void CreateModel(CollisionModels customCollisionModels = null)
    {
        if (ActionObjectMetadata.ObjectModel == null || ActionObjectMetadata.ObjectModel.Type == IO.Swagger.Model.ObjectModel.TypeEnum.None)
        {
            Model = Instantiate(CubePrefab, Visual.transform);
            Visual.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f);
        }
        else
        {
            switch (ActionObjectMetadata.ObjectModel.Type)
            {
            case IO.Swagger.Model.ObjectModel.TypeEnum.Box:
                Model = Instantiate(CubePrefab, Visual.transform);

                if (customCollisionModels == null)
                {
                    Visual.transform.localScale = TransformConvertor.ROSToUnityScale(new Vector3((float)ActionObjectMetadata.ObjectModel.Box.SizeX, (float)ActionObjectMetadata.ObjectModel.Box.SizeY, (float)ActionObjectMetadata.ObjectModel.Box.SizeZ));
                }
                else
                {
                    foreach (IO.Swagger.Model.Box box in customCollisionModels.Boxes)
                    {
                        if (box.Id == ActionObjectMetadata.Type)
                        {
                            Visual.transform.localScale = TransformConvertor.ROSToUnityScale(new Vector3((float)box.SizeX, (float)box.SizeY, (float)box.SizeZ));
                            break;
                        }
                    }
                }
                break;

            case IO.Swagger.Model.ObjectModel.TypeEnum.Cylinder:
                Model = Instantiate(CylinderPrefab, Visual.transform);
                if (customCollisionModels == null)
                {
                    Visual.transform.localScale = new Vector3((float)ActionObjectMetadata.ObjectModel.Cylinder.Radius, (float)ActionObjectMetadata.ObjectModel.Cylinder.Height, (float)ActionObjectMetadata.ObjectModel.Cylinder.Radius);
                }
                else
                {
                    foreach (IO.Swagger.Model.Cylinder cylinder in customCollisionModels.Cylinders)
                    {
                        if (cylinder.Id == ActionObjectMetadata.Type)
                        {
                            Visual.transform.localScale = new Vector3((float)cylinder.Radius, (float)cylinder.Height, (float)cylinder.Radius);
                            break;
                        }
                    }
                }
                break;

            case IO.Swagger.Model.ObjectModel.TypeEnum.Sphere:
                Model = Instantiate(SpherePrefab, Visual.transform);
                if (customCollisionModels == null)
                {
                    Visual.transform.localScale = new Vector3((float)ActionObjectMetadata.ObjectModel.Sphere.Radius, (float)ActionObjectMetadata.ObjectModel.Sphere.Radius, (float)ActionObjectMetadata.ObjectModel.Sphere.Radius);
                }
                else
                {
                    foreach (IO.Swagger.Model.Sphere sphere in customCollisionModels.Spheres)
                    {
                        if (sphere.Id == ActionObjectMetadata.Type)
                        {
                            Visual.transform.localScale = new Vector3((float)sphere.Radius, (float)sphere.Radius, (float)sphere.Radius);
                            break;
                        }
                    }
                }
                break;

            default:
                Model = Instantiate(CubePrefab, Visual.transform);
                Visual.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f);
                break;
            }
        }
        if (IsRobot())
        {
            Model.tag = "Robot";
        }
        gameObject.GetComponent <BindParentToChild>().ChildToBind = Model;
        Collider = Model.GetComponent <Collider>();
        Model.GetComponent <OnClickCollider>().Target = gameObject;
        modelRenderer  = Model.GetComponent <Renderer>();
        outlineOnClick = gameObject.GetComponent <OutlineOnClick>();
        outlineOnClick.InitRenderers(new List <Renderer>()
        {
            modelRenderer
        });
    }
Example #6
0
    public override void CreateModel(CollisionModels customCollisionModels = null)
    {
        if (ActionObjectMetadata.ObjectModel == null || ActionObjectMetadata.ObjectModel.Type == IO.Swagger.Model.ObjectModel.TypeEnum.None)
        {
            Model = Instantiate(CubePrefab, Visual.transform);
            Model.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f);
        }
        else
        {
            switch (ActionObjectMetadata.ObjectModel.Type)
            {
            case IO.Swagger.Model.ObjectModel.TypeEnum.Box:
                Model = Instantiate(CubePrefab, Visual.transform);

                if (customCollisionModels == null)
                {
                    Model.transform.localScale = TransformConvertor.ROSToUnityScale(new Vector3((float)ActionObjectMetadata.ObjectModel.Box.SizeX, (float)ActionObjectMetadata.ObjectModel.Box.SizeY, (float)ActionObjectMetadata.ObjectModel.Box.SizeZ));
                }
                else
                {
                    foreach (IO.Swagger.Model.Box box in customCollisionModels.Boxes)
                    {
                        if (box.Id == ActionObjectMetadata.Type)
                        {
                            Model.transform.localScale = TransformConvertor.ROSToUnityScale(new Vector3((float)box.SizeX, (float)box.SizeY, (float)box.SizeZ));
                            break;
                        }
                    }
                }
                break;

            case IO.Swagger.Model.ObjectModel.TypeEnum.Cylinder:
                Model = Instantiate(CylinderPrefab, Visual.transform);
                if (customCollisionModels == null)
                {
                    Model.transform.localScale = new Vector3((float)ActionObjectMetadata.ObjectModel.Cylinder.Radius, (float)ActionObjectMetadata.ObjectModel.Cylinder.Height / 2, (float)ActionObjectMetadata.ObjectModel.Cylinder.Radius);
                }
                else
                {
                    foreach (IO.Swagger.Model.Cylinder cylinder in customCollisionModels.Cylinders)
                    {
                        if (cylinder.Id == ActionObjectMetadata.Type)
                        {
                            Model.transform.localScale = new Vector3((float)cylinder.Radius, (float)cylinder.Height, (float)cylinder.Radius);
                            break;
                        }
                    }
                }
                break;

            case IO.Swagger.Model.ObjectModel.TypeEnum.Sphere:
                Model = Instantiate(SpherePrefab, Visual.transform);
                if (customCollisionModels == null)
                {
                    Model.transform.localScale = new Vector3((float)ActionObjectMetadata.ObjectModel.Sphere.Radius, (float)ActionObjectMetadata.ObjectModel.Sphere.Radius, (float)ActionObjectMetadata.ObjectModel.Sphere.Radius);
                }
                else
                {
                    foreach (IO.Swagger.Model.Sphere sphere in customCollisionModels.Spheres)
                    {
                        if (sphere.Id == ActionObjectMetadata.Type)
                        {
                            Model.transform.localScale = new Vector3((float)sphere.Radius, (float)sphere.Radius, (float)sphere.Radius);
                            break;
                        }
                    }
                }
                break;

            case ObjectModel.TypeEnum.Mesh:
                MeshImporter.Instance.OnMeshImported += OnModelLoaded;
                MeshImporter.Instance.LoadModel(ActionObjectMetadata.ObjectModel.Mesh, GetId());

                Model = Instantiate(CubePrefab, Visual.transform);
                Model.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f);
                break;

            default:
                Model = Instantiate(CubePrefab, Visual.transform);
                Model.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f);
                break;
            }
        }
        //if (IsRobot()) {
        //    Model.tag = "Robot";
        //}

        gameObject.GetComponent <BindParentToChild>().ChildToBind = Model;
        Collider = Model.GetComponent <Collider>();
        Colliders.Add(Collider);
        Model.GetComponent <OnClickCollider>().Target = gameObject;

        outlineOnClick = gameObject.GetComponent <OutlineOnClick>();

        aoRenderers.Clear();
        aoRenderers.AddRange(Model.GetComponentsInChildren <Renderer>(true));

        outlineOnClick.InitRenderers(aoRenderers);
    }
 public override void CreateModel(CollisionModels customCollisionModels = null)
 {
     // no pose object has no model
 }