二维项目制作和私有化部署全流程免费,无水印,不限制数量 点击下载

6. 自定义属性面板(3)上传文件替换文本内容

视频介绍

大家好,欢迎回到山海鲸二次开发教程。前面我们简单介绍了自定义属性面板的一些技术使用以及进阶的设置属性。今天,我们将一起探讨一些高级的属性,第一节课聚焦于“上传文件”这样一个高级的自定义属性面板。

文件属性文档解析
首先,我们查看文档,确认是否存在文件属性相关内容。文档中,文件属性由两段代码构成:

第一段代码关于文件属性的设置。
第二段代码描述了file对象及其内置属性和方法。例如,通过list.setting可以访问file对象,并调用其方法如value、read as text、read as json、read as blob或read as arraybuffer。
具体案例:上传图片
接下来,我们通过一个具体案例来实现文件上传功能,首先以图片为例。

图片上传实现
挂载代码:为图片组件挂载代码,并进入编辑模式。
文件属性设置:
在注释中找到文件属性代码。
文件属性中,format指定文件类型,如image、video或model。
若需特定后缀名,如PDF或MP3,需按特定格式设置(此处以图片为例,直接使用image)。
生成代码示例:
点击生成代码示例,并复制。
注意,图片类型复杂,可输入网络链接或上传文件,不同内容对应不同代码结构。
对于上传文件,使用relative path而非absolute path。
实现功能:
保存代码,刷新后上传图片,验证功能。
3D场景贴图改变
进一步,我们尝试通过文件上传改变3D场景中的贴图。

添加3D场景:添加一个3D空场景,并编辑。
改变材质:将地面材质改为水面,找到法线贴图部分。
挂载代码:为材质挂载代码,编辑文件属性。
替换法线贴图:
复制法线贴图代码,替换为上传文件的relative path。
刷新代码,上传新的法线贴图,观察波纹样式变化。
文件内容读取
除了直接使用文件地址,我们还可以读取文件内容。

添加单行文本:在界面上添加一个单行文本组件。
挂载代码:为单行文本组件挂载代码。
设置文件属性:
指定文件类型为TXT。
复制文本调用代码示例。
读取文件内容:
使用read as text方法读取文件内容。
注意该方法为异步,需使用await或.then()处理。
验证功能:
保存代码,刷新后上传TXT文件,验证文本内容是否正确显示。
其他读取方法
除了read as text,还有read as json、read as blob或read as array buffer等方法。具体使用取决于项目需求。

总结
今天,我们介绍了文件自定义属性面板的高级用法,包括上传图片、改变3D场景贴图以及读取文件内容。希望这些内容能对大家在实际项目中的开发有所帮助。今天的课程就到这里,谢谢大家!