private static GameObject CreateMeshCollider(Link.Geometry.Mesh mesh) { GameObject prefabObject = LocateAssetHandler.FindUrdfAsset <GameObject>(mesh.filename); if (prefabObject == null) { return(null); } GameObject meshObject = (GameObject)PrefabUtility.InstantiatePrefab(prefabObject); ConvertMeshToColliders(meshObject); return(meshObject); }
/// <summary> /// <para>CreateMesh</para> /// Creates a Godot mesh instance using a Urdf /// defined Mesh geometry object. /// </summary> /// <param name="mesh">Urdf mesh object generated from a link.</param> /// <param name="mat">Optional material to apply to the mesh.</param> /// <returns>A Godot.Mesh representing the Urdf mesh data.</returns> private MeshInstance CreateMesh( Link.Geometry.Mesh mesh, SpatialMaterial mat = null) { string fileName = mesh.filename; fileName = GetFullPath(fileName); GD.Print(fileName); MeshMaker mmaker = new MeshMaker(); var meshMat = (MeshInstance)mmaker.CreateMesh(fileName); return(meshMat); }
public void _Reads_Link_Visual_Geometry() { robot.ConstructFromString(urdfString); Link sensorLink = robot.links.Find(link => link.name == "sensor_link"); Link.Geometry geometry = sensorLink.visuals[0].geometry; Link.Geometry.Sphere sphere = geometry.sphere; Assert.That(sphere.radius, Is.EqualTo(0.1d)); Link baseLink = robot.links.Find(link => link.name == "base_link"); Link.Geometry.Mesh mesh = baseLink.visuals[0].geometry.mesh; Assert.That(mesh.filename, Is.EqualTo("filename.stl")); Assert.That(mesh.scale, Is.EqualTo(new[] { 0.001d, 0.001d, 0.001d })); }
private static GameObject CreateMeshVisual(Link.Geometry.Mesh mesh) { GameObject meshObject = LocateAssetHandler.FindUrdfAsset <GameObject>(mesh.filename); return(meshObject == null ? null : (GameObject)UnityEditor.PrefabUtility.InstantiatePrefab(meshObject)); }
private static GameObject CreateMeshVisual(Link.Geometry.Mesh mesh) { GameObject meshObject = LocateAssetHandler.FindUrdfAsset <GameObject>(mesh.filename); return(meshObject == null ? null : GameObject.Instantiate(meshObject)); }