自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 项目实训(总结)

森林游戏的场景以及FPS游戏的场景主要实现对人物的角色控制,移动下蹲跑动等以及同步,脚步声通过各种方法实现鼠标以及键盘对人物的控制,人物动画以及同步,分数,生命数问题pun异端控制及同步,对游戏管理1.CameraSpringUtility4 CameraRecoil4 CameraSpring4:实现对人物的视角的跟踪以及控制,在游戏中呈现第一人称视角。FPMouseLook 根据鼠标的位置获取相应的坐标,从而实现视角跟随鼠标位置进行变化,同时使得角色根据相应的鼠标位置完成方向的转动。2.Sim

2022-06-11 21:35:27 757

原创 项目实训(二十二)GUI后期美化之如何美化背景

GUI后期美化(下)1.首先选择已经导入的图片:例如:2.然后打开要美化的界面。修改image属性将此图片从上述文件夹中拖到image属性的source image的位置上然后调整色度得到最终效果:所有界面完成效果如下:开始界面:游戏大厅界面:创建房间界面:本地游戏界面:加入房间后的界面:加载游戏界面:...

2022-06-11 20:55:42 495

原创 项目实训(二十一)GUI后期美化之如何将图片导入unity

GUI后期美化(上)1.复制图片文件到Untiy工程将图片拖入Unity Project页面中的具体文件夹中2.修改图片文件属性在Unity的Project页面中选中要添加的图片文件,在Inspector页面中,修改“Texture Type”属性为“Sprite (2D and UI)”,如果需要,同时可以设置“Packing Tag”的值。如下图所示:然后,随意点击鼠标,会出现如下提示是否应用导入内容的提示框“Unapplied import settings”,点击“Apply”。至此图片资源导入结

2022-06-11 20:55:19 2901

原创 项目实训(二十)太空陨石游戏的游戏管理

