本文整理汇总了C#中Part.FindModelComponent方法的典型用法代码示例。如果您正苦于以下问题:C# Part.FindModelComponent方法的具体用法?C# Part.FindModelComponent怎么用?C# Part.FindModelComponent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Part
的用法示例。
在下文中一共展示了Part.FindModelComponent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Metric
//mesh metric
public Metric(Part part, string mesh_name)
{
MeshFilter m = part.FindModelComponent<MeshFilter>(mesh_name);
if(m == null) { Utils.Log("[Metric] {0} does not have '{1}' mesh", part.name, mesh_name); return; }
Transform pT = part.partTransform;
Transform mT = m.transform;
Vector3[] edges = BoundsEdges(m.sharedMesh.bounds);
local2local(mT, pT, edges);
bounds = initBounds(edges);
volume = boundsVolume(bounds);
area = boundsArea(bounds);
mass = 0f;
}
示例2: SetState
private static void SetState(Part thatPart, string targetName, bool state, bool controlRendering, bool controlColliders)
{
Component thatComponent = thatPart.FindModelComponent<Component> (targetName);
if (thatComponent != null) {
if (controlRendering) {
if (thatComponent.GetComponent<Renderer>() != null) {
thatComponent.GetComponent<Renderer>().enabled = state;
}
foreach (Renderer thatRenderer in thatComponent.GetComponentsInChildren<Renderer>()) {
thatRenderer.enabled = state;
}
}
if (controlColliders) {
if (thatComponent.GetComponent<Collider>() != null) {
thatComponent.GetComponent<Collider>().enabled = state;
}
foreach (Collider thatCollider in thatComponent.GetComponentsInChildren<Collider>()) {
thatCollider.enabled = state;
}
}
}
}
示例3: Metric
//mesh metric
public Metric(Part part, string mesh_name, bool compute_hull=false)
: this()
{
if(string.IsNullOrEmpty(mesh_name)) return;
MeshFilter m = part.FindModelComponent<MeshFilter>(mesh_name);
if(m == null) { Utils.Log("[Metric] {0} does not have '{1}' mesh", part.name, mesh_name); return; }
if(compute_hull) hull = new ConvexHull3D(uniqueVertices(m.sharedMesh));
Vector3[] edges = BoundsEdges(m.sharedMesh.bounds);
local2local(m.transform, part.partTransform, edges);
bounds = initBounds(edges);
volume = boundsVolume(bounds);
area = boundsArea(bounds);
mass = 0f;
}