Unity实用技能-协作规范总结

实用技能系列

  1. Unity实用技能-UI滑动条技能总结

文章目录

  • 实用技能系列
  • 前言
  • 协作注意事项-策划
  • 协作注意事项-原画美术
  • 协作注意事项-动效
  • 协作注意事项-服务端
  • 协作注意事项-测试
  • 总结


前言

本人是初入行的客户端开发,有许多协作规范需要记录


协作注意事项-策划

  1. 策划经常脑洞大开,有些需求是实时出现,不会一一写在策划案里,所以客户端在代码设计的过程中一定要考虑很强的扩展性,防止策划临时加新需求导致代码大改的情况
  2. 有时候策划给的配置表数据是不合理的,最典型的就是配置表数据索引过深,遍历整一个大表才能找到对应数据;能通过一个字段就索引到数据就最好,不能就只遍历一遍表,然后存起来用
  3. 对于有些可能会改动删除的表也尽量不要索引去读,而是读那些只会增加数据的表,这样后续维护代码也比较方便

注意:我一个职场老前辈告诉我,不要信策划的什么不会删表项的鬼话,指不定他哪天就删了,然后报错了就让你解决

协作注意事项-原画美术

  1. 通常来讲UI客户端是不需要和美术交流的,但还是会有一些情况需要交流
  2. 比如在美术调整场景中的人物站位什么的就调整一下代码之类的

协作注意事项-动效

  1. 动效与客户端交流无非就是动画怎么播,材质怎么换,层级怎么调整
  2. 先说动画播放的规范,动画这东西最好就是动效自动调整播放,尽量不要让程序来主动播动画,除非是动效那边不知道播放的时机才由程序主动播,最大的原因还是考虑到游戏性能问题以及后续的维护
  3. 材质问题很重要,在公司试用期的时光,我遇到过2类材质替换问题。一种情况是2D材质替换,就是特效为了实现刷光粒子效果去替换材质,但由于2D贴图的情况实在太多,不能创建多个材质球一一替换,而是让特效制作每个贴图对应的粒子预设,这样后续维护的时候才比较好。还有一种情况是3D材质替换,3D材质为啥可以替换,自然是和2D相对,3D物体是在场景中的,想换材质就写一个C#脚本,保存材质列表,然后加载对应的材质即可
  4. 层级问题也是经常遇到的问题,以我的项目为例,项目中动效通常是调粒子的层级,但项目中UI主界面的层级会随着重复打开而升高,所以为了让动效方便调层级,都会加入项目前辈写好的层级脚本,原理就是以挂载脚本的节点作为Root,向上查找父节点层级,然后以这个层级作为标准来计算设置当前挂载脚本的节点层级;然后还有一个脚本也是类似的原理,只不过是拖动式的,是给我们客户端用的,同样是设置层级;这样基本就能解决层级问题

职场老前辈给的名言:有些时候不要给美术开那个便利的口子,否则这种效果会渗透到整个项目,对于项目后续的维护是毁灭性的

协作注意事项-服务端

  1. 与服务端的交流比较简单,可能的问题就是在自我测试的时候交流查代码看看是客户端的代码逻辑问题还是服务端的代码逻辑问题,以及服务端协议的定义交流
  2. 对于逻辑问题,一般都是客户端先查,查完发现数据不对,再让服务端看看是什么原因
  3. 对于协议的定义,有些服务端的资历比较浅,没有考虑到数据之间的一对一,一对多等关系就想当然设置了协议字段,遇到这种情况一定要当面交流,说清楚数据之间的要哪些字段会方便后续维护以及读取,同时也要考虑以最小消耗的字段来发送,比如能发int就不发string
  4. 有时候服务端也会误解策划的意图而错误地定义了数据,所以一定要和策划以及服务端沟通清楚,不然会导致自己的任务拖泥带水

协作注意事项-测试

  1. 我这家公司的测试是纯测试,有时候测试会测出bug,项目又分为两个版本包,所以需要分别判断处理
  2. 测试在测出bug时,会分为必现bug和偶现bug,对于偶现bug,一般是测试没有总计复现方式而出现的bug,不管是必现还是偶现bug,都应该先让测试总结复现方式再去处理,否则只会白白浪费时间,相当于测试的工作给你做了一部分
  3. 在对外发布的版本包,有时出现bug是需要在模拟器上测试才会出现,一般就是图集问题,逻辑问题

总结

这是我入职以来经历的各种问题总结,总之就是协作很重要,协作通气可以说是必要的,只有协作后才能把握方向,大方向对了,你才能正确实现效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/941643.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录一个SVR学习

1、为什么使用jupter来做数据预测?而不是传统pycharm编辑器 1、Jupyter Notebook 通过anaconda统一管理环境,可以运行python、R、Sql等数据分析常用语言。 2、做到交互式运行,可以逐步运行代码块,实时查看结果,便于调…

【WRF教程第3.2期】预处理系统 WPS详解:以4.5版本为例

预处理系统 WPS 详解:以4.5版本为例 WPS 嵌套域(WPS Nested Domains)USGS 和 MODIS 土地利用重力波拖拽方案静态数据(Gravity Wave Drag Scheme Static Data)1. 什么是重力波拖拽方案(GWDO)静态…

Stealthy Attack on Large Language Model based Recommendation

传统RS依赖id信息进行推荐,攻击:生成虚假用户,这些用户对特定目标物体给于高评价,从而影响模型的训练。 基于llm的RS:llm利用语义理解,将用户兴趣转化为语义向量,通过计算用户兴趣向量与物品向…