AsteroidsGameManager: 管理游戏的脚本,添加计时器,计时结束后,委托事件触发,实例化自己的角色,主机生成游戏内容,生成行星。判断游戏结束(通过生命数)||全员加载进来(然后开始倒计时),游戏结束后通过判断分数计算冠军,并通过在线socket记录信息。`检查是否都加载了场景二、生成行星游戏开始后,全部加载好后,计时结束后,委托事件触发这里,实例化自己的角色,主机生成游戏内容三、游戏结束并计算分数,并得出排名用此方法可以得到下一关的生命数...

2022-06-11 20:55:08 236

原创 项目实训(十九)FPS游戏之分数,生命数

FPS游戏之分数,生命数PlayerOverviewPanel:通过颜色区分人物,在unity场景中显示多个玩家的分数以及生命数1.在unity中建立一个UI界面2.代码控制二、人物分数问题当子弹打中人,然后从子弹身上获得存子弹的owner,从而给子弹的拥有者加分首先在创建子弹时存入设计他的那个owner三、人物生命数问题人物如果被判断死亡,生命数会减一,若大于0,则会执行复活代码,最后死亡四、最终效果最终成果如下:......

2022-06-09 19:15:11 318

原创 项目实训(十八)FPS游戏之全身异端移动动画同步

实现角色的全身异端移动动画同步,即在别人的视角下看到自己的角色是全身的,并且我们奔跑,移动位移都是可以被别人实时同步看到的根据待机,行走,奔跑不同的状态设置首先这个blendtree 上面有一个idle tree是待机状态的;然后有一个walktree 是行走状态的,runtree为奔跑状态然后开始设置runtree,在此处添加新的blendtree并命名为runtree然后改下类型添加motion,把不同的动作状态加入,并修改位置代码控制如下:判断是行走还是奔跑的状态二、动画同步关键

2022-06-09 18:33:46 788

原创 项目实训(十七)FPS游戏之联网显示全身

FPS游戏之联网显示全身将player variant放入场景中,并打开player variant身上的local manager脚本在脚本中定义一个变量在start方法中进行判断本地与异端如果是本地段:若为异端:然后回到场景中,继续设置,把其他地方的renderor 拖拽到TPrenderors底下此时,如果不是“我”的话,就把其他的隐藏...

2022-06-09 17:24:40 163

原创 项目实训(十六)FPS游戏之PUN角色位移同步,动画状态同步

FPS游戏之PUN角色位移同步,动画状态同步首先添加一个photon transform view的组件使用PhotonTransformView实现玩家位置与朝向的同步。PhotonTransformView组件内置几种插值算法,可以使用内置插值方法实现玩家的平滑“移动。下图为同步位置的过程:最终效果如下图:1.设置一下动画状态2.做同步动画针对使用Animator组件的动画,使用PhotonAnimatorView快速开发。添加一个photonanimator view组件用于进行动

2022-06-09 11:20:53 1068 1

原创 项目实训(十五)FPS游戏之PUN角色配置和异端实例化

FPS游戏之PUN角色配置和异端实例化,实现在不同客户端实例化角色首先在文件中找到角色,并拖拽出来调一下材质球,在unity的Edit中找到Render Pipeline点击加载后,材质变为:同理,把人物也拖拽进来,然后对人物的各个部分做材质球处理,把贴图贴上把人物以及枪械挂在player上成为一个整体,通过挪动枪的位置来实现人与枪的相对位置然后对player进行设置,加上CharacterController 组件进行控制并且将人物的部分设为shadows only ,就可以看到角色的阴影,

2022-06-09 11:20:38 359

原创 项目实训(十四)pun的建立,使用以及注意方法

PUN基础教程,pun的使用以及注意方法首先在商店页面找到该 Photon Unity Networking Free 插件。导入,由于 已经 注册 了 Photon 的账号。这里要填写 AppId 来建立工程。先进行下一步 ,登录 Photon 官网 地址:https://www.photonengine.com/en/PUN获得 AppId 再 填写这一栏。Photon 官网 地址:https://www.photonengine.com/en/PUN没有账号的注册一个 Photon 账号。输入 邮箱

2022-06-09 11:20:07 500

原创 项目实训(十三)安装pun,pun的基础使用和概念

安装pun,pun的基础使用和概念`1.Photon Unity Networking (PUN)非常容易建立。将PUN导入到一个新项目中,PUN向就会弹出。或者它在菜单中: “Window”, “Photon Unity Networking”。ContentsPhotonServerSettingsConfiguration ValuesConfiguration For Self Hosted PhotonConnect Manually向导将一个 photonservertings

2022-06-09 00:35:26 644

原创 项目实训(十二)FPS游戏之角色移动的脚步声

FPS游戏之角色移动的脚步声FootstepAudioData 脚本起到了保存人物的脚步声的作用,使得人物在行进过程中伴随着产生已保存的能够增强体验感的脚步声。PlayerFootstepListener 在脚本中会判断角色发出声音的必备条件,当角色移动或者发生较大幅度动作的时候发出脚步的声音,使用Physic API检测角色是否有移动,同时用Physic API来实现角色踩踏位置的对应材质的声音。创建一个FootstepAudioData脚本存放,并用一个列表存放声音并在物体上设置好对应的组件角

2022-06-09 00:35:01 1626

原创 项目实训(十一)FPS游戏之手臂资源的导入,实现行走奔跑

FPS游戏之手臂资源的导入,实现行走奔跑在unity 自带的官方商店中搜取该资源找到后下载拖入unity的文件夹后,取消他的预制体然后再里面挂上已经做好的FP Mouselook FPCharacterControllerMovement 脚本实现角色移动等制作动画在FPCharacterControllerMovement 设置动画的移动,实现行走奔跑......

2022-06-09 00:34:41 254 1

原创 项目实训(十)FPS游戏之移动,跑步,跳跃,下蹲等

FPS游戏之移动,跑步,跳跃,下蹲等FPCharacterControllerMovement 该脚本用于获取玩家的输入行为,根据相应的按键输入等对角色的移动进行控制。首先判断是否在地面用move函数设置物体的重力二、如何让角色按 shift 键奔跑在unity中修改速度,判断是否按左边的shift键,如果按了则执行经改造后的增快的速度三、如何让角色按“C”键下蹲1.需要使用携程函数协程:协程是一个分部执行,遇到条件(yield return 语句)时才会挂起,直到条件满足才会被唤醒继续执行

