Esempio n. 1
0
//
//        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);
        }