本文整理汇总了C#中UnityEngine.Transform.FindRecursive方法的典型用法代码示例。如果您正苦于以下问题:C# Transform.FindRecursive方法的具体用法?C# Transform.FindRecursive怎么用?C# Transform.FindRecursive使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnityEngine.Transform
的用法示例。
在下文中一共展示了Transform.FindRecursive方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: setupEngineModels
private void setupEngineModels(Transform modelBase)
{
engineModels = new InterstageDecouplerEngine[numberOfEngines];
float anglePerEngine = 360f / (float)numberOfEngines;
float startAngle = enginePlacementAngleOffset;
Transform modelTransform;
String fullName;
float placementAngle;
for (int i = 0; i < numberOfEngines; i++)
{
placementAngle = startAngle + ((float)i * anglePerEngine);
fullName = modelName + "-" + i;
modelTransform = modelBase.FindRecursive(fullName);
if (modelTransform == null)
{
modelTransform = SSTUUtils.cloneModel(modelName).transform;
modelTransform.name = fullName;
modelTransform.gameObject.name = fullName;
}
modelTransform.parent = modelBase;
engineModels[i] = new InterstageDecouplerEngine(modelTransform, placementAngle, engineRotationOffset);
}
}
示例2: updateModelMaterial
public static void updateModelMaterial(Transform root, string[] excludeMeshes, string[] meshes, string shader, string diffuse, string normal, string specular, string emissive, string occlusion, ShaderProperty[] props)
{
//black-list, do everything not specified in excludeMeshes array
if (excludeMeshes != null && excludeMeshes.Length > 0)
{
//TODO
}
else if (meshes == null || meshes.Length <= 0)//no validation, do them all
{
Renderer[] rends = root.GetComponentsInChildren<Renderer>(true);
int len = rends.Length;
for (int i = 0; i < len; i++)
{
updateRenderer(rends[i], shader, diffuse, normal, specular, emissive, occlusion, props);
}
}
else//white-list, only do what is specified by meshes array
{
int len = meshes.Length;
Transform tr;
Renderer r;
for (int i = 0; i < len; i++)
{
tr = root.FindRecursive(meshes[i]);
if (tr == null) { continue; }
r = tr.GetComponent<Renderer>();
if (r == null) { continue; }
updateRenderer(r, shader, diffuse, normal, specular, emissive, occlusion, props);
}
}
}