![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏
文章平均质量分 75
爱编程的鱼
去看看我的另一个账户,谢谢!https://www.zhihu.com/people/mi-qi-lin-17-73/posts
展开
-
自走棋制作(二)-UI制作
很明显,每次刷新都是刷新四个,然后刷新出来以后,这些都会有英雄的信息。我们每次都会随机四个。这里的预制体就是整个的一个空物体,然后给它添加一个空物体专门来显示image,然后添加一个text显示名字,一个text显示价格。至于刷新和加经验都是按钮,然后所有的UI都已经搞定了,没什么太多的问题。比如这里生成四个新的英雄,我是直接赋值的,后期的话,肯定是需要随机的,然后那些随机的英雄都是需要用Excel做成表格,或者用TXT来保存,也是可以的。UI的话呢,注要是做和游戏关联性大的,比如刷新,升级,英雄信息等。原创 2024-07-13 20:48:18 · 425 阅读 · 1 评论 -
基于高度的纹理混合shader
这端代码很好理解,通过splat_control这张贴图的四个通道控制_Splat0~_Splat3这四张贴图的混合,如果splat_control对应通道的值为1,那么这个通道对应的贴图就完全显示,为0则完全不显示,通过修改splat_control贴图就可以实现想要的混合效果了;解释一下这段代码,先对比两张贴图的高度,高度差超过0.3的会被舍弃掉,为了防止在边缘以外的地方也被保留下来了,所以后面再乘一次splat_control,最后做一个标准化处理,把他们按比例缩放到0-1这个区间。原创 2024-06-26 11:23:07 · 646 阅读 · 1 评论 -
unity在模型上绘画
在我的上一篇文章【基于高度进行混合的shader】里面分享了如何利用高度图进行贴图的混合,里面使用了T4M插件来绘制控制混合的control贴图。像T4M这样直接在mesh上对贴图进行绘制的功能对于美术的同学肯定不陌生,很多建模工具都支持直接在模型上对贴图进行绘制,如C4D的bodypaint工具、allegorithmic公司推出的Substance Painter都支持直接在模型上进行绘制。这里简单说一下如何在UNITY里实现这个在模型上绘画的功能。原创 2024-06-24 11:57:58 · 559 阅读 · 1 评论 -
如何实现Moba游戏野怪的AI系统
OK,那么这个野怪的AI到底怎么做的?首先我们需要闭着眼睛想想我们玩游戏的时候,别人的AI咋做的,然后我们就模仿别人的做出来。那么我们都玩过,也知道野怪的”脾气”,你不打它,它就会在自己的一亩三分地里面,不会乱跑。如果你过去打它,那么它也会反击你,直到它丢失视野或者超过了它可移动的最大范围,它就会回去原来的地方待着。既然是中立的野怪,那么它是不属于任何一方的资源,大家是靠本事获取的。那么今天我们就做一个野怪的AI系统,这个系统不是非常的完整的一个野怪系统,因为是抽时间随便做的,但是基本的功能都是有的。原创 2024-06-10 18:49:01 · 342 阅读 · 1 评论 -
Unity3D插件开发教程(三):制作拾色器ColorPicker
这里分别对四个属性进行判断,然后分别调用相应的转换函数,把数值转换成Color类,然后再分别格式化显示各种数值,最后调用。,因为它是比较常用的输入框组件,它显示的是字符串,返回的是用户输入的字符串结果。如果大家有什么意见和建议,或者是有什么疑问,或者是有想看的知识点内容,都欢迎到评论区发上你们的评论。方法要使用“#FFFFFFFF”样式,所以,先要把“0x”替换掉,然后加上“#”。)的颜色值是分开四个输入框的,复制起来很不方便。当然,转换的时候要把空格和“f”替换掉,然后进行分割字符,再使用。原创 2024-05-23 06:43:53 · 727 阅读 · 1 评论 -
Unity3D插件开发教程(二):制作批处理工具
在制作关卡时,很多时候会遇到同一个物体可能需要复制多份,然后分布在不同地方。这时候,就需要做一个批量工具来加快制作的效率了。如果大家有什么意见和建议,或者是有什么疑问,或者是有想看的知识点内容,都欢迎到评论区发上你们的评论。增加一个彩蛋,做了一个100*100*100的正方体矩阵然后直接占满8g内存.......好了,接下来,就是本文的重点之一,绘制面板了。一个好的工具能让你的工作进度加快不少。绘制完面板,然后就开始写复制部分的逻辑。然后我们定义几个变量,用于后面使用。好了,接下就开始写绘制面板的逻辑了。原创 2024-05-20 18:05:49 · 632 阅读 · 1 评论 -
Unity Animation--动画剪辑
动画剪辑是Unity动画系统的核心元素之一。Unity支持从外部来源导入动画,并提供创建的能力使用“动画”窗口在编辑器中从头开始。原创 2024-05-02 11:48:11 · 738 阅读 · 1 评论 -
热门动画插件DoTween的使用
做游戏基本都会用到插件,它能让你的效率更高,因为它里面都是写好了的方法,只要用就可以了。在众多动画插件中,DoTween脱颖而出,因为它用起来很简单也很方便,自然用的人就多了。你想想,你的UI动画,你难道要自己做动画吗?首先我们去Unity的AssetsStore下载DoTween这个插件,这里我们搜索了你会发现有两个,其中一个是免费的,我们用免费的就可以了,哈哈。然后我们就可以开始使用DoTween了,因为它一个插件有很多的方法,我不可能在这里直接给全部讲完,这也不现实,再说我也不是全部都知道的呀。原创 2024-04-16 20:59:43 · 510 阅读 · 1 评论 -
游戏当中的声音系统
这里我不多说,比如今天我们做的是赛车游戏,大家都应该知道赛车的话,随着车的档位车速的不同,它发动机发出的声音也是不一样的。然后我们就通过速度的变化,给用上不同的音频片段,切换的时候就是音色上场的时候了,正常音色是0.5的值,越大声音越尖锐,然后我们就让它插值变大到最大就切换音频片段,这样就可以了。就比如LOL,如果你对面玩的塞恩,大家都知道它把,改版后是可以大范围开车的,如果你不带耳机,你就听不到塞恩开车的声音,那么很可能上一秒你在美滋滋的补兵,下一秒你就别人杀了。所以,游戏的声音系统是非常重要的。原创 2024-04-16 20:58:05 · 496 阅读 · 1 评论 -
Cocos Creator 3.8 开发2D水面波纹Shader
Cocos Creator的版本不一样,可能导致以前编写的Shader无法正常运行,这种其实很好解决,我们在开发Shader的时候,基于现在Cocos Creator的版本先创建一个现有的模板出来,然后再将关键代码移植过去。Cocos 的uv 左上角为(0, 0),我们要在图片的上方做水波纹,那么片元的uv.y < y0的片元就丢弃, uv.y >= y0的就正常显示。2D 水面波纹的主要原理就是给定一个正选波的边界,在范围内的片元uv就显示,在范围外的片元uv就不显示。2D 波浪的基本技术原理。原创 2024-04-13 19:04:58 · 1323 阅读 · 1 评论 -
Html网页小游戏源代码
【代码】Html网页小游戏源代码。原创 2024-04-12 20:32:51 · 1282 阅读 · 1 评论 -
回合制游戏战斗模块的制作
首先,我们要知道回合制的机制,一人一次,然后呢,也并不是一队伍的人都是最先攻击的,还是要看速度来的。但是原则就是一人一回合,然后下一个。在这里我们认为双方都有可移动的普通攻击,所以基本上双方都有很多的共同点,那么我们可以先写一个基类,然后让子类继承基类的一些方法或重新就可以了。整个的逻辑就是由管理类来发布命令,比如让cube方先攻击,然后等cube方所有人都攻击完了,最后再换队伍攻击。这是部分代码,有点多,其他的不贴了,然后我们需要把脚本挂载在每个角色上面,最后我们要用一个管理类来管理我们的战斗双方。原创 2024-04-06 09:43:05 · 620 阅读 · 1 评论 -
Unity 加载资源的几种方式
加载本地资源时,需要注意,由于打包后,工程目录会改变,所以一般把要通过该方式加载的资源放在 StreamingAssets 文件夹下。例如《守望先锋》中,在游戏开始时只加载了场景模型 和 UI,音效、枪械模型等是通过在 服务端 下载的方式进行加载,可以减少游戏本体的大小。使用 WWW 加载,可以通过 WWW对象的 assetBundle 字段,获取到加载的 AssetBundle。用于加载本地的 AssetBundle。在场景加载完毕之后,其它非关键资源的加载,或者分批资源的加载。也可以用于游戏的更新。原创 2023-12-27 00:30:00 · 1613 阅读 · 1 评论 -
基于 Game Object Conversion 和 SubScene 的 DOTS 开发工作流(干货满满!)
(译前言: Unity DOTS提出了一套全新的开发技术栈, 但目前少有精讲如何结合现有工作流进行开发的资料, 外网详细解构了基于 GameObject 和 Subscene 的工作流程和原理, 要求读者对 DOTS/ECS 有基本的了解, 虽然非常之长, 但值得一读)原创 2023-12-13 07:42:24 · 296 阅读 · 0 评论 -
Unity--互动组件(Input Field)||Unity--互动组件(Scroll View)
一个输入字段是一种方法,使文本控件可编辑;此组件中的,交互,过渡,导航与文章(Unity--互动组件(Button))中的介绍如同;TextComponent:()Text:(文本)Character Lint:(字符数限制)Content Type:(内容类型)Line Type:(线型)Placeholder:(占位符)Caret Blink Rate:(闪烁速度)Selection Color:(选择颜色)Hide Mobile Input:(隐藏移动输入)可以从菜单(“ 组件”>“ UI”>“输入字原创 2023-12-02 17:22:43 · 435 阅读 · 1 评论 -
UE5 中的computer shader使用
【代码】UE5 中的computer shader使用。原创 2023-11-23 21:50:21 · 822 阅读 · 0 评论 -
UE5和UE4版本更新重大改变汇总。
2,Blueprints属性,可以转换所选Actor为BP,打开Actor的BP,多了一个文件夹内容选项,点击即可看到该Actor所在的文件夹目录,通过Create创建的Actor一般有默认的位置,不需要自己手动选择。5,在5.x中弃用Cascade,被Niagara替代,并且官方会提供转换路径。2,Event-Driver-Loader(事件驱动加载器)将会被完全删除,被Zen-Loader-system替代。1,Matinee将被删除,被Sequencer完全替代,并且官方已经提供了转换方法。原创 2023-11-21 21:26:01 · 1049 阅读 · 0 评论 -
Python的2042小游戏及其详解
10. 定义了四个移动函数`move_up()`、`move_down()`、`move_left()`和`move_right()`,分别实现游戏界面的上、下、左、右移动。在移动前,将每一行或每一列提取出来,调用`merge_tiles()`合并相同数字的方块,然后将合并后的行或列重新放回游戏界面,并随机生成一个新的方块。遍历行或列中的每个方块,如果相邻的方块有相同的值且未合并过,则合并它们,生成新的合并后的行或列。2. 定义了常量`SIZE`,表示游戏界面的尺寸,这里是4x4的方格。原创 2023-11-16 21:23:58 · 472 阅读 · 0 评论 -
Unity--互动组件(Toggle Group)||Unity--互动组件(Slider)
注意:如果再加载场景或者实例化组时打开组中的多个切换,则“切换组”将不会立即执行其约束。只有打开新的拨动开关后,其他拨动开关才会关闭。2,slider允许控制,用户通过拖动鼠标来选择从预订范围内的数值。属于同一组的切换开关受到限制,因此一次只能打开其中一个开关,按下其中一个开关时,其他的开关将会自动关闭;通过将“切换组”对象拖到组中,每个切换组的组的属性中,可以设置切换组。滑块的值由手柄沿其长度的位置确定。On Value Changed:(值的改变)滑块的默认行为是从左到右增加,但也可以使用。原创 2023-11-15 21:53:07 · 630 阅读 · 0 评论 -
Unity--互动组件(Button)
1.组件的可交互2.组件的过渡状态3.组件的导航4.组件的EventButton“”组件的过渡状态:“”组件的几种过渡效果:Target Graphic:(图形目标)Normal Color:(正常颜色)Highlighted Color:(高亮显示的颜色)Pressed Color:(按下控件时的颜色)Disabled Color:(控件禁用时的颜色)Color Multiplier:(颜色倍增器)Fade Duraction:(淡入时间)Target Graphic:(图形目标)原创 2023-11-13 21:27:53 · 346 阅读 · 0 评论 -
Unity--视觉组件(Raw Image,Mask)||Unity--视觉组件(Text,Image)
2.maskTexture:(纹理)Color:(颜色)Material:(材质)Raycast Target:(射线)“”mask:“”MaskShow Mask Graphic:(显示图形)1.Text(文本)2.Image(图像)原创 2023-11-11 15:19:05 · 543 阅读 · 0 评论 -
[游戏中的图形学实时渲染技术] Part1 实时阴影技术
在实时的渲染中PCF的致命缺点是慢,原本的在shadow map贴图中的一次查找变成了 7乘7 甚至是 9乘9 的像素。所以,如果想在实时渲染中使用这种方式的软阴影技术需要对渲染过程进行优化:在抗锯齿的是时候的第一个算法一定是SSAA,但是这样抗锯齿处理算法需要4倍的显存...,但是MSAA其举出思想依旧是一个像素点采样多次,但从原来的全部整个屏幕全部的像素,变成了屏幕画面的边缘部分。PCF的优化也是同理-如下图,软阴影与硬阴影的之间的变化随着阴影的投射物(笔杆)与阴影的接受物(书本)的距离有关。原创 2023-11-11 15:16:35 · 743 阅读 · 0 评论