// // private static void charaBones2() // { // foreach (var objectCtrlInfo in Context.Studio().dicInfo.Values) // { // if (objectCtrlInfo.kind == 0) // { // Logger.Log("has kind = 0"); // OCIChar ocichar = objectCtrlInfo as OCIChar; // if (ocichar == null) // { // Logger.Log("ocichar is null"); // } // else if (ocichar.charInfo == null) // { // Logger.Log("ocichar info is null"); // } // else // { // var character = ocichar.charInfo; // string prefix = character is CharFemale ? "cf_" : "cm_"; // List<GameObject> normalTargets = new List<GameObject>(); // var list = new List<GameObject>(); // character.chaBody.objBone.transform.FindLoopAll(list); // list.ForEach(item => { Logger.Log(Kit.GetGameObjectPathAndPos(item)); }); // Logger.Log(list.Count + ""); //// foreach(string targetName in FileManager.GetNormalTargetNames()) //// { //// GameObject bone = character.chaBody.objBone.transform.FindLoop(prefix + targetName); //// if(bone) normalTargets.Add(bone); //// } //// return normalTargets; // } // GuideObjectManager instance = Singleton<GuideObjectManager>.Instance; // foreach (GuideObject guideObject in instance.selectObjects) // { // // if (guideObject.enableRot) // // { // var p0 = guideObject.transform.position; // var p1 = guideObject.transformTarget.position; // var g0 = guideObject.gameObject; // var g1 = guideObject.transformTarget.gameObject; // Logger.Log(Kit.VecStr(p0)); // Logger.Log(Kit.GetGameObjectPathAndPos(g0)); // Logger.Log(Kit.VecStr(p1)); // Logger.Log(Kit.GetGameObjectPathAndPos(g1)); // guideObject.transformTarget.gameObject.transform.Rotate(10, 0, 0); // // } // } // } // } // } #endregion public static Vector3 MapScreenVecToWorld(Vector3 screenVec, Vector3 pos) { var screenZ = CameraMgr.MainCamera().WorldToScreenPoint(pos).z; var screenStart = Vector3.zero; screenStart.z = screenZ; var screenEnd = screenVec; screenEnd.z = screenZ; var worldStart = CameraMgr.MainCamera().ScreenToWorldPoint(screenStart); var worldEnd = CameraMgr.MainCamera().ScreenToWorldPoint(screenEnd); var end = pos + (worldEnd - worldStart); return(end); }