2022-06-09 00:33:51 715

原创 项目实训(九)FPS游戏之使用Rigidbody&Capsule Collider制作FPS角色控制器

FPS游戏之使用Rigidbody&Capsule Collider制作FPS角色控制器,即角色视角和位置移动控制器,将相关的脚本添加到控制器上实现对角色的控制。允许物体移动,但无物理碰撞,会穿透墙壁以及其他的障碍物。符合物理学运动,不会鬼穿墙,无法滞空运动,可与Physics Object交互不会鬼穿墙,可实现滞空运动(太空人),提供的API相对多,无法与Physics Object交互,提供多种运动效果例如:slopes steps等1.创建一个新物体,建立一个新的脚本FPMouseLook 用来根据鼠

2022-06-07 23:53:19 520

原创 项目实训(八)使用Audio Mixer控制音量问题

使用Audio Mixer分别控制主音量、背景音乐和其他音效。在游戏中,通常我们需要控制整个游戏的主音量(全局音量),并且单独控制背景音乐和其他音效(攻击、爆炸之类)的音量,这时我们可以用Audio Mixer来解决。将外部资源导入在audio文件夹下创建了2个滑动条分别控制音乐和音效,并且将滑动条的默认值设为1:背景音乐创建一个空物体(GameObject)来作为背景音乐的载体,改名为Background Music,添加一个Audio Source组件(要使用Audio Mixer控制音量必须要用Au

2022-06-07 23:52:55 921

原创 项目实训(七)休闲酷跑游戏之界面显示

`1、将金币图片导入到工程中,并设置好精灵图2、制作金币预设使用spriteRender来显示金币给金币添加碰撞体,勾选Is Trigger,因为金币与角色不需要发生真实的物理碰撞金币阵列逻辑与UI之间的控制,需要制作一个事件管理器,通过事件来降低逻辑与UI之间的耦合度包括订阅事件与时间的触发,在该游戏中,订阅和触发玩家的跳跃事件以及吃金币事件,并进行注销主界面预设订阅事件(注册事件):注销事件:和订阅事件一样,仍需要考虑反注册的问题触发事件:主界面函数,需要点击跳跃事件,触发

2022-06-07 23:52:20 99

原创 项目实训(六)休闲跑酷游戏之人物与金币问题

休闲跑酷的人物与金币问题通过随机生成金币阵列随机生成金币

2022-06-07 23:45:45 387

原创 项目实训(五)unity的动画制作

unity的动画问题(下)

2022-06-07 10:20:08 1172

原创 项目实训(四)unity的动画系统

unity的动画问题(上)

2022-06-07 10:19:36 456

原创 项目实训(三)unity游戏场景的搭建

文章目录前言一、组件的介绍二.场景搭建总结前言`unity场景的搭建一、组件的介绍首先对scene场景中的一些组件介绍:常用快捷键1.按下鼠标滚轮拖动场景(或者拖动小手),滑动滚轮缩放场景2.选择十字标,选定物体,按下F:居中,ALT+鼠标左键:围绕旋转 ALT+鼠标右键:缩放=滑动滚轮3.右键加ASDWQE场景漫游4.按下十字标,选定物体,拖动轴:往前走=向着Z轴正方向,向右走=X轴正方向,向上走=Y轴正方向:反之负方向。拖动面:沿面移动。5.按下双曲箭头标,是按轴旋转。6.按

2022-04-17 22:28:06 6130

原创 项目实训(二)PlasticSCM的使用

文章目录前言一、概述二、创建PlasticSCM项目1.新建PlasticSCM项目2.托管现有项目到PlasticSCM总结前言PlasticSCM搭建一、概述PlasticSCM是一款性能卓越的版本控制工具,在业界和Unity生态中也一直深得项目管理者与开发者们的信赖,原因主要有以下两点:一.其对巨大项目存储(高达4TB级)以及成千上万个分支频繁创建与合并处理能力,给业界采用其他形式者(Git/SVN/P4等)以强烈的效果震撼。二.其注重可视化与易用性的任务型分支,差异查询,分支拆分与合并

2022-04-17 21:41:59 8719 1

原创 项目实训(一)基于unity的2D多人乱斗闯关游戏设计与开发 unity的下载及了解

基于unity的2D多人乱斗闯关游戏设计与开发前言学习内容前言`这次与其他两名同学主要负责前段的设计,前几周学主要学习unity的各方面基础知识。学习内容主要学习了unity的界面布局,以及使用方法一、介绍二、创建新项目三、创建地面(创建游戏对象)四、创建场景,保存项目五、调整场景视图的摄像机六、创建方块和小球七、运行游戏八、摄像机的便捷功能九、修改游戏对象的名字十、模拟物理运动(添加Rigidbody组件)十一、让玩家角色跳起来(添加游戏脚本)十二、修改游戏对象的颜色

2022-03-13 23:12:52 1949

原创 Hbase源码分析(十三)MovedRegionsCleaner工作线程 2021SC@SDUSC

文章目录前言MovedRegionsCleaner总结前言本文主要分析一下HRegionServer上的MovedRegionsCleaner工作线程MovedRegionsCleanerMovedRegionsCleaner是什么呢?看下它在HRegionServer上的定义:是HRegionServer上一个被移动Region列表的定期清理工作线程。 /** * Chore to clean periodically the moved region list * 被移动Reg

2021-12-09 15:00:00 94

原创 Hbase源码分析(十二)MemStore的flush处理(下)2021SC@SDUSC

文章目录前言一.如何选择一个HRegion进行flush以缓解MemStore压力flushOneForGlobalPressure()二.HRegion的flush是如何发起的flushRegion()总结前言接着上文中提到的问题,本文我们研究HRegionServer上MemStore的flush处理流程,重点讲述下如何选择一个HRegion进行flush以缓解MemStore压力,还有HRegion的flush是怎样发起的。一.如何选择一个HRegion进行flush以缓解MemStore.

2021-12-06 11:30:00 214

原创 Hbase源码分析(十一)MemStore的flush处理(中)2021SC@SDUSC

文章目录前言cacheFlusher如何处理flush请求requestFlush()WakeupFlushThreadFlushRegionEntry总结前言本文继续介绍了HRegion上Memstore flush的主体流程和主要细节,cacheFlusher如何处理flush请求。cacheFlusher如何处理flush请求通过如何初始化cacheFlusher部分的介绍,我们已经知道,在MemStoreFlusher内部,存在两个存储flush请求及其HRegion封装类的队列和集合,

2021-12-03 10:00:00 265

原创 Hbase源码分析(十)MemStore的flush处理(上)2021SC@SDUSC

文章目录前言正文总结前言本文介绍了HRegion上Memstore flush的主体流程和主要细节。但是,HRegion只是HBase表中按照行的方向对一片连续的数据区域的抽象,它并不能对外提供单独的服务,供客户端或者HBase其它实体调用。而HRegion上MemStore的flush还是要通过HRegionServer来对外提供服务的。正文在HRegionServer中,有一个叫做cacheFlusher的东东,它是什么呢?我们先看一下它是如何被定义的:// Cache flushin..

2021-11-29 20:27:49 301

原创 Hbase源码分析(九)Region 合并分析2021SC@SDUSC

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、概述二、内容2.1 为什么需要合并Region2.2 如何进行Region合并2.2.1 批量合并2.3 如果在合并Region的过程中出现永久RIT怎么办总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、概述HBase中表的基本单位是Regi

2021-11-22 21:52:39 270

原创 HBase源码分析(八) Region 拆分(split)2021SC@SDUSC

文章目录前言一、RegionSplitPolicy二.IncreasingToUpperBoundRegionSplitPolicy策略:三.SteppingSplitPolicy策略:四.ConstantSizeRegionSplitPolicy策略:五.KeyPrefixRegionSplitPolicy策略:六.DelimitedKeyPrefixRegionSplitPolicy策略:八.BusyRegionSplitPolicy策略总结前言HBase Split是hbase根据一定的触发条.

2021-11-17 23:59:48 650

原创 Hbase源码分析(七)Region定位(下)2021SC@SDUSC

文章目录前言介绍总结前言上篇文章讲述了 Region定位的过程,本篇继续,针对其中的几点,做一些细节方面的介绍。介绍一.从缓存中看看是否我们已经有该Region的getCachedLocation()方法首先我们看下从缓存中看看是否我们已经有该Region的getCachedLocation()方法,代码如下:/** * Search the cache for a location that fits our table and row key. * Return nul..

2021-11-08 21:16:57 1706

原创 Hbase源码分析(六)Region定位(中)2021SC@SDUSC

文章目录前言介绍总结前言此篇文章将继续叙述Region的定位过程介绍在分析locateRegion()方法前,我们先折回去看看使用缓存情况的处理,它也是调用的locateRegion()方法,只不过传入的使用缓存标志位useCache为true这一个区别而已,好了,殊途同归,这里我们就只研究locateRegion()方法就行了,代码如下:@Override public RegionLocations locateRegion(final TableName tableName, fin

2021-11-08 21:16:20 1871

原创 Hbase源码分析(五)Region定位(上)2021SC@SDUSC

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言2.读入数据总结前言HBase是一个基于RowKey进行检索的分布式数据库。它按照行的方向将表中的数据切分成一个个Region,而每个Region都会存在一个起始行StartKey和一个终止行EndKey。Region会最终选择一个RegionSever上线,并依靠RegionSever对外提供数据存取服务。那么,HBase是如何实现数据的检索,也就是它如何将需要读写的行Row准确的定位到其所在Region和RegionS

2021-10-29 23:24:39 1079

原创 HBase源码分析(四) 2021SC@SDUSC

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、处理Scan的过程1.获得scanner id,签订租约Leases2. 扫描获取数据,签订租约Leases3. 再次请求,确认数据扫描已经完成二、使用步骤1.引入库2.读入数据总结前言一、处理Scan的过程1.获得scanner id,签订租约Leases代码中依靠scanner id来判断是否已经完成了第一阶段,如果没有完成,就查找到数据所在的Region,创建一个scanner,并把这个scanner

2021-10-21 21:33:17 248

原创 HBase源码分析(三) 2021SC@SDUSC

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、RPC概况1. RPC是什么2. RPC的原理和框架二、Hbase中RPC概况1.RegionServer提供的服务2.Master提供的服务3.HBase中RPC的总体框架三.总结前言了解hbase的rpc机制能够为通过源码学习hbase奠定良好的基础。RPC是hbase中Master,RegionServer和Client三者之间通信交流的纽带。因为了解了hbase的rpc机制能够很快通过debug深入理解hbas

2021-10-17 13:20:18 572

原创 HBase源码分析(二) 2021SC@SDUSC

HBase源码分析(二) 2021SC@SDUSC文章目录前言一、HRegionServer作用HRegionServer作用如下:二、对Client端代码分析1.put方法:2.用doput代码判断3.flushCommits方法如下:4.ConnectionImplementation的processBatch方法:过程如下:三.对Server端代码分析1.multi方法:2.batchMutate:四.总结前言在 HBase中,大部分的操作都是在RegionServer完成的,Client端

2021-10-10 22:42:42 505

原创 HBase(一) 2021SC@SDUSC

HBase(一) 2021SC@SDUSC提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录HBase(一) 2021SC@SDUSC前言一、项目分工二、HBase是什么?1.HBase简介2.HBase架构3.HBase处理数据4.HBase数据模型5.HBase应用三、Ubuntu下HBase的安装与使用安装并配置HBase1.HBase安装2.伪分布式模式配置四.项目源码下载前言2021SC@SDUSC综述:本文对分工做了简单的描述,对项目做了介绍,以及对项目的安

2021-09-29 13:19:36 480

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除