Esempio n. 1
0
        /// <summary>
        /// 加载BundleAssets\SingleFile\Live2d\Animation路径下对应id的动画
        /// </summary>
        /// <param name="id">live2d id,文件夹名</param>
        /// <param name="x">x方向偏移量</param>
        /// <param name="y">y方向偏移量</param>
        /// <param name="width">缩放比例</param>
        public void LoadAnimationById(string id, float x = -0.85f, float y = 1.32f, float width = 1.7f, int textureWidth = 1440, int textureHeight = 2500)
        {
            if (_rtTex != null)
            {
                if (_live2dCanvas != null && _live2dCanvas.Live2dCamera != null)
                {
                    _live2dCanvas.Live2dCamera.targetTexture = null;
                }

                DestroyImmediate(_rtTex);
            }

            _rtTex = new RenderTexture(textureWidth, textureHeight, (int)Screen.dpi, RenderTextureFormat.ARGB32);
            _live2dCanvas.Live2dCamera.targetTexture = _rtTex;

            _image         = transform.GetComponent <RawImage>();
            _image.texture = _live2dCanvas.Live2dCamera.targetTexture;

            if (_live2dView == null)
            {
                _live2dView = Live2dManager.CreateL2DView(id, _live2dCanvas, _donotUnloadIds);
                _live2dView.Live2dViewType = LIVE2DVIEWTYPE.MAINPANLE;
            }
            else
            {
                _live2dView.LoadModel(id, _donotUnloadIds);
            }

            _live2dView.X     = x;
            _live2dView.Y     = y;
            _live2dView.Width = width;
        }
Esempio n. 2
0
        public void SetData(EntityVo vo)
        {
            if (_live2dCanvas.Live2dCamera.targetTexture != null)
            {
                Debug.LogError("===========_live2dCanvas.Live2dCamera.targetTexture==============");
            }

            var w      = vo.width;
            var h      = vo.height;
            var target = new RenderTexture((int)w, (int)h, (int)Screen.dpi, RenderTextureFormat.ARGB32);

            _live2dCanvas.Live2dCamera.targetTexture = target;

            _image         = transform.GetComponent <RawImage>();
            _image.texture = _live2dCanvas.Live2dCamera.targetTexture;

            _entityVo = vo;
            if (_live2dView == null)
            {
                _live2dView = Live2dManager.CreateL2DView(vo.id, _live2dCanvas, _donotUnloadIds);
                //  _live2dView.Live2dViewType = LIVE2DVIEWTYPE.MAINPANLE;
            }
            else
            {
                _live2dView.LoadModel(vo.id, _donotUnloadIds);
            }

            _live2dView.X     = vo.L2dScaleDataList[0];
            _live2dView.Y     = vo.L2dScaleDataList[1];
            _live2dView.Width = vo.L2dScaleDataList[2];

            _live2dView.LipSync = vo.lipSpync;
        }