Exemple #1
0
    protected override void OnInitDone()
    {
        base.OnInitDone();

        mItem = SkinTransform.Find("PanelMove/Items/Item").gameObject;
        ShowItems();
    }
Exemple #2
0
 void init()
 {
     mName = SkinTransform.Find("Name").GetComponent <UILabel>();
     // mInputNum = SkinTransform.Find("InputNum/Label").GetComponent<UILabel>();
     mInput       = SkinTransform.Find("InputNum").GetComponent <UIInput>();
     mInput.value = mNowSeleNums.ToString();
     mInput.onChange.Add(new EventDelegate(ChangeInput));
 }
Exemple #3
0
    private void Init()
    {
        mItem = SkinTransform.Find("PanelMove/Items/Item").gameObject;

        Transform menuTran = SkinTransform.Find("Conten/Menu");

        BoxCollider[] buttonArr = menuTran.GetComponentsInChildren <BoxCollider>(true);
        foreach (var box in buttonArr)
        {
            menuButtons.Add(box.gameObject);
        }
        mData = MoNiData(Random.Range(10, 30));
        ShowItems();
    }
Exemple #4
0
    protected override void OnInitDone()
    {
        base.OnInitDone();

        mInputAcc  = SkinTransform.Find("InputAce").GetComponent <UIInput>();
        mInputPass = SkinTransform.Find("InputPass").GetComponent <UIInput>();

        string str = (string)_sceneArgs[0];

        Debug.Log(str + "sdfs afdsafsdafafdsaf");
        int  i  = (int)_sceneArgs[1];
        bool bo = (bool)_sceneArgs[2];

        Debug.Log(str + "----" + i + " ----" + bo);
    }
        public void CalculateInverseBindMatrix(float mx, float my, float mz, float jx, float jy, float jz)
        {
            var model = Matrix4x4.CreateFromYawPitchRoll(mx, my, mz);
            var joint = Matrix4x4.CreateFromYawPitchRoll(jx, jy, jz);

            joint.Translation = new Vector3(jx, jy, jz);

            var invBindMatrix = SkinTransform.CalculateInverseBinding(model, joint);

            Matrix4x4.Invert(model, out Matrix4x4 xform);
            Matrix4x4.Invert(joint * xform, out Matrix4x4 result);
            NumericsAssert.AreEqual(result, invBindMatrix, 0.000001f);

            Matrix4x4.Invert(joint, out Matrix4x4 invJoint);
            result = model * invJoint;
            NumericsAssert.AreEqual(result, invBindMatrix, 0.000001f);
        }
Exemple #6
0
    protected override void OnInitDone()
    {
        base.OnInitDone();


        string str = (string)_sceneArgs[0];

        Debug.Log(str + "----");


        mSlider = SkinTransform.Find("Slider").GetComponent <UISlider>();
        mLabel  = SkinTransform.Find("ProLabel").GetComponent <UILabel>();

        mSlider.value = 0;

        SetLabelInfo(mSlider.value);

        StartCoroutine(Test());
    }
Exemple #7
0
        public void Bind(Transform sourceTransform,
                         Transform targetTransform)
        {
            bound = false;

            if (sourceTopology == null || sourceTopology.InputMesh == null ||
                targetMesh == null || sourceTransform == null || targetTransform == null)
            {
                return;
            }

            this.sourceSkinTransform = new SkinTransform(sourceTransform);
            this.targetSkinTransform = new SkinTransform(targetTransform);

            IntPtr solver = Oni.CreateSolver(0, 0);

            // get source mesh:
            float[] transformData = new float[16];
            for (int i = 0; i < 16; ++i)
            {
                transformData[i] = sourceTransform.worldToLocalMatrix[i];
            }
            IntPtr sourceDefMesh = Oni.CreateDeformableMesh(solver,
                                                            sourceTopology.HalfEdgeMesh,
                                                            IntPtr.Zero,
                                                            transformData,
                                                            IntPtr.Zero,
                                                            sourceTopology.InputMesh.vertexCount,
                                                            sourceTopology.InputMesh.vertexCount);

            GCHandle sourceTrianglesHandle = Oni.PinMemory(sourceTopology.InputMesh.triangles);
            GCHandle sourceVerticesHandle  = Oni.PinMemory(sourceTopology.InputMesh.vertices);
            GCHandle sourceNormalsHandle   = Oni.PinMemory(sourceTopology.InputMesh.normals);
            GCHandle sourceTangentsHandle  = Oni.PinMemory(sourceTopology.InputMesh.tangents);

            Oni.SetDeformableMeshData(sourceDefMesh, sourceTrianglesHandle.AddrOfPinnedObject(),
                                      sourceVerticesHandle.AddrOfPinnedObject(),
                                      sourceNormalsHandle.AddrOfPinnedObject(),
                                      sourceTangentsHandle.AddrOfPinnedObject(),
                                      IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);

            // get target mesh transform data:
            for (int i = 0; i < 16; ++i)
            {
                transformData[i] = targetTransform.worldToLocalMatrix[i];
            }
            IntPtr targetDefMesh = Oni.CreateDeformableMesh(solver,
                                                            IntPtr.Zero,
                                                            IntPtr.Zero,
                                                            transformData,
                                                            IntPtr.Zero,
                                                            targetMesh.vertexCount,
                                                            targetMesh.vertexCount);

            GCHandle meshTrianglesHandle = Oni.PinMemory(targetMesh.triangles);
            GCHandle meshVerticesHandle  = Oni.PinMemory(targetMesh.vertices);
            GCHandle meshNormalsHandle   = Oni.PinMemory(targetMesh.normals);
            GCHandle meshTangentsHandle  = Oni.PinMemory(targetMesh.tangents);

            Oni.SetDeformableMeshData(targetDefMesh, meshTrianglesHandle.AddrOfPinnedObject(),
                                      meshVerticesHandle.AddrOfPinnedObject(),
                                      meshNormalsHandle.AddrOfPinnedObject(),
                                      meshTangentsHandle.AddrOfPinnedObject(),
                                      IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);

            // Perform the binding process:
            Oni.Bind(triangleSkinMap, sourceDefMesh, targetDefMesh, masterFlags, slaveFlags);

            // Cleanup data:
            Oni.UnpinMemory(sourceTrianglesHandle);
            Oni.UnpinMemory(sourceVerticesHandle);
            Oni.UnpinMemory(sourceNormalsHandle);
            Oni.UnpinMemory(sourceTangentsHandle);

            Oni.UnpinMemory(meshTrianglesHandle);
            Oni.UnpinMemory(meshVerticesHandle);
            Oni.UnpinMemory(meshNormalsHandle);
            Oni.UnpinMemory(meshTangentsHandle);

            Oni.DestroyDeformableMesh(solver, sourceDefMesh);
            Oni.DestroyDeformableMesh(solver, targetDefMesh);

            Oni.DestroySolver(solver);

            // Get skinned vertex count:
            int skinCount = Oni.GetSkinnedVertexCount(triangleSkinMap);

            // Create arrays of the appropiate size to store skinning data:
            skinnedVertices  = new int[skinCount];
            skinnedTriangles = new int[skinCount];
            baryPositions    = new Vector3[skinCount];
            baryNormals      = new Vector3[skinCount];
            baryTangents     = new Vector3[skinCount];

            // Retrieve skinning data:
            Oni.GetSkinInfo(triangleSkinMap,
                            skinnedVertices,
                            skinnedTriangles,
                            baryPositions,
                            baryNormals,
                            baryTangents);

            bound = true;
        }