热门 最新 精选 话题 上榜
今天实现的内容: 通过代码运用动画自带的Root Motion 在这篇博客之前,攻击时是不会出现位移的,因为我们没有运用动画自带的Root Motion。为了更好的动画效果,我们接下来将会运用到Root Motion。 上图中,红色的标识指示了动画的Root Motion量(具体我也不是太懂,反正就是个量),当我们运用Root Motion时,系统会将Root Motion量套用到游戏对象的tr
原创 2021-06-11 11:00:35
316阅读
技术背景 随着Unity3D的应用范围越来越广,越来越多的行业开始基于Unity3D开发产品,如传统行业中虚拟仿真教育、航空工业、室内设计、城市规划、工业仿真等领域。 基于此,好多开发者苦于在Unity环境下,没有低延迟的推拉流解决方案,前几年,我们在Unity环境下推出了跨平台低延迟的RTMP|RTSP直播播放器,很好的解决了好多对延迟要求苛刻的使用场景。 随着时间的推移,越来越多的开发者联系我
今天继续Java的课题,两天没有做任何事情,过了个自在的周末,但是不知道为什么总是有点淡淡的忧桑。 之前游戏服务器的数据源使用的是阿里巴巴的Druid,今天就大概说说数据源,给个实例。 1、什么是数据库连接池就是一个容器持有多个数据库连接,当程序需要操作数据库的时候直接从池中取出连接,使用完之后再还回去,和线程池一个道理。 2、为什么需要连接池,好处是什么?1、节省资源,如果每次访问数据库都创建新
转载 2021-06-10 16:29:47
137阅读
今天实现的内容: 新增攻击状态B 配置好我们的新动画,将其加入动画机。首先我们要将Rig中的如图所示的参数调整好了。 接下来,设置Animation页下的烘培,烘培旋转和Y轴,旋转根据Original,Y轴根据Feet。 要实现连续攻击,攻击B要连接到攻击A之后,在做攻击A动画时如果再次按下攻击键,就会从攻击A转换到攻击B,我们的转换条件是attack。 攻击A转换到攻击B要设置为优先转换。
原创 2021-06-10 16:05:36
179阅读
今天实现的内容: 攻击动画层 为了加入新的攻击动画,我们要设计一个攻击动画层。新的动画层一是为了使老动画层不至于臃肿,而是为了配置Avatar Mask。 配置Avatar Mask 新建一个Avatar Mask,我知道这里是多个Avatar Mask。我们需要的是一个全身都被选择的Mask。将Mask放到动画层设置里面。 接下来要做的就是,在攻击时调整动画层权重。这要在代码中做到。在进入
原创 2021-06-10 15:08:45
232阅读
前言 本篇博客旨在解决黑魂like游戏开发时遇到的一个问题,当我们的角色跳起来撞墙时,会卡在半空中。 而且由于在空中时我们是没用办法操作的,所以基本上就卡死了。 今天实现的内容:角色跳起来时的卡墙问题描述这个问题的描述如前言所述,问题产生的原因主要是因为在我们的角色控制器代码会在跳起来时锁死m_planarVec,而这时m_planarVec是有大小的,所以在FixedUpdate中会一直给刚体
原创 2021-06-10 12:07:12
468阅读
今天实现的内容: 鼠标输入 在没有引入手柄操作前,将由鼠标来控制摄像机旋转,首先我们要获取到鼠标输入。 public class PlayerInput : MonoBehaviour { // 摄像机控制轴 public string cameraAxisX; public string cameraAxisY; // 摄像机控制信号 public fl
原创 2021-06-10 11:25:26
169阅读
今天实现的内容:黑魂游戏中后跳、翻滚、跳跃的键位设计在黑魂游戏中,后跳和翻滚是由一个键实现的,在站立不动时,按下(哪怕你是按住)该键会后跳。移动时单击该键会翻滚,按住该键时移动会奔跑。奔跑时按下跳跃键才能跳跃。最大的问题就是要区分同一个按键的单击和按住,我们将采用的方案为通过计算按下按键的时间来判断到底是按住了还是单击。而在键盘上,跳跃和后跳翻滚奔跑居然都是一个键(默认space),通过奔跑时快速
原创 2021-06-09 16:22:50
345阅读
今天实现的内容: 动画控制的重新设计 我们将彻底取消跳跃信号,改为使用与速度相关的forward参数来判断当前应该转换到哪个动画。 现在jump已经不再需要,可以删除了,也就不需要在代码中触发了,同时也就不用Clear Signal了。 后跳动画的加入 在黑魂游戏中,在原地站住不动时按下翻滚键,玩家会做出后跳的动作。我们加入这个新的动作。当forward小于0.1时,按下roll键会进行后跳
原创 2021-06-09 15:03:02
219阅读
今天实现的内容:翻滚和跳跃的重新设计按照黑魂游戏的设计,跳跃其实只有在跑起来时才能起跳,并且伴随翻滚动作,也就是说我们之前设计的主动向前跳跃的功能在黑魂游戏里是没有的,我们的设计要改。现在的设计是将跳跃键替换为翻滚键,让翻滚取代跳跃,并且只有跑起来时按下翻滚键才能跳起来,并且在落地时会进行翻滚。翻滚动画及触发逻辑这是一个前滚翻的动画,需要将动画的Y轴位移也bake into pose。将动画直接加
转载 2021-06-09 11:45:12
262阅读
今天实现的内容:加入降落动画降落发生在跳跃之后,所以降落动画要紧接着跳跃动画播放,动画机如下。这两条Transition都has exit time,并且jump到fall的优先级高于jump到ground,因为目前为止这两个转换都没有条件。在图示位置调整优先级。落地检测的实现及相关动画运用要实现落地检测,需要使用Physics.Overlap里的东西,使用Physics.Overlap可以找到某
转载 2021-06-09 10:46:05
172阅读
(1)什么是深度? 深度其实就是该像素点在3d世界中距离摄像机的距离。离摄像机越远,则深度值(Z值)越大。(2)什么是深度缓存?深度缓存中存储着准备要绘制在屏幕上的像素点的深度值。如果启用了深度缓冲区,在绘制每个像素之前,OpenGL会把该像素的深度值和深度缓存的深度值进行比较。如果新像素深度值<深度缓存深度值,则新像素值会取代原先的;反之,新像素值被遮挡,其颜色值和深度将被丢弃。(深度主要
转载 2021-06-08 21:21:36
553阅读
今天实现的内容:跳跃信号要实现跳跃,首先要实现跳跃的输入。跳跃信号是按下的当场触发的一次性触发控制(Trigger Once Signal)。public class PlayerInput : MonoBehaviour { ... // 一次性信号     public bool jump; //跳跃信号     public bool lastJump; //记录上一次的jump信号 
转载 2021-06-08 16:27:24
104阅读
今天实现的内容:动画机设计理念要我说,动画机真的是老生常谈的东西了。做了好几次了,目前也就是将角色的地面动画做进去。设计理念就是使用混合树ground将地面移动动画统一管理起来。动画机的运用及模型旋转要运用动画机,需要将动画机和输入模块串接起来。所以我们需要新的脚本,没错,PlayerController。同样的,顺手解决角色的旋转功能,旋转的思路为直接修改模型的forward。using Sys
转载 2021-06-08 15:29:46
169阅读
今天实现的内容:新增锁定输入为输入模块添加锁定键和锁定信号,更新信号。 --- IPlayerInput     public bool lockOn; //锁定信号 --- JoystickInput     public MyButton buttonLockOn = new MyButton(); //锁定键      // Update is called once per frame
转载 2021-06-08 12:17:58
197阅读
现在市面上很多app上都有小游戏(或叫h5游戏),它们借助小游戏来提高整个app的粘性。像微信app、趣头条app、哈啰app上已经出现了小游戏模块。用户聊天、刷资讯、骑车之余可以打开网络游戏休息放松,如果突然间来消息了或者玩游戏累了想看资讯,关闭游戏页面后,再次打开游戏是接着玩,不需要重新加载游戏。如何实现这种效果呢?我们知道activity关闭后,再次打开肯定要走onCreate生命周期,那么
转载 2021-06-08 10:35:47
219阅读
现在市面上很多app上都有小游戏(或叫h5游戏),它们借助小游戏来提高整个app的粘性。像微信app、趣头条app、哈啰app上已经出现了小游戏模块。用户聊天、刷资讯、骑车之余可以打开网络游戏休息放松,如果突然间来消息了或者玩游戏累了想看资讯,关闭游戏页面后,再次打开游戏是接着玩,不需要重新加载游戏。如何实现这种效果呢?我们知道activity关闭后,再次打开肯定要走onCreate生命周期,那么
转载 2021-06-08 10:35:43
570阅读
此次开发小游戏一共有18个经典小游戏,每天更新一个。跟大家一起学习一些经典小游戏的开发思路和算法,如果想直接看完整游戏效果的,相关的完整工程可以直接去我的资源里面下载。与大家一起学习One day.今天这个是拼图小游戏简单说一下拼图游戏:拼图游戏是一款经典的益智类游戏,它的历史可以追溯到1760年左右,是英国的雕刻师和制图师把地图贴在硬纸板上,然后沿着国界线分割,制作成了最原始的拼图。最初的拼图游
转载 2021-06-07 17:20:53
591阅读
为了深入学习Java中GUI与事件处理机制,利用java中的GUI与事件处理机制等功能实现围棋小游戏。效果图一、概述1、GUI是指图形用户界面也称图形用户接口,在Java中是进行人机交互的窗口,在这个窗口中用户可以实现应用程序提供的所有功能。事件处理机制在上一篇文章中有详细介绍,这里不多说明。二、设计(本人的设计思想是:先设计一个整体的框架,再往设计好的框架中加入组件,并一步步的进行调试,争取每步
转载 2021-06-07 11:01:00
202阅读
程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 4.5分钟。
转载 2021-06-05 00:00:00
76阅读
原理介绍游戏规则:玩家通过↑↓←→键控制主角行动,使主角从出发点(左上角)绕出迷宫,到达终点(右下角)即为游戏胜利。逐步实现:首先,当然是创建迷宫啦,为了方便,这里采用随机生成迷宫的方式(人工设计真的费眼睛,弄到一半不想弄了,有兴趣的可以自行尝试。)。思路其实很简单,就是把网络游戏界面划分成多个cell,类似这样子:然后设计算法遍历所有的cell,每个被遍历到的cell在某几个随机的方向上打开一堵
转载 2021-06-04 15:00:01
388阅读
前言忘记是从何处看到过关于扫雷小程序的文章,所以这次也就跟着做一下。其实很简单的,如果有java入门的同学也可以尝试一下自己做这种java小程序。几行代码做几遍基本上能摸清楚这些基础了,对于编程能力也能提高一些。(虽然小编玩了半天也才仅仅赢了一把)具体代码如下:package saolei; import java.awt.Color; import java.awt.Container; im
转载 2021-06-04 10:32:47
514阅读
本文作者:HelloGitHub-AnthonyHelloGitHub 推出的《讲解开源项目》系列,本期介绍 Python 练手级项目——贪吃蛇!原本想推荐一个贪吃蛇的开源项目:python-console-snake,但由于该项目最近一次更新是 8 年前,而且在运行的时候出现了诸多问题。索性我就动手用 Python 重新写了一个贪吃蛇游戏。> 项目地址:https://github.com
转载 2021-06-04 09:34:28
216阅读
前言很多网络游戏中的数据涉及到很大的数字,比如当前升级需要660000000000经验。作为玩家我们不希望有这么长。。。的数字出现在界面上。作为游戏设计者,我们更不希望展示这么长的串给玩家看。那么,你是否也在为数值太大,显示不完整而烦恼,亦或者面对如此庞大的数值感到头昏脑涨。不用担心,不用着急,下面给大家介绍游戏中常用的展示方法实现原理在游戏中,我们通常会使用如下的符号来代替指定的单位:K是10的
转载 2021-06-03 14:53:47
1355阅读
一, 前景     我所说的脚本是 runtime , 扩展脚本, 附加脚本    其中, runtime和扩展脚本需要使用继承方案,而附加脚本使用的是组合的方案二, 美术的操作    Ⅰ,runtime            Ⅱ,扩展脚本            类似于Unity / Cocos Creator中组件的感觉, 会在UI编辑器中显示相关属性, 具体操作如下            1,
推荐 原创 2021-06-03 14:36:17
3300阅读
原理介绍“使用方向键移动方块,两个数字相同的方块撞在一起后,将会合并为一个数字是原来两倍的新方块。游戏的时候尽可能多地合并这些数字方块就行了。”大概了解了游戏规则之后,我们就可以开始写这个游戏啦~首先,进行一下游戏初始化操作并播放一首自己喜欢的游戏背景音乐:# 游戏初始化 pygame.init() screen = pygame.display.set_mode(cfg.SCREENSIZE)
转载 2021-06-03 11:01:27
208阅读
很多想先试试水的企业都会选择价格不是很高的,价格低反而无法保证质量,开发商的产出性价比也尤为重要,比如TOM游戏、金豆游戏等定制平台都是不错的选择!
原创 2021-06-02 15:21:36
643阅读
我一直相信,使生活如此美丽的,是我们藏起来的真诚和童心。六一节快到了,520可以不过,但是儿童节绝对不能错过,毕竟谁还不是个几百个月的宝宝了,而且凭借自身智商,过这个节完全不成问题,哈哈哈哈哈。作为程序媛,当然要用代码来过节啦,那就一起用 Python 开发个连连看小游戏来欢度六一吧!从零造轮子那是不可能的,毕竟 Python 完全零基础,所以还是采取参考别人的例子的方式,从理解分析外加改造的过程
转载 2021-06-02 14:40:21
125阅读
效果演示实现功能如上图所示。按键控制小猪的运动,推箱子到达目的地。如何实现1.首先思考要保存箱子,小猪等信息,添加多个map可以用到三维数组。2.定义小猪,箱子,墙,空地等信息在三维数组里的数值。 空地             0        墙               1  目的地           2      箱子             3  猪               4  
转载 2021-06-02 12:12:38
605阅读
1、前言:  简单的Unity小游戏,切割图片,生成随机区块,拖拽交换位置。  此游戏代码只贴了一小部分。2、素材准备  简单做了下,所以没有用太多素材,只准备了两种字体(毛笔、楷书),准备了两张按钮图片,一张拼图素材图(数码宝贝)。3、导入素材开始行动4、简易UI框架  写了一个极简的UI框架:(1)基类  只做了显示隐藏方法:public class BasePanel : MonoBehav
转载 2021-06-02 10:39:05
1415阅读