EE308_Lab2-2

盾子192 2022-11-18 23:58:10

EE308_Lab2-2

The Link Your Classhttps://bbs.csdn.net/forums/MUEE308FZU202201
The Link of Requirement of This Assignmenthttps://bbs.csdn.net/topics/608859318
The Aim of This AssignmentSpecify information statistics on file
MU STU ID and FZU STU ID20124287 832002122
Teammate's MU STU ID and FZU STU ID20124066 832002123
Teammate's blog linkhttps://bbs.csdn.net/topics/609330771
GitHub linkhttps://github.com/BlueP0118/EE308_Lab2-2/tree/6b74bb3108fe26b4823c3a39a33d5adc6843ad45
Video demo linkhttps://v.youku.com/v_show/id_XNTkxOTc5MTAzMg==.html

Difficult functions and programming thinking

Throughout the project, we designed an App that allows you to play the "Bobing" game with very simple operations. Features are focused, with a focus on "Bobing" gameplay. We think the difficulties in the process are:

  1. We wanted to make the dice move rather than just get a static result. Finally, we decided to make the pictures of the dice with different points alternately appear at different six dice to achieve a more humane dynamic effect.

One of a number of dice in which images alternate with different rolls


int a = Math.abs(SecureRandom.getInstance("SHA1PRNG").nextInt()) % 6 + 1;
                                    int b = Math.abs(SecureRandom.getInstance("SHA1PRNG").nextInt()) % 6 + 1;
                                    int c = Math.abs(SecureRandom.getInstance("SHA1PRNG").nextInt()) % 6 + 1;
                                    int d = Math.abs(SecureRandom.getInstance("SHA1PRNG").nextInt()) % 6 + 1;
                                    int e = Math.abs(SecureRandom.getInstance("SHA1PRNG").nextInt()) % 6 + 1;
                                    int f = Math.abs(SecureRandom.getInstance("SHA1PRNG").nextInt()) % 6 + 1;

mView.findViewById(R.id.imageView3).post(new Runnable() {
                                        @Override
                                        public void run() {
                                            ((ImageView) mView.findViewById(R.id.imageView3)).setImageResource(getDice[a]);
                                        }
                                    });

  1. We believe that the second difficulty lies in how to make the numbers thrown out of the dice correspond to the result images displayed. Finally, we used array correspondence to solve this problem.

Working photo

img

Pair programming experience
In this experiment, we started to touch the front-end development software, designed Ul, learned to use Axure for some interactive operations, and used Android studio for programming and running. I learned a lot from this collaboration. Teamwork is very important, and group cooperative learning is more conducive to students' independent thinking. The cooperative group is based on the premise of voluntary grouping of students, and then adjusted according to the large differences in the learning degree among the teams, so that the teams can achieve a basic balance in human resource allocation. At the same time, in programming, many people's different ideas and actions can better check and improve the code.

Long time events

  1. Code

We chose the more convenient Android studio to complete this project, but we are not familiar with Java and xml format interface design

  1. Interface

How did we spend a lot of time in making the dice show the dynamic effect of Chu Yizhong in the process of rolling dice

  1. Record

We are assigning the game a score and storing the data to achieve the competitive nature of the game. Again, it took a long time

PSP

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3030
Estimate估计这个任务需要多少时间3030
Development开发400420
Analysis需求分析 (包括学习新技术)4030
Design Spec生成设计文档3030
Design Review设计复审 (和同事审核设计文档)4040
Coding Standard代码规范 (为目前的开发制定合适的规范)3020
Design设计6030
Coding编码400500
Code Review代码复审10080
Test单元格200160
Reporting报告6050
Test Report测试报告3040
Size Measurement计算工作量3040
Postmortem & Process Improvement Plan事后总结3030
合计-----15101520

Learning Progress Bar

WeekCode numberCumulative Code numberStudy time this weekCumulative learning eventsImportant Growth
15005001010Achieve the basic functions of Bobing
24009001020Achieve dynamic interface beautification design

Github link
https://github.com/BlueP0118/EE308_Lab2-2/tree/6b74bb3108fe26b4823c3a39a33d5adc6843ad45

Video link
https://v.youku.com/v_show/id_XNTkxOTc5MTAzMg==.html

...全文
363 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
随着元宇宙概念兴起与虚拟数字人技术快速发展,虚拟主播、在线教育虚拟助教、元宇宙社交等应用场景对实时动作表情驱动系统提出更高需求。当前主流动作捕捉方案多依赖专业光学动捕设备或深度相机,设备成本高昂、部署复杂,难以在普通用户场景普及。本研究设计并实现一套基于普通单目摄像头的虚拟数字人实时动作表情驱动系统,旨在降低数字人内容生产门槛。系统采用Unity作为主开发引擎,结合Blender进行数字人模型构建与BlendShape表情系统制作,使用MediaPipe框架实现人脸关键点检测与人体姿态估计,通过C#脚本完成实时数据处理与渲染控制。系统包含五个关键模块:人脸关键点检测(MediaPipe Face Mesh提取468个关键点)、人体姿态估计(MediaPipe Pose识别33个骨骼关键点)、表情迁移映射、动作平滑优化(卡尔曼滤波与贝塞尔曲线插值消除抖动)、实时渲染(60fps流畅渲染,支持直播推流与视频录制)。实验结果表明,系统在普通笔记本上可实现60fps实时驱动,人脸关键点检测准确率达98.7%,人体姿态估计平均误差小于5像素,表情迁移相似度达92.3%。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论基础 第3章 系统架构设计 第4章 关键模块设计与实现 第5章 实验与结果分析 第6章 总结与展望 参考文献

285

社区成员

发帖
与我相关
我的任务
社区描述
福州大学 梅努斯国际工程学院 软件工程(2022秋) 教学
软件工程 高校
社区管理员
  • LinQF39
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