本文整理汇总了C#中UnityEngine.GameObject.Select方法的典型用法代码示例。如果您正苦于以下问题:C# GameObject.Select方法的具体用法?C# GameObject.Select怎么用?C# GameObject.Select使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnityEngine.GameObject
的用法示例。
在下文中一共展示了GameObject.Select方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildingBindpose
/// <summary>
/// バインドポーズの作成
/// </summary>
/// <returns>レンダラー</returns>
/// <param name='mesh'>対象メッシュ</param>
/// <param name='materials'>設定するマテリアル</param>
/// <param name='bones'>設定するボーン</param>
SkinnedMeshRenderer[] BuildingBindpose(Mesh[] mesh, Material[][] materials, GameObject[] bones)
{
// メッシュルートを生成してルートの子供に付ける
Transform mesh_root_transform = (new GameObject("Mesh")).transform;
mesh_root_transform.parent = root_game_object_.transform;
//モデルルート取得
Transform model_root_transform = root_game_object_.transform.FindChild("Model");
//ボーン共通データ
Matrix4x4[] bindposes = bones.Select(x=>x.transform.worldToLocalMatrix).ToArray();
Transform[] bones_transform = bones.Select(x=>x.transform).ToArray();
//レンダー設定
SkinnedMeshRenderer[] result = new SkinnedMeshRenderer[mesh.Length];
for (int i = 0, i_max = mesh.Length; i < i_max; ++i) {
Transform mesh_transform = (new GameObject("Mesh" + i.ToString())).transform;
mesh_transform.parent = mesh_root_transform;
SkinnedMeshRenderer smr = mesh_transform.gameObject.AddComponent<SkinnedMeshRenderer>();
mesh[i].bindposes = bindposes;
smr.sharedMesh = mesh[i];
smr.bones = bones_transform;
smr.materials = materials[i];
smr.rootBone = model_root_transform;
smr.receiveShadows = false; //影を受けない
result[i] = smr;
}
return result;
}
示例2: CreateMorph
/// <summary>
/// モーフ作成
/// </summary>
/// <param name='mesh'>対象メッシュ</param>
/// <param name='materials'>対象マテリアル</param>
/// <param name='bones'>対象ボーン</param>
/// <param name='renderers'>対象レンダラー</param>
/// <param name='creation_info'>メッシュ作成情報</param>
void CreateMorph(Mesh[] mesh, Material[][] materials, GameObject[] bones, SkinnedMeshRenderer[] renderers, MeshCreationInfo[] creation_info)
{
//表情ルートを生成してルートの子供に付ける
GameObject expression_root = new GameObject("Expression");
Transform expression_root_transform = expression_root.transform;
expression_root_transform.parent = root_game_object_.transform;
//表情マネージャー
MorphManager morph_manager = expression_root.AddComponent<MorphManager>();
morph_manager.uv_morph = new MorphManager.UvMorphPack[1 + format_.header.additionalUV]; //UVモーフ数設定
//個別モーフスクリプト作成
GameObject[] morphs = new GameObject[format_.morph_list.morph_data.Length];
for (int i = 0, i_max = format_.morph_list.morph_data.Length; i < i_max; ++i) {
morphs[i] = new GameObject(format_.morph_list.morph_data[i].morph_name);
// 表情を親ボーンに付ける
morphs[i].transform.parent = expression_root_transform;
}
//グループモーフ作成
CreateGroupMorph(morph_manager, morphs);
//ボーンモーフ
morph_manager.bones = bones.Select(x=>x.transform).ToArray();
CreateBoneMorph(morph_manager, morphs);
//頂点モーフ作成
CreateVertexMorph(morph_manager, morphs, creation_info);
//UV・追加UVモーフ作成
CreateUvMorph(morph_manager, morphs, creation_info);
//材質モーフ作成
CreateMaterialMorph(morph_manager, morphs, creation_info);
//モーフ一覧設定(モーフコンポーネントの情報を拾う為、最後に設定する)
morph_manager.morphs = morphs.Select(x=>x.GetComponent<MorphBase>()).ToArray();
//メッシュ・マテリアル設定
morph_manager.renderers = renderers;
morph_manager.mesh = mesh;
morph_manager.materials = materials;
}
示例3: GlobalizeRigidbody
/// <summary>
/// 剛体のグローバル座標化
/// </summary>
/// <param name='joints'>ジョイントのゲームオブジェクト</param>
void GlobalizeRigidbody(GameObject[] joints)
{
Transform physics_root_transform = root_game_object_.transform.Find("Physics");
PhysicsManager physics_manager = physics_root_transform.gameObject.GetComponent<PhysicsManager>();
if ((null != joints) && (0 < joints.Length)) {
// PhysicsManagerに移動前の状態を覚えさせる(幾つか重複しているので重複は削除)
physics_manager.connect_bone_list = joints.Select(x=>x.gameObject)
.Distinct()
.Select(x=>new PhysicsManager.ConnectBone(x, x.transform.parent.gameObject))
.ToArray();
//isKinematicで無くConfigurableJointを持つ場合はグローバル座標化
foreach (ConfigurableJoint joint in joints.Where(x=>!x.GetComponent<Rigidbody>().isKinematic)
.Select(x=>x.GetComponent<ConfigurableJoint>())) {
joint.transform.parent = physics_root_transform;
}
}
}