Pytorch | 从零构建EfficientNet对CIFAR10进行分类

Pytorch | 从零构建EfficientNet对CIFAR10进行分类 CIFAR10数据集EfficientNet设计理念网络结构性能特点应用领域发展和改进 EfficientNet结构代码详解结构代码代码详解MBConv 类初始化方法前向传播 forward 方法 EfficientNet 类初始化方法前向传播 forward 方法 训练过程和测…

【Linux 网络 (五)】Tcp/Udp协议

Linux 网络 一前言二、Udp协议1)、Udp协议特点2)、Udp协议格式3)、Udp报文封装和解包过程4)、UDP的缓冲区 三、TCP协议1)、TCP协议特点2)、TCP协议格式1、4位首部长度、源端口、目的端口2、16位窗口大小3、…

重温设计模式--命令模式

文章目录 命令模式的详细介绍C 代码示例C代码示例2 命令模式的详细介绍 定义与概念 命令模式属于行为型设计模式,它旨在将一个请求封装成一个对象,从而让你可以用不同的请求对客户端进行参数化,将请求的发送者和接收者解耦,并且能…

Python langchain ReAct 使用范例

0. 介绍 ReAct: Reasoning Acting ,ReAct Prompt 由 few-shot task-solving trajectories 组成,包括人工编写的文本推理过程和动作,以及对动作的环境观察。 1. 范例 langchain version 0.3.7 $ pip show langchain Name: langchain Ver…

Java设计模式 —— 【结构型模式】外观模式详解

文章目录 概述结构案例实现优缺点 概述 外观模式又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这…

【自用】通信内网部署rzgxxt项目_01,后端pipeDemo部署(使用nssm.exe仿照nohup)

做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521 做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521 做完这些工作之后,不要…

Apache RocketMQ 5.1.3安装部署文档

官方文档不好使,可以说是一坨… 关键词:Apache RocketMQ 5.0 JDK 17 废话少说,开整。 1.版本 官网地址,版本如下。 https://rocketmq.apache.org/download2.配置文件 2.1namesrv端口 在ROCKETMQ_HOME/conf下 新增namesrv.pro…

【网络安全】网站常见安全漏洞—服务端漏洞介绍

文章目录 网站常见安全漏洞—服务端漏洞介绍引言1. 第三方组件漏洞什么是第三方组件漏洞?如何防范? 2. SQL 注入什么是SQL注入?如何防范? 3. 命令执行漏洞什么是命令执行漏洞?如何防范? 4. 越权漏洞什么是越…

【计算机视觉基础CV-图像分类】01- 从历史源头到深度时代:一文读懂计算机视觉的进化脉络、核心任务与产业蓝图

1.计算机视觉定义 计算机视觉(Computer Vision)是一个多学科交叉的研究领域,它的核心目标是使计算机能够像人类一样“看”并“理解”视觉信息。换句话说,它希望赋予计算机从图像、视频中自动提取、有意义地分析、理解并解释视觉场…

JVM系列(十三) -常用调优工具介绍

最近对 JVM 技术知识进行了重新整理,再次献上 JVM系列文章合集索引,感兴趣的小伙伴可以直接点击如下地址快速阅读。 JVM系列(一) -什么是虚拟机JVM系列(二) -类的加载过程JVM系列(三) -内存布局详解JVM系列(四) -对象的创建过程JVM系列(五) -对象的内存分…

electron-vite【实战】登录/注册页

效果预览 项目搭建 https://blog.csdn.net/weixin_41192489/article/details/144611858 技术要点 路由默认跳转到登录页 src/renderer/src/router/index.ts routes: [// 默认跳转到登录页{path: /,redirect: /login},...routes]登录窗口的必要配置 src/main/index.ts 中 cons…

蓝桥杯嵌入式备赛教程(1、led,2、lcd,3、key)

一、工程模版创建流程 第一步 创建新项目 第二步 选择型号和管脚封装 第三步 RCC使能 外部时钟,高速外部时钟 第四步晶振时钟配置 由数据手册7.1可知外部晶振频率为24MHz 最后一项设置为80 按下回车他会自动配置时钟 第五步,如果不勾选可能程序只会…

C++----------函数的调用机制

栈帧的创建与销毁 栈帧创建过程 当一个函数被调用时,系统会在程序的栈空间中为该函数创建一个栈帧。首先,会将函数的返回地址(即调用该函数的下一条指令的地址)压入栈中,这确保函数执行完后能回到正确的位置继续执行后…

C语言初阶习题【9】数9的个数

1.编写程序数一下 1到 100 的所有整数中出现多少个数字9 2.思路 循环遍历1到100,需要判断每一位的个位数是否为9,十位数是否为9,每次符合条件就count进行计数,最后输出count,即可 3.code #define _CRT_SECURE_NO_W…

模型 课题分离

系列文章 分享 模型,了解更多👉 模型_思维模型目录。明确自我与他人责任。 1 课题分离的应用 1.1课题分离在心理治疗中的应用案例:李晓的故事 李晓,一位28岁的软件工程师,在北京打拼。他面临着工作、家庭和感情的多重…

Docker 入门:如何使用 Docker 容器化 AI 项目(一)

引言 在人工智能(AI)项目的开发和部署过程中,环境配置和依赖管理往往是开发者遇到的挑战之一。开发者通常需要在不同的机器上运行同样的代码,确保每个人使用的环境一致,才能避免 “在我的机器上可以运行”的尴尬问题。…

Android修行手册 - 移动端几种常用动画方案对比

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…