Skip to content
This repository was archived by the owner on Jul 11, 2023. It is now read-only.

Commit d047ee4

Browse files
committed
更新说明文档
1 parent 83063cd commit d047ee4

File tree

4 files changed

+57
-17
lines changed

4 files changed

+57
-17
lines changed

Diff for: README - 01.md

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
### **功能介绍**
2+
1. 此插件是基于UGUI所做的图文混排功能,常用于聊天系统的表情嵌入;
3+
2. 可支持静/动态表情,支持超链接;
4+
3. 实现原理,是基于UGUI的富文本,使用quad标签进行占位;
5+
4. 使用了Asset文件来存储本地的表情信息;
6+
5. Text根据正则表达式,解析文本,读取相应的表情信息,并在相应位置绘制相应的Sprite;
7+
6. 正则表达式为[图集ID#表情标签],图集ID为-ID时,表示此标签为超链接,如-1,图集ID为0时,可省略不写;
8+
7. 有同学提过想支持移动端系统自带的表情,我这里只提一个简单的实现思路,集成不看自己的实际需求了,自己备好系统表情的图集,再解析一下当前系统输入表情的正则表达式,然后跟插件一样的嵌入到Text中(这算是正常的集成实现思路么?);
9+
---
10+
### **使用步骤**
11+
1. 选择一张表情图片,导入在unity里,并设置为Texture Type为Sprite(2D and UI);
12+
2. 右键选择图片,点击Create/Sprite Asset,创建图集资源;
13+
3. 针对Asset文件,可以设置图集的ID、是否为静态表情,和标签等属性,同为一个动态表情的Sprite应该设置为同一个标签;
14+
4. 点击菜单栏GameObject/UI/Textline,即可创建UI;
15+
5. 在InlineText组件中输入[#emoji_0],即可显示表情;
16+
---
17+
### **截图展示**
18+
![ 标签对应表情](https://github.com/coding2233/TextInlineSprite/blob/master/ShotScreens/tw04_01.gif)
19+
![聊天示例](https://github.com/coding2233/TextInlineSprite/blob/master/ShotScreens/tw04_02.gif)
20+
![更新后,功能展示](https://github.com/coding2233/TextInlineSprite/blob/master/ShotScreens/text01.gif)
21+
![更新后,聊天测试](https://github.com/coding2233/TextInlineSprite/blob/master/ShotScreens/text02.jpg)
22+
---

Diff for: README.md

+35-17
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,40 @@
1-
### **功能介绍**
2-
1. 此插件是基于UGUI所做的图文混排功能,常用于聊天系统的表情嵌入;
3-
2. 可支持静/动态表情,支持超链接;
4-
3. 实现原理,是基于UGUI的富文本,使用quad标签进行占位;
5-
4. 使用了Asset文件来存储本地的表情信息;
6-
5. Text根据正则表达式,解析文本,读取相应的表情信息,并在相应位置绘制相应的Sprite;
7-
6. 正则表达式为[图集ID#表情标签],图集ID为-ID时,表示此标签为超链接,如-1,图集ID为0时,可省略不写;
8-
7. 有同学提过想支持移动端系统自带的表情,我这里只提一个简单的实现思路,集成不看自己的实际需求了,自己备好系统表情的图集,再解析一下当前系统输入表情的正则表达式,然后跟插件一样的嵌入到Text中(这算是正常的集成实现思路么?);
1+
### **新增功能**
2+
1. 使用shader渲染表情动画,取消了在update中循环更新模型数据
3+
2. 支持在编辑器中直接预览(支持不完全)
4+
3. 在编辑中增加了线框辅助调试
5+
4. 利用了对象池对部分比较明显的GC问题进行了优化
6+
5. 重新更换了坐标系转换的计算,更好的支持Canvas Render Mode的切换
7+
6. 精简整理了代码
8+
7. 简单优化了编辑器的操作
9+
10+
### **强行解释**
11+
1. 利用shader渲染表情动画,可以更好的利用设备的性能,但是一开始并没有很好的思路,后面发现UGUI的Mesh支持uv0-uv3,天真的以为可以利用多层uv存下多个数据,后面经过调试发现uv0-uv4的值,完全一样,意思就是unity canvasrender目前的设计,为了优化性能,不支持uv1-uv3,并不是bug,所以没法存多套uv。[https://issuetracker.unity3d.com/issues/canvasrenderer-dot-setmesh-does-not-seem-to-support-more-than-one-uv-set](https://issuetracker.unity3d.com/issues/canvasrenderer-dot-setmesh-does-not-seem-to-support-more-than-one-uv-set),也不知道unity官方以后会不会更新,所以还是目前采用了老方法,uv移动来做动画。
12+
2. 动态和静态表情,在配置文件上勾选`Static`即可,现在的动态表情的其他信息还没有集成在`SpriteAsset`里面,需要在`SpriteGraphic`上更改一下`CellAmount``Speed`,`CellAmount`是当前一行精灵的个数。
13+
3. 之前也提过,写这个插件并没有实际的使用机会,难免考虑不周,收集的意见,大部分都有自己的想法,比较杂乱,所以建议如果能直接使用,那是最好的。如果跟自己的需求有偏差,希望能作个参考,自己更改,欢迎提交pr。然后我会再尽力写成通用的。
14+
4. 提交的pr,改动小,我会检查合并,如果改动太大,我会单独新建分支留存,以便有需要的人查看。
15+
5. 其实`SpriteAsset`的Sprite是没有作用的,目前是为了方便制作预览`SpriteAsset`,后面可能会再更新一键生成配置文件,直接动态划分表情信息
16+
17+
---
18+
19+
### **功能介绍**
20+
1. 此插件是基于UGUI所做的图文混排功能,常用于聊天系统的表情嵌入;
21+
2. 可支持静/动态表情,支持超链接;
22+
3. 实现原理,是基于UGUI的富文本,使用quad标签进行占位;
23+
4. 使用了Asset文件来存储本地的表情信息;
24+
5. Text根据正则表达式,解析文本,读取相应的表情信息,并在相应位置绘制相应的Sprite;
25+
6. 正则表达式为[图集ID#表情标签],图集ID为-ID时,表示此标签为超链接,如-1,图集ID为 0时,可省略不写;
26+
7. 有同学提过想支持移动端系统自带的表情,我这里只提一个简单的实现思路,集成不看自己的实际需求了,自己备好系统表情的图集,再解析一下当前系统输入表情的正则表达式,然后跟插件一样的嵌入到Text中(这算是正常的集成实现思路么?);
927
---
1028
### **使用步骤**
11-
1. 选择一张表情图片,导入在unity里,并设置为Texture Type为Sprite(2D and UI);
12-
2. 右键选择图片,点击Create/Sprite Asset,创建图集资源;
13-
3. 针对Asset文件,可以设置图集的ID、是否为静态表情,和标签等属性,同为一个动态表情的Sprite应该设置为同一个标签;
14-
4. 点击菜单栏GameObject/UI/Textline,即可创建UI;
15-
5. 在InlineText组件中输入[#emoji_0],即可显示表情;
29+
1. 选择一张表情图片,导入在unity里,并设置为`Texture Type``Sprite(2D and UI)`,需要点击`Sprite Editor`手动选取表情;
30+
2. 右键选择图片,点击`Create/Sprite Asset`,创建图集资源;
31+
3. 针对Asset文件,可以设置图集的ID、是否为静态表情,和标签等属性,同为一个动态表情的Sprite应该设置为同一个标签;
32+
4. 点击菜单栏`GameObject/UI/Textline`,即可创建UI;
33+
5.`SpriteGraphic`上更改一下`CellAmount``Speed`,`CellAmount`是当前一行精灵的个数;
34+
6. 在InlineText组件中输入`[#emoji_0]`,即可显示表情;
1635
---
1736
### **截图展示**
18-
![ 标签对应表情](https://github.com/coding2233/TextInlineSprite/blob/master/ShotScreens/tw04_01.gif)
19-
![聊天示例](https://github.com/coding2233/TextInlineSprite/blob/master/ShotScreens/tw04_02.gif)
20-
![更新后,功能展示](https://github.com/coding2233/TextInlineSprite/blob/master/ShotScreens/text01.gif)
21-
![更新后,聊天测试](https://github.com/coding2233/TextInlineSprite/blob/master/ShotScreens/text02.jpg)
37+
![ 标签对应表情](ShotScreens/tw04_01.gif)
38+
![聊天示例](ShotScreens/tw05_01.gif)
39+
![更新后,功能展示](ShotScreens/tw05_00.png)
2240
---

Diff for: ShotScreens/tw05_00.png

537 KB
Loading

Diff for: ShotScreens/tw05_01.gif

433 KB
Loading

0 commit comments

Comments
 (0)