Example #1
0
    /////////////////////////////////////////////////////////////////////////////////////////////////////////
    public bool Create(string strRenderObj, int nSize, GameObject parentObj)
    {
        Engine.IRenderSystem rs = Engine.RareEngine.Instance().GetRenderSystem();
        if (rs == null)
        {
            Engine.Utility.Log.Error("获取RenderSystem失败!");
            return(false);
        }

        // 对象创建
        if (m_Root == null)
        {
            m_Root = new GameObject("RTObj");
            if (parentObj != null)
            {
                m_Root.transform.parent = parentObj.transform;
            }
        }

        //
        m_RenderObj = null;
        rs.CreateRenderObj(ref strRenderObj, ref m_RenderObj, CreateRenderObjEvent, null, Engine.TaskPriority.TaskPriority_Normal);
        if (m_RenderObj == null)
        {
            Engine.Utility.Log.Error("创建Renderobj失败{0}!", strRenderObj);
            return(false);
        }

        m_RenderObj.SetLayer((int)Engine.RenderLayer.ShowModel);
        // 默认播放站立动作
        m_RenderObj.Play(Client.EntityAction.Stand);

        // CreateCamera
        Camera cam = CreateCamera();

        //  m_RenderText = new RenderTexture(nSize, nSize, 24, RenderTextureFormat.ARGB32);
        m_RenderText = RenderTexture.GetTemporary(nSize, nSize, 24, RenderTextureFormat.ARGB4444);
        if (m_RenderText == null)
        {
            return(false);
        }
        cam.targetTexture = m_RenderText;

        // 对象挂在父节点上
        if (m_Root != null)
        {
            m_RenderObj.GetNode().GetTransForm().parent = m_Root.transform;
            m_Camera.transform.parent = m_Root.transform;
        }

        return(true);
    }