Skip to main content

moregeek program

unity3d+c#:dictionary多个key查找一个value,重载equals_四夕立羽的博客-多极客编程

Equals与GetHashCodeSystem.Object声明方法Equals和GetHashCode以及其他成员。 (注意:这个案例在C#中很重要)。您创建的类型会自动继承这些方法。Equals的任务是将一个对象与另一个对象进行比较。引用类型的默认实现是比较引用。如果你想改变这种行为,你将不得不重写这个方法。GetHashCode计算对象的哈希码并用于哈希表。例如,类型Dictionary&

Read More

unity3d 2021软件安装包下载及安装教程_乐乐软件管家的博客-多极客编程

Unity3D 2021软件简介:Unity3D 2021是一款专业优秀的跨平台游戏开发工具,现在很多商业游戏和虚拟现实产品都采用该引擎来开发。Unity3D可以运行在Windows和MacOS X下,发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows Phone 8和Android平台,是一个全面整合的专业游戏引擎。Unity3D 2021软件下

Read More

Unity3D打砖块游戏入门教程-多极客编程

今天来实现一个3D打砖块游戏,非常的简单,是正经的入门教程,但是学到的都是Unity游戏开发中重点的内容,下面一起来了解下吧。 新建3D游戏项目 打开Unity Hub软件,我们新建一个3D项目,新建好之后双击打开就好了。 初始化项目目录 在Assets目录下新建以下文件夹: Scenes:存放游戏场景,默认新建项目就有,没有则新建 Materals:存放材质,比如一辆车有不同的颜色和款式 P

Read More

PhotonServer(三)——实现客户端和服务器的通信(Unity实注册/登录)(上)-多极客编程

上一节完成了服务器连接MySQL数据,以及映射关系和部分框架实现,接下来我们实现客户端、服务器端信息通信,实现注册和登录功能。 (一)Unity客户端的实现 1.创建登录注册界面 2.UI搭建完成后,部署脚本 (1)导入Photon SDK,Common.dll(通信消息所需枚举类和服务器通用,由服务器编译而来) (2)PhotonEngine类:实现和服务器连接,Connect,接收服务

Read More

VisualEffectGraph基础操作 --创建VEG项目步骤讲解-多极客编程

一:建立VEG项目步骤    首先打开Unity Hub,  使用unity2020.1 新建项目(本技术博客,默认使用unity2020.1 版本演示),选择HDRP 高清渲染管线,确定项目目录与名称。 然后创建VEG资源。 项目窗口点击右键,依次选择Create > Visual Effects > Visual Effects Graph。这里说明一下,如果选择HDRP(模板项

Read More

Unity中的SetParent和.parent-多极客编程

一:前言两者都可以去设置一个对象为另一个对象的子物体SetParent方法中有两个参数,第二个参数表示是否使用世界坐标,默认为true例如下面这段代码,如果SetParent的第二个参数为true,child的位置将会是(-1,-1,-1)using UnityEngine;   public class Test : MonoBehaviour {     void Start()     {

Read More

U3D游戏开发框架(六)——对象池-多极客编程

一:目的内存管理是软件开发中重要的一项,在游戏中,有一些需要频繁创建和销毁的对象,例如射击游戏中的子弹,跑酷游戏中的障碍物等,通常的方法是使用Instantiate和Destroy,不断的开辟和释放内存,但是这样的操作是致命的,会产生内存碎片什么是内存碎片:内存碎片意味着在堆中的空余空间被打碎成了很多小的内存碎片,而不是大的连续内存块,总共可用内存也许很大,但是最长的连续空间可能很小很小例如下图所

Read More

U3D游戏开发框架(五)——计时器-多极客编程

一:目的游戏开发中,计时是一个常见的功能。比如技能的冷却时间,角色的生命回复等等一般的实现方法是通过协程或者Invoke,但是这样并没有统一管理所有的计时器,所以我们需要一个管理器统一管理计时器的相关操作二:解决的问题及优点——注册和注销计时器——得到某一个计时器的倒计时剩余时间——设置所有倒计时同步或异步三:使用方法——使用TimerMgr.Ins.XXXTimerMgr.Ins.Registe

Read More

U3D游戏开发框架(四)——音频管理器-多极客编程

一:目的游戏音频的播放在任何游戏中都占据非常重要的地位,音频的播放可以分为两种,一种为游戏音乐,另一种为游戏音效。前者适用于较长的音乐,如游戏背景音乐。第二种适用于比较短的游戏音乐,如开枪瞬间的音效在Unity中有两个关于音频的重要组件:AudioListener和AudioSource,通过AudioListener进行监听,AudioSource进行播放所以我们需要一个管理器统一管理音频的相关

Read More

U3D游戏开发框架(三)——UI管理器-多极客编程

一:目的在制作游戏过程中,UI界面都是必不可少的,多则上百个少则几个,如果这些UI界面都放在场景里(如下图所示),那么运行的时候会占用大量的内存一般都是将每一个UI界面制作成一个Prefab动态的进行显示隐藏,加载卸载所以我们需要一个管理器统一管理UI的相关操作二:解决的问题及优点——不需要创建UI画布和UI相机,动态创建并设置属性——管理每一个UI界面的层级——打开和关闭UI界面——查找某一个U

Read More

U3D游戏开发框架(二)——单例模版-多极客编程

一:目的当设计一个Manager时候,我们希望整个程序只有一个该Manager的对象实例,最先想到的实现方法是这样的public class XXXManager {     private static XXXManager _instance = null;     public static XXXManager Ins     {         get         {        

Read More

ProBuilder操作一览表-多极客编程

本篇是介绍ProBuilder的最后一部分内容,笔者不讲解任何功能,而是提供一份初步的ProBuilder 常见操作一览表翻译文档。 一: 对象操作(Object)1.1 New Shape 新的模型1.2 New Poly Shape 新的多边形模型1.3. Smoothing 平滑工具1.4 Material Editor “材质编辑器”面板1.5 U

Read More

SyntaxError-多极客编程

Can anyone please tell me, if there is any mistake with my xpath. I have made it dynamic, to accept values from the parameter passed.Xpath used in my code as :wait.until(ExpectedConditions.presenceOfA

Read More

U3D优化批处理-GPU Instancing了解一下-多极客编程

一、为什么要使用GPU Instancing?以往我们优化cpu的时候,为了降低Drawcall的消耗,我们通常采用静态批处理,动态批处理等技术,然而这也是有弊端的。通常一个大的场景中,存在大量相同的植被等物件,静态批处理后,对内存的增加是非常大的,动则就是几十兆的内存。而动态批处理,对于合批要求挺多的,同时可能存在,动态合批消耗过大,得不偿失。如果我们自己在逻辑代码里面进行动态合批,对于mesh

Read More

ProBuilder快速原型开发技术 ---进阶功能操作-多极客编程

本篇讲解PB的“碰撞体与触发器”、”模型的导出”、“第三方模型编辑”、“UnityManual API”四部分内容。一:碰撞体与触发器PB中对于碰撞检测与触发检测,有自己一套单独的组件,可以更好的配合使用。分别是Set Collider 与Set Trigger组件,下图的绿色部分为碰撞体,黄色为触发体。 二:模型的导出PB中有单独的模型导出方式,可以使用“Export”功能,导出各种文件格式,目

Read More

Unity3D直接从Zip中读取文本数据-多极客编程

一, 推荐使用CSharpZipLib库 , 因为DotNetZip没有测试出来 /// <summary> ///  /// </summary> /// <param name="zipPath">zip的路径</param> /// <param name="fileName">zip中文本的名称</para

Read More

ProBuilder快速原型开发技术 ---模型精细化操作-多极客编程

前面我们讲解了很多ProBuilder功能,但是对于制作一款复杂的模型来说,还远远不够。需要更多的对于模型细节的处理,这就是本篇文章要讲解的“模型精细化操作”技术。关于PB对于模型的精细化操作,笔者分四大方面进行讲解。 一: 模型的线面批量选择在对一个复杂模型进行操作时候,往往要面对很多个面进行批量操作。这时候PB的批量选择功能就可以派上用途。常用的有如下功能:1> Select Face

Read More

ProBuilder快速原型开发技术 ---不规则模型与材质-多极客编程

ProBuilder开发模型的强大之处,还在于可以按照要求精确定制不规则模型、克隆镜像模型、给模型着色以及添加材质等,下面笔者就这几方面进行讲解。 一:定制不规则模型PB有一个专门定制不规则模型的功能“New Poly Shape”,可以按照设计师的想法,定义任意图案的模型,或者更加确切的说是“画出”我们想要的模型,制作步骤如下:第1步:为了开发一个精确的模型,首先需要有一个参照网格图。笔者

Read More

ProBuilder快速原型开发技术 ---不规则模型与材质-多极客编程

ProBuilder开发模型的强大之处,还在于可以按照要求精确定制不规则模型、克隆镜像模型、给模型着色以及添加材质等,下面笔者就这几方面进行讲解。 一:定制不规则模型PB有一个专门定制不规则模型的功能“New Poly Shape”,可以按照设计师的想法,定义任意图案的模型,或者更加确切的说是“画出”我们想要的模型,制作步骤如下:第1步:为了开发一个精确的模型,首先需要有一个参照网格图。笔者

Read More

ProBuilder快速原型开发技术 ---不规则模型与材质-多极客编程

ProBuilder开发模型的强大之处,还在于可以按照要求精确定制不规则模型、克隆镜像模型、给模型着色以及添加材质等,下面笔者就这几方面进行讲解。 一:定制不规则模型PB有一个专门定制不规则模型的功能“New Poly Shape”,可以按照设计师的想法,定义任意图案的模型,或者更加确切的说是“画出”我们想要的模型,制作步骤如下:第1步:为了开发一个精确的模型,首先需要有一个参照网格图。笔者

Read More