2D 游戏项目的着色器,是否无法使用实例化属性?

按照官方文档的操作,在 Cocos 3.8.6 里执行:

import { _decorator, Component, MeshRenderer, Sprite } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('EntryComp')
export class EntryComp extends Component {
    start() {
        const nodeB = this.node.getChildByName('SpriteB');
        const rendererB = nodeB.getComponent(MeshRenderer);

        console.log('rendererB:', rendererB);  // null
    }
}

此时浏览器会报错 getComponent: Type must be non-nil,且 MeshRenderer 获取为 null(导致无法调用 MeshRenderersetInstancedAttribute 方法):

另外节点也无法添加 MeshRenderer 组件,只有一个叫 UIMeshRenderer 的组件:

这个组件已废弃,且该组件的接口里也不存在 setInstancedAttribute 方法。

有了解的大佬么?

研究了下看来是不行,而且这个 MeshRenderer 渲染组件和 Sprite 组件会冲突(因为 Sprite 也是渲染组件)

P.S. 2D项目可以功能裁剪里开启3D的几何体功能,就能添加了