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); }
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); } }
public override void CreateModel(CollisionModels customCollisionModels = null) { throw new System.NotImplementedException(); }
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 }); }
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 }