- 博客(91)
- 资源 (11)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 unity实现2D小游戏FlappyBird-2D
实现预加载动画,UI界面展示,空格键或鼠标左键可控制Bird的高度,从而通过障碍物,通过所有障碍物即可通关。(1)播放预加载动画,在动画的结尾添加事件Add event,Addressables中添加UI面板预制体,在动画结尾事件函数中加载Menu面板。(2)Menu面板中,添加两个图片按钮,通过GameObject.Find(),去绑定Start和Quit按钮,通过监听onClick.AddListener(),去监听按钮用来委托函数并执行命令。(3)点击Start按钮,SceneManager
2023-02-22 22:22:20
1140
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 3D游戏角色动画——Elaina(全流程人物建模)
要求把自选一个游戏人物+动物模型做一个完整的展示动画视频。具体要求包括:给出游戏人物+动物模型的背景资料、设计思路,给出模型设计、道具设计和动作设计等前期设计文档。以给出游戏人物+动物的基础模型或者图片,进行完整的模型重建过程。对游戏人物+动物模型做出特效、头部、盔甲、服装、武器等方面修改。要求对游戏人物+动物模型设定一组新的完整动作,其他请结合创意修改。根据角色设计输出人物和动物模型的渲染动画,在片头中包括姓名/学号,片尾动作制作中间资料的展示。.........
2022-06-19 14:49:02
3156
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unity实现2D小游戏Sunny Land
Unity实现2D小游戏FirstGame2D(Sunny Land)一、游戏说明本游戏为作者的第一个实验的2D小游戏实现效果:(1)简单的UI界面以及触发按钮、滑动按钮事件(2)通过按钮与按键实现场景的切换(3)通过代码实现动画效果的切换(跳跃、蹲下等)(4)碰撞体以及触发器实现消灭敌人、收集物品、地面检测(5)相机场景与背景运动差,实现场景与人物的立体效果,达到较好的视觉效果(6)SoundMananger实现场景音乐的管理
2022-05-10 22:23:41
6228
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 动画设计与制作——3D Max场景建模《我的家》V-Ray 4.1
动画设计与制作——3D Max场景建模《我的家》V-Ray3ds Max 2020、V-Ray 4.1期末综合展示作品《我的"..."》"..."可以是:家、小学、中学、家乡、乡村、图书馆、学校等等场景;场景是自己生活、学习过的熟悉的场景。要以照片为证,场景绝非完全虚构。下节课请学习委员把作品名称都报上来。不能重复。比如“我的家-sss几号”。在平时的课程中,建模要边学边做。作品按完整性、亮点、制作技术特点、实验报告完整性等几个方面来评价。通过本课程的学习,给大家留下值得珍藏的作品。
2022-01-18 17:59:01
1610
1
原创 Unity实现飞行相机、路径相机、晃动相机、手机触摸旋转模型、鼠标点击模型播放视频
Unity实现飞行相机、路径相机、晃动相机、手机触摸旋转模型,UpDown需要在如下添加A、D键。
2024-05-16 21:45:02
255
原创 Unity用官方第三人称Third Person模板,替换成自己的人物
官方的第三人称模板是使用URP渲染管线制作,本文章会使用3D基础渲染管线,当然URP渲染管线也是同样的步骤。URP管线可以直接创建官方模板直接从步骤六开始。这样我们就得到了一个用官方资源替换成自己模型的比较好用的第三人称,Very Good!
2024-04-30 22:37:07
1910
1
原创 Unity实现360度可旋转、缩放单独看模型
Unity实现360度可旋转、缩放单独看模型。实现模型的单独交互,显示在面板上,可以进行旋转和缩放操作。
2024-04-28 22:17:04
709
原创 Unity两种答题面板的制作方式
Unity两种答题面板的制作方式。主要为5个组件,一个Text作为题目,Scroll View作为装载选择题的容器,Toggle作为选择模板,两个Button,一个作为关闭面板按钮,一个作为提交按钮。将正确的组件拖入到unity正确的位置上。每一个答题面板都需要挂载该脚本。
2024-04-28 22:15:40
1079
原创 unity自制模式(MVC与命令模式相结合)(2)
上篇《unity自制模式(MVC与命令模式相结合)(1)》已经讲述结构的说明已经源码展示,该篇就开始进行UI的实践篇。此结构,不仅适合UI面板的MVC模式,可以继续实现其他MVC模式,例如IUIEvent结构改成IEvent接口,将AbsUIEvent : IUIEvent继承改至IEvent,同时你还可以继续添加例如AbsSceneEvent : IEvent或者更多的Abs...Event : IEvent,同样也是收发消息的方式去传递Args,让Handler去指定命令去处理数据,去实现更多的MVC模
2024-04-04 15:37:08
345
原创 unity自制模式(MVC与命令模式相结合)(1)
本框架实行MVC结构且附带命令模式进行搭建,简单称述:(1)首先Canvas中UI面板作为View的显示;(2)UIEventArgs作为UI面板的Model层;(3)Handler作为UI面板的控制单元;(4)Command作为UI面板的命令层,View层会发送消息并附带Model给Handler,Handler将指定给命令。注:该结构将MVC分层明确,并附带命令,可实现面板的数据进行撤销与反撤销功能。
2024-04-04 15:36:15
787
原创 TCP/IP体系结构、Socket、进程PID、端口Port
TCP/IP体系结构、Socket、进程PID、端口Port一、TCP/IP体系结构首先OSI参考模型,OSI将网络分为七层,自下而上分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP体系结构则将网络分为四层,自下而上分别是网络接口层、网络层、传输层、应用层。(一)TCP协议传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。二、Socket套接字(socket)是一个抽象层,应用
2023-02-23 13:14:40
899
1
原创 2020校招4399游戏开发岗笔试编程题(C#)
2020校招4399游戏开发岗笔试编程题(C#)一、小球自由落体,一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?二、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。三、小陆每天要写一份工作日报,日报标题含有日期。几年后,他翻开以前的日报,想知道两份日报的日期是否同为星期几,请编程帮助他判断。四、段誉身具凌波微波,动无常则,若危若安,一次能走一级台阶或者两级台阶
2022-11-04 18:29:43
2964
原创 Unity合并mesh,【CombineMeshes】将多个物体合并成一个物体或层级关系的物体
Unity3D将多个物体合并一个物体或层级关系的物体一、三种合并工具1.MergeMesh1:(效率低,适应性高)模型点超过65535自动分模型,一个mesh上有多个材质会自动分出来成为子集部分,父节点要有mesh则 fatherMesh = true;2.MergeMesh2:(效率快、适应性低)模型点不能超过65535,超过会报错,且相同材质才会合并,若一个mesh上有多个材质会少一些材质(也就是丢失了一部分模型)3.MergeMesh3:(适应性极低)模型点不能超过65535,超过会
2022-10-29 16:56:25
10650
原创 Unity通过组件名称字符串添加脚本
通过Type.GetType(string typeName)来得到字符串对应的Type。 Type.GetType(typeName)能获取到自定义类的类型,但是获取Unity的组件不行。例如Type.GetType(“Rigidbody”)值为null,其实是少了程序集。string qualifiedName = typeof(Rigidbody).AssemblyQualifiedName;ty获取Unity的组件程序集全名,再通过Type.GetType()得到的就不为null了。
2022-10-10 23:48:13
1499
原创 Unity、C#连接MySQL数据库
Unity、C#连接MySQL数据库(一)C#连接Mysql数据库(二)Unity连接Mysql数据库一、MySQL创建(Navicat可视化)(一)安装完MySQL后,打开Navicat进行连接,连接名随便输入,本地的(此电脑上的)MySQL主机就为:localhost或者127.0.0.1,用户名和密码:如果是本地MySQL就为你安装时设置的用户名和密码。(二)(如果是本地MySQL)快速的创建如下表:(二)Unity连接Mysql数据库三、Unity工程的创建以及MySQL包的导入
2022-09-04 01:11:32
3254
1
原创 数字图像处理OpenCV——实验四 图像艺术化处理实验
实验四 图像艺术化处理实验实验项目名称:图像艺术化处理实验(1) 了解各种图像艺术化处理方法的原理。(2) 掌握各种艺术化处理方法的实现过程。编程实现艺术化效果,三类效果中每类至少实现两种。1.艺术化效果(1)黑白照片制作我们通常说的黑白照片并不是数字图像中的二值图,而是灰度图。由彩色图像转化为灰度图像的过程叫做灰度化处理。一般情况下彩色图像每个像素用3个字节表示,每个字节对应着R、G、B分量的亮度(红、绿、蓝),转换后的灰度图像的灰度值在0~255之间,数值越大,该点越白,即越亮,越小则越黑
2022-08-18 23:28:59
1196
原创 数字图像处理OpenCV——实验二 图像的空间域增强
实验二 图像的空间域增强实验项目名称:图像的空间域增强(1) 进一步理解图像平滑和图像锐化等空间域增强方法的原理。(2) 了解图像平滑和图像锐化的效果和作用。(3) 掌握图像模板运算的流程。1、图像平滑众所周知,实际获得的图像在形成、传输、接收和处理的过程中,不可避免地存在着外部和内部的噪声干扰。噪声恶化了图像质量,使图像模糊,给分析带来困难。因此,去除噪声,恢复原始图像时图像处理中的一个重要内容。消除图像噪声的工作称之为图像平滑或滤波。图像平滑方法包括空域法和频域法两大类。在空域法中,图像平
2022-08-18 23:14:38
1592
原创 数字图像处理OpenCV——实验三 图像分割实验
实验三 图像分割实验实验项目名称:图像分割实验(1) 进一步理解图像的阈值分割方法和边缘检测方法的原理。(2) 掌握图像基本全局阈值方法和最大类间方差法(otsu法)的原理并编程实现。(3) 编程实现图像的边缘检测。编程实现图像阈值分割(基本全局阈值方法和otsu法)和边缘检测。图像的二值化处理图像分割中的一个主要内容,就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。用I表示原图,R表示二值化后的图,则二值化的过程可以用以下公式表示:thr表示选取的阈值。二值化的过
2022-08-18 23:14:08
2646
原创 数字图像处理OpenCV——实验一 熟悉OpenCV环境和基本操作
实验一 熟悉OpenCV环境和基本操作熟悉OpenCV运行环境,了解图像的基本操作及直方图均衡化。 利用OpenCV产生一幅图像,尺寸为200*240,三通道,其中某一块为红色,其它皆为黑色,示例图如下。对一副图像进行直方图均衡化处理。要求自行编写直方图均衡化函数,实现图像灰度均衡的算法步骤如下:(1) 统计直方图数组,用一个数组p记录p[i];(2) i从1开始,令S[i]=S[i-1]+p[i],S[0]=p[0];(3) 一个数组L记录新的S索引值,即令L[i]=S[i]*(256-1);
2022-08-18 22:49:11
2550
原创 maya骨骼架设、蒙皮绑定与权重修正
一、简单的骨骼架设与蒙皮绑定(一)骨骼创建1.首先在IK面板中添加一个骨架2.点击X射线显示关节3.将每一个关机放到合适的位置
2022-04-05 13:53:56
6118
原创 Unity可视化编程XDreamer插件导入
前言XDreamer是一款基于Unity平台开发的,可在Unity(包括编辑器与运行时)中使用的可扩展的中文交互编辑软件,可进行2D、3D、VR、AR、MR开发。本期博客为XDreamer的官方讲解的学习记录。可以理解为UE4中的蓝图效果。是从事美术人员的福音,美术人员也可不用编写程序进行游戏的制作。一、下载XDreamer官方插件包XDreamer中文交互编辑器http://www.xdreamer.com.cn/请在官网进行下载,得到如下的文件。二、插件加载目前我导入到URP
2022-03-28 15:18:09
10672
1
原创 unity控制相机移动
1.鼠标控制相机的旋转using System.Collections;using System.Collections.Generic;using UnityEngine;public class move : MonoBehaviour{ public CharacterController controller; public Rigidbody rigidbody; public float speed = 1; // Use this for i
2022-03-16 16:47:29
10033
原创 opencv安装与配置vs2019
Opencv安装1.下载并解压opencv-4.5.4-vc14_vc15.exe(1)官网下载Releases - OpenCVhttps://opencv.org/releases/或者:链接:https://pan.baidu.com/s/1R0T4FqXqDuqgA5Ukgphi9g提取码:8n9b注意:一定等秒数加载后显示download点击。解压完一定是该目录!!!!!!2.创建空项目必须改成x643.右键first(......
2022-03-15 23:38:35
7639
1
原创 Maya快速导出fbx脚本
能够快速导出每一个元件的fbx,但是需要点到每一个元件上才能点执行string $objname[] =`ls -sl`;string $savePath = "C:/Users";//替换路径for ($SObjname in $objname ){ file -force -options "v=0;" -typ "fbx" -pr -es ($savePath +"/" + $SObjname+".fbx"); }注意事项:1.首先在Maya脚本编辑器中创建MEL脚
2022-03-09 13:55:13
3529
原创 计算机图形学——大作业
计算机图形学大作业一、实验要求绘制一个简单的三维场景,可以是室内:卧室,办公室,教室,也可以是室外:运动场,公园等,加上光照效果,简单的纹理映射,透视投影;不能过于简单;可以加动画、鼠标和键盘交互。 上交材料: project和word文档(具体内容展示,思路和心得)二、实验思路首先初始化窗口,定义摄像机坐标与视口坐标,利用实验二的知识内容绘制三维立体模型,定义每一个模型的坐标值以及利用变换函数实现相对位置的放置;利用实验三中的知识给整个场景进行灯光的设置;然后使用实验四中的代码实...
2022-03-01 19:20:57
19370
原创 计算机图形学——实验五 基本图形学算法及着色器初步编程
实验五 基本图形学算法及着色器初步编程1、 理解基本图形元素光栅化的基本原理,理解直线裁剪算法的原理;2、 掌握直线的光栅化算法:DDA和Bresenham算法;3、 掌握直线裁剪算法:Cohen-Surtherland算法;1、 编程实现DDA算法和Bresenham算法生成直线。2、 实现Cohen-Surtherland直线裁剪算法,调试、编译、修改程序。要求:根据所给的直线光栅化的示范源程序,在计算机上编译运行,输出正确结果(示范代码有错误,指出并改正)。
2022-02-28 22:13:12
919
原创 计算机图形学——实验四 纹理映射实验
实验四 纹理映射实验掌握纹理映射的基本原理,利用VC++ OpenGL实现纹理映射技术。在OpenGL中纹理映射所使用的纹理数据,既可以是程序生成的一组数据,也可以从外部文件中直接读取。1. 利用直接创建纹理的方法生成二维纹理并映射到四边形上。2. 从外部文件中直接读取纹理实现正方体每个面的纹理映射,并使正方体转动。整个过程需要三个步骤:创建纹理对象并绑定纹理、启用纹理映射和使用纹理坐标和几何坐标绘制,下面我们主要对创建纹理和绑定纹理这一过程进行阐述,并给出参考代码。1)创建纹理对象并绑定纹理
2022-02-27 14:10:03
4649
原创 计算机图形学——实验三 光照与材质处理实验
实验三 光照与材质处理实验了解简单光照明模型的基本原理,利用VS+OpenGL实现物体的光照和材质处理。1. 光照模型当光照射到一个物体表面上时,会出现三种情形。首先,光可以通过物体表面向空间反射,产生反射光;其次,对于透明物体,光可以穿透该物体并从另一端射出,产生透射光;最后,部分光被物体表面吸收而转换成热。在上述三部分光中,仅仅是透射光和反射光能够进入人眼产生视觉效果。此外,物体本身还有可能发光。这里我们暂时不考虑透明物体,这样场景中可能存在以下几种类型的光,即环境光、散射光、镜面光和辐射光。1
2022-02-26 20:33:01
3712
原创 计算机图形学——实验二 几何图形变换实验
实验二 几何图形变换实验1. 进一步掌握二维、三维变换的数学知识、变换原理、变换种类、变换方法;2. 利用OpenGL实现二维、三维图形变换,在屏幕上显示变换过程或变换结果;3. 掌握OpenGL常用的变换函数,利用OpenGL绘制简单的三维物体。1、下面的代码采用GLUT库,使用了双缓存,在按下鼠标左键后,程序在空闲时一直不停地调用spinDisplay函数,实现了一个矩形在窗口中匀速转动(单击鼠标右键停止转动)。请修改代码,实现矩形在窗口内沿着水平线从左侧移动到右侧。通过实验说明glPushMa
2022-02-25 22:05:42
5410
原创 计算机图形学——实验一 VS+OpenGL绘图环境及基本图形绘制
VS+OpenGL绘图环境及基本图形绘制1、 熟悉OpenGL的主要功能;2、 掌握OpenGL的绘图流程和原理;3、 掌握OpenGL核心函数的使用;4、 熟悉OpenGL基本图形元素的绘制函数。二. 实验内容1、 如预备知识所述,创建一个OpenGL工程,修改第一个程序中的Display()函数,如下:该程序是在窗口中画两条线,分别用黄色和红色绘制。如上所述,OpenGL是一个状态机,glBegin(UINT State)可以设定如下状态:GL_POINTS 画点GL_LINES 画线
2022-02-24 23:22:48
5140
原创 Maya测量尺寸python脚本Mesh Resizer
能够准确测量Maya软件中模型的尺寸大小。通过打开脚本编辑器,加入python脚本代码,点击模型运行即可。import maya.cmds as cmdsfrom collections import Counterfrom functools import partialJobSelected=cmds.scriptJob(event=["SelectionChanged", "AutoUpdateInfo()"])def KillJob(): cmds.scrip..
2022-02-23 18:46:02
1576
1
原创 Maya实现合并点以及统一法线的python脚本代码
在3D建模软件maya中,若是有不规格模型的面法线相反,对点线面的移动会有相应的影响。以下代码可以帮助你快速实现统一法线合并点。1.打开脚本编辑器,添加python脚本代码窗口。2.快速实现合并点以及实现法线一致。这里会统一法线一致较多的方向,若是出现黑色,则是法线相反,点击反转法线即可。import maya.cmds as cmds#全选合并点cmds.selectType( v=True )cmds.polyMergeVertex(d=0.0001)#法线一致cmds.poly
2022-02-22 23:40:30
1345
原创 梯度下降算法主要通过哪两个控制因子实现最优参数选择?这两个因子分别起到什么作用?为什么计算损失函数最优值采用梯度下降算法而不是直接对损失函数求导数等于0时的最优解?如何判断梯度下降算法是否正确工作?
梯度下降算法主要通过哪两个控制因子实现最优参数选择?这两个因子分别起到什么作用?为什么计算损失函数最优值采用梯度下降算法而不是直接对损失函数求导数等于0时的最优解?如何判断梯度下降算法是否正确工作?梯度下降算法有两个重要的控制因子:一个是步长,由学习率控制;一个是方向,由梯度指定。1.在梯度下降算法中,步长决定了每一次迭代过程中,会往梯度下降的方向移动的距离。试想一下,如果步长很大,算法会在局部最优点附近来回跳动,不会收敛(如下图);但如果步长太短,算法每步的移动距离很短,就会导致算法收敛速度很慢。2
2022-01-21 18:31:51
992
原创 举出其他监督学习,无监督学习,强化学习的例子?说一下非显著式编程的优势?AlphaGo的胜利,带给我们什么样的人生启示?当代大学生如何在人工智能时代增加自己的核心竞争力?
举出其他监督学习,无监督学习,强化学习的例子?说一下非显著式编程的优势?AlphaGo的胜利,带给我们什么样的人生启示?当代大学生如何在人工智能时代增加自己的核心竞争力?监督学习:比如手写体识别,我们将许多汉字的手写数字图像数据作为训练数据。汉字的数据的分类目标被称作标签和类。训练数据有一个标签(某一个汉字),根据标签可以找到关于手写数字图像的正确答案信息,例如“此手写数字图像为‘人’”。在学习阶段,当将手写汉字图像输入系统时,调整系统的参数以尽量将输入图像分类为正确的标签,最后进行识别输出正确结果。无
2022-01-21 18:29:21
2848
原创 机器学习基础(三)
1. 学习识别手写数字图像的卷积神经网络:LeNet2. 学习如何使用单块NVIDIA GPU来计算3. 学习迁移学习中的一种常用技术:微调(fine tuning)练习一:1. 绘制误差loss,训练准确率train acc和测试准确率test acc随迭代次数变化的曲线2. 尝试基于LeNet构造更复杂的网络来提高分类准确率。例如,调整卷积窗口大小、输出通道数、激活函数和全连接层输出个数。在优化方面,可以尝试使用不同的学习率、初始化方法以及增加迭代周期。3. 选取一个训练性能较好的模型,输出
2022-01-21 18:25:00
3945
原创 机器学习基础(二)
1. 学习Gluon基础语法2. 学习如何使用MXNet提供的Gluon接口更方便地实现线性回归的训练3. 学习通过使用训练集图像训练多层神经网络模型,并利用该模型在测试集上预测手写数字类别,输出分类准确率,给出分类结果练习一:查阅MXNet文档,看看 gluon.loss 和 mxnet.init 模块里提供了哪些损失函数和初始化方法练习二:如果将 l = loss(net(X), y) 替换成 l = loss(net(X), y).mean() ,我们需要将trainer.step(b
2022-01-21 18:17:54
2200
原创 机器学习基础(一)
1. 熟悉AWS SageMaker平台2. 学习如何对内存中的数据进行操作,NDArray是一个类,也是存储和变换数据的主要工具更加适合深度学习。3. 学习如何使用MXNet提供的 autograd 模块来自动求梯度。4. 学习对有用到的MXNet函数和类如何查阅文档。5. 学习如何只利用 NDArray 和 autograd 来实现一个线性回归的训练。
2022-01-21 18:11:29
1259
原创 游戏人工智能——A*寻路算法实践
A*寻路算法实践一、题目背景随着多媒体设备、虚拟现实、增强现实、物联网等技术的飞跃发展,计算速度与存储容量的日益提高以及相关软件的研究取得长足进步,人工智能的应用得以进一步推广发展起来。地图寻径问题是人工智能技术的一个重要领域。在网络游戏中,寻径问题必须考虑多方面的因素,比如游戏地图中文件结构和起点与目标点之间是否可以连通以及游戏运行时运行内存资源占用、可扩展更新性、安全程度等。长久以来,游戏开发者在开发过程中为了实现这些绞尽脑汁。在搜索寻径问题中,Dijkstra算法是目前许多工程解决最短路径
2022-01-21 17:53:43
3040
原创 游戏人工智能——有限状态机实验
实验四:有限状态机实验一、实验目的通过蚂蚁世界实验掌握游戏中追有限状态机算法二、实验仪器Win10下的Visualstudio三、实验原理及过程//描述有限状态机的算法原理//描述程序实现时的思路包括对每个函数模块进行详细说明有限状态机(FSM)是表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用。通常FSM包含几个要素:状态的管理、状态的监控、状态的触发、状态触发后引发的动作。有限状态机是由寄存器组和组合逻辑构成的硬件时序电路
2022-01-21 17:44:51
2769
unity自制模式(MVC与命令模式相结合)
2024-05-10
Unity用官方第三人称Third Person模板,替换成自己的人物示例
2024-04-30
Unity用UGUI制作一个多选下拉框
2023-12-21
3D游戏角色动画-Elaina(全流程人物建模)<二>
2023-03-26
3D游戏角色动画-Elaina(全流程人物建模)<一>
2023-03-26
unity实现2D小游戏FlappyBird-2D
2023-02-22
教务管理系统——数据库课程设计mysql+java
2022-05-24
Unity实现2D小游戏FirstGame2D(Sunny Land)
2022-05-12
动画设计与制作——3D Max场景建模《我的家》V-Ray 4.1.zip
2022-01-18
移动应用程序设计基础——点菜单列表实现2.0(实现短信接受以及服务与广播的使用).zip
2022-01-17
C++面向对象课程设计_自助点餐系统.zip
2022-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人