void ApplySpringBone() { //gizmo以外は設定を反映 //transformはFind後したTransformを反映) for (int j = 0; j < boneObjects.Length; j++) { //設定データ SpringBoneSetting settingData = (SpringBoneSetting)boneObjects[j]; //対象のボーン //m_Utility.ChangeRootPath 設定されたパスをターゲット対象に変更する GameObject targetObject = GameObject.Find(m_Utility.ChangeRootPath(settingData.m_AttachObject, targetModel.name)); SpringBone springbone = targetObject.AddComponent <SpringBone>(); springbone.m_comment = settingData.m_comment; springbone.m_stiffnessForce = settingData.m_stiffnessForce; springbone.m_gravityPower = settingData.m_gravityPower; springbone.m_gravityDir = settingData.m_gravityDir; springbone.m_dragForce = settingData.m_dragForce; if (settingData.m_center != null) { GameObject findObject = GameObject.Find(settingData.m_center); if (findObject != null) { springbone.m_center = findObject.GetComponent <Transform>(); } } springbone.RootBones = new List <Transform>(); for (int i = 0; i < settingData.RootBones.Length; i++) { GameObject findObject = GameObject.Find(m_Utility.ChangeRootPath(settingData.RootBones[i], targetModel.name)); springbone.RootBones.Add(findObject.GetComponent <Transform>()); } springbone.m_hitRadius = settingData.m_hitRadius; springbone.ColliderGroups = new SpringBoneColliderGroup[settingData.ColliderGroups.Length]; for (int i = 0; i < settingData.ColliderGroups.Length; i++) { GameObject findObject = GameObject.Find(m_Utility.ChangeRootPath(settingData.ColliderGroups[i], targetModel.name)); springbone.ColliderGroups[i] = findObject.GetComponent <SpringBoneColliderGroup>(); } } }
void OnWizardCreate() { for (int i = 0; i < objects.Length; i++) { setting = (MaterialSetting)objects[i]; //設定されたパスをターゲット対象に変更する //m_Utility.ChangeRootPath GameObject targetObject = GameObject.Find(m_Utility.ChangeRootPath(setting.targetName, parentObject.name)); materials = targetObject.GetComponent <SkinnedMeshRenderer>().sharedMaterials; for (int j = 0; j < materials.Length; j++) { materials[j] = setting.mat[j]; } targetObject.GetComponent <SkinnedMeshRenderer>().materials = materials; } }
void ApplyDynamicBone() { //gizmo以外は設定を反映 //transformはFind後したTransformを反映) for (int j = 0; j < boneObjects.Length; j++) { //設定データ DynamicBoneSetting settingData = (DynamicBoneSetting)boneObjects[j]; //内部変数の定義 GameObject findObject = null; //対象のボーン //m_Utility.ChangeRootPath 設定されたパスをターゲット対象に変更する GameObject targetObject = GameObject.Find(m_Utility.ChangeRootPath(settingData.m_AttachObject, targetModel.name)); DynamicBone dynamicbone = targetObject.AddComponent <DynamicBone>(); findObject = GameObject.Find(m_Utility.ChangeRootPath(settingData.m_Root, targetModel.name)); dynamicbone.m_Root = findObject.GetComponent <Transform>(); dynamicbone.m_UpdateRate = settingData.m_UpdateRate; dynamicbone.m_UpdateMode = settingData.m_UpdateMode; dynamicbone.m_Damping = settingData.m_Damping; dynamicbone.m_DampingDistrib = settingData.m_DampingDistrib; dynamicbone.m_Elasticity = settingData.m_Elasticity; dynamicbone.m_ElasticityDistrib = settingData.m_ElasticityDistrib; dynamicbone.m_Stiffness = settingData.m_Stiffness; dynamicbone.m_StiffnessDistrib = settingData.m_StiffnessDistrib; dynamicbone.m_Inert = settingData.m_Inert; dynamicbone.m_InertDistrib = settingData.m_InertDistrib; dynamicbone.m_Radius = settingData.m_Radius; dynamicbone.m_RadiusDistrib = settingData.m_RadiusDistrib; dynamicbone.m_EndLength = settingData.m_EndLength; dynamicbone.m_EndOffset = settingData.m_EndOffset; dynamicbone.m_Gravity = settingData.m_Gravity; dynamicbone.m_Force = settingData.m_Force; dynamicbone.m_Colliders = new List <DynamicBoneColliderBase>(); if (settingData.m_Colliders != null) { foreach (string collider in settingData.m_Colliders) { findObject = GameObject.Find(m_Utility.ChangeRootPath(collider, targetModel.name)); if (findObject != null) { dynamicbone.m_Colliders.Add(findObject.GetComponent <DynamicBoneCollider>()); } } } if (settingData.m_Exclusions != null) { dynamicbone.m_Exclusions = new List <Transform>(); foreach (string exclusion in settingData.m_Exclusions) { findObject = GameObject.Find(m_Utility.ChangeRootPath(exclusion, targetModel.name)); if (findObject != null) { dynamicbone.m_Exclusions.Add(findObject.GetComponent <Transform>()); } } } dynamicbone.m_FreezeAxis = settingData.m_FreezeAxis; dynamicbone.m_DistantDisable = settingData.m_DistantDisable; if (settingData.m_ReferenceObject != null) { findObject = GameObject.Find(m_Utility.ChangeRootPath(settingData.m_ReferenceObject, targetModel.name)); if (findObject != null) { dynamicbone.m_ReferenceObject = findObject.GetComponent <Transform>(); } } dynamicbone.m_DistanceToObject = settingData.m_DistanceToObject; } }