public AvatarAssetController(GameObject headGameObject, GameObject bodyGameObject)
        {
            if (bodyGameObject == null)
            {
                throw new ArgumentNullException("avatarGameObject");
            }
            mAvatarGameObject = bodyGameObject;

            mRigAnimationController = new RigAnimationController(mAvatarGameObject);

            // Add skinned mesh renderer component
            Renderer mBodyRenderer = mAvatarGameObject.GetComponent(typeof(SkinnedMeshRenderer)) as SkinnedMeshRenderer;

            if (mBodyRenderer == null)
            {
                mBodyRenderer = mAvatarGameObject.AddComponent(typeof(SkinnedMeshRenderer)) as SkinnedMeshRenderer;
            }
            mBodyRenderer.material = AvatarEntity.AvatarMaterial;

            // Create the Avatar's Body LayeredPalette
            mBodyTexture = new AvatarBodyTexture(mBodyRenderer);

            // Setup the Face UvShellAnimator
            mBodyMesh = new AvatarBodyMesh(mBodyTexture, bodyGameObject.transform, (SkinnedMeshRenderer)mBodyRenderer);

            if (headGameObject == null)
            {
                throw new ArgumentNullException("headGameObject");
            }

            //headGameObject.AddComponent(typeof(MeshFilter));
            mFaceRenderer         = headGameObject.GetComponent(typeof(MeshRenderer)) as Renderer;
            mFaceRenderer.enabled = false;

            // Create the Avatar's Face LayeredPalette
            mFaceTexture = new AvatarFaceTexture(mFaceRenderer);

            // FaceMesh will setup mesh and UvShells
            mAvatarFaceMesh = new AvatarFaceMesh(mFaceTexture, headGameObject.transform);
            mFaceAnimator   = new FaceAnimator(mAvatarFaceMesh);

            mUpdateTask = GameFacade.Instance.RetrieveMediator <SchedulerMediator>().Scheduler.StartCoroutine(Update());;
        }
Esempio n. 2
0
        public HeadController(GameObject headGameObject)
        {
            if (headGameObject == null)
            {
                throw new ArgumentNullException("headGameObject");
            }

            //headGameObject.AddComponent(typeof(MeshFilter));
            mFaceRenderer = headGameObject.GetComponent(typeof(MeshRenderer)) as Renderer;
            //mFaceRenderer.enabled = false;

            // Create the Avatar's Face LayeredPalette
            mFaceTexture = new AvatarFaceTexture(mFaceRenderer);

            // FaceMesh will setup mesh and UvShells
            mAvatarFaceMesh = new AvatarFaceMesh(mFaceTexture, headGameObject.transform);
            mFaceAnimator   = new FaceAnimator(mAvatarFaceMesh);

            mUpdateTask = GameFacade.Instance.RetrieveMediator <SchedulerMediator>().Scheduler.StartCoroutine(Update());;
        }