游戏内的角色,能够像纸娃娃换装那样子让玩家可以为自己的角色改变外观,一直是相当受欢迎的功能;一般而言,我们建好的 3D 模型,如果要将其中一个部位换成另外一个形状,最直接的就是将该物件部位的 Mesh 替换掉,那么外观就改变了,但这种方法如果运用在需要做动作的模型上,将发现被置换掉的部位不会正常动作,更糟的状况可能连模型显示的位置及方向都是错误的,所以,直接变更 Mesh 的方法只适用于静态模型
转载 2024-04-02 10:50:14
74阅读
PS:查找了很多相关资料,自己整理了下,方便日后回顾及分享。文末也提供了相关文件关于Litjson文件:可以去官网下载一个文件包;.dll文件存在于  litjson-0.5.0-bin\litjson-0.5.0\bin目录。 Litjson官网下载链接:LitJSON download | SourceForge.net**本文主要研究用LitJson实现对文件的增加和修改
转载 2024-03-27 10:52:59
199阅读
        Unity中提供了对模型的Mesh数据进行压缩优化的方法,可用于提升GPU的渲染表现。主要是通过PlaySetting窗口下的Vertex Compression、Optimize Mesh Data选项和模型的Model Importer Setting窗口下的Mesh Compression、Optimize Mesh 、Read/Wri
转载 2024-04-22 14:57:28
461阅读
FPS是衡量游戏性能的一个重要指标,Unity是跨平台的引擎工具,所以没有统一限定他的帧速率。 在PC平台,一般说来是越高越好,FPS越高,游戏越流畅。 在手机平台,普遍的流畅指标为60帧,能跑到60帧,就是非常流畅的体验了,再高的话一来差别很小,二来帧数太高,会耗费CPU和GPU,会导致发热和耗电量大。
转载 2024-03-10 20:35:32
2683阅读
以下类实现了在Unity中动态的修改Terrain的功能,可以在运行时升高、降低以及平滑地形高度。在Unity的Play Mode修改地形后退出Play Mode仍然会保留修改;当游戏打包成独立的可执行文件后退出游戏则不能保留对地形的修改,需要手动将地形数据序列化保存,下次启动时重新赋值。方法概述(省略了参数):int[] GetHeightmapIndex() :返回Terrain上某点在Hei
前言不管开发什么游戏,游戏存档是个必不可少的功能,你可能需要保存玩家的一些信息,比如身上穿戴的装备,玩家角色所处的场景等各种信息,对于存档功能(数据持久化),Unity提供了原生技术Playerprefs,它的优点是理解和使用起来十分简单,缺点是对于大型数据存储时会力不从心,所以本文会介绍如何使用XML来实现游戏存档和存档加密的功能。编程环境Unity 5.2.2OS X EI Capitan 1
前言在使用新的Unity3d 5.0后,我们发现在Inspector面板上多了一个东西这里主要有两个可以设置的选项AssetBundle和Variant进过测试,发现5.01版本在AssetBundle方面存在bug,幸好在5.02版本进行了修复,所以在5.02以后的版本才可以放心使用,不然会出现贴图丢失等问题 AssetBundle  在这里指的是我们打包后会生成的包名,可以
转载 2024-05-31 09:56:29
348阅读
今天看到 @Funny David 的文章从Odin插件聊基于元数据的编辑器实现,这篇文章非常好。最后评论部分有朋友提到一个配置的麻烦点,故有感而发,说一点我的思路和处理方法: 当我们在使用unity自带的数据序列化时,当我们需要更改字段名,字段类型,甚至整个配置的数据格式,层级等的时候,会面临丢失数据的问题。而我们在制作游戏的过程中,根据需求的改变,我们经常都要面对这样的问题,需要及
  在游戏开发中,经常会用到一些配置文件保存一些数据,然后项目运行中读取这些配置文件中的数据在游戏中使用。 如:配置血条:根据角色类型(人物、动物、怪物等)配置不同的血条,包括血条大小,血条名或血条预设,血条颜色等一些简单数据。 如:配置子弹:子弹类型(真子弹、假子弹、追踪子弹等),子弹速度,伤害数值,子弹关联的特效等。 诸如此类的配置很多种,可创建一个可序列化的类存储数据,或者创建 XML 、J
转载 2024-05-17 14:09:29
2889阅读
  在游戏开发中,经常会用到一些配置文件保存一些数据,然后项目运行中读取这些配置文件中的数据在游戏中使用。 如:配置血条:根据角色类型(人物、动物、怪物等)配置不同的血条,包括血条大小,血条名或血条预设,血条颜色等一些简单数据。 如:配置子弹:子弹类型(真子弹、假子弹、追踪子弹等),子弹速度,伤害数值,子弹关联的特效等。 诸如此类的配置很多种,可创建一个可序列化的类存储数据,或者创建 XML 、J
转载 2024-05-02 18:10:58
1108阅读
比如,项目的UI界面Prefab都拼好了,突然要求更换所有文字字体. 再比如,我用Ferr2D Terrain Tool费劲九牛二虎之力拖出了一百多关地形,突然发现Unity自带的SpriteShape2D更好用,又节省资源.如果一个一个手动修改,还不得把人累死,更何况也很难保证不存在漏网之鱼. OK,所以我觉得,懒惰挺好的,因为它是我寻找高效工作方式的动力?首先,在做批处理之前必须要清楚一个问题
前言前面的文章讲述了关于Unity下资源的打包、加载以及打包工具的设计。从本文开始介绍UI的交互设计。游戏开发中存在很多的UI界面,虽然UGUI本身通过UI节点的位置对显示层级做了处理,但是实际开发中存在部分界面内还存在3D模型的展示、特效的展示,如果设计不当就会存在特效显示穿透的问题,开关界面是遮挡问题。本文就结合之前基于Addressable的资源加载,缓存池等来构建UI界面交互逻辑。本文主要
关于修改游戏配置这点,如果pc还好但是在移动端,比较麻烦,比如游戏换ip地址了,可能需要重新打包了那能不能动态修改,这里有个思路以udp举例在客户端里面写一个udp服务,在游戏第一界面打开,比如在登录界面那么切换这个界面,就可以把这个服务给关掉了。消耗也不大写个udp的客户端,给游戏客户端的udp服务发消息客户端根据收到的消息来修改自己的配置,保存于本地下次启动游戏,那么配置就生效了其实就是相当于
转载 2024-05-31 11:47:19
1647阅读
前言前段时间完成了自己的小游戏Konster的制作,今天重新又看了下代码。原先对关卡解锁数据的存储时用了Unity自带的PlayerPref(字典式存储数据)。读取关卡数据的代码:  void Awake () { foreach(Transform Child in transform) //Update Level Lists {
转载 2024-03-19 23:31:50
148阅读
XML与JSON在开发中非常重要, 其实核心就是处理字符串。一个是XML的字符串一个是JSON的字符串,尤其是在处理网络请求的时候,肯定是要用的。另外现在JSON非常的流行,我写了一个简单的例子融合了XML与JSON的合成与解析,希望大家喜欢! 首先注意头文件,LitJson是处理JSON的第三方库,最后我会给出下载地址。 1 using UnityEngine; 2 using System.
转载 2024-05-27 06:41:30
77阅读
前言Unity中有一个PlayerPrefs用来给游戏存储数据。这个类有三个存储三种特定类型的方法:SetInt用来存储int类型的数据,SetFloat用来存储float类型的数据,SetString用来存储string类型的数据,虽然只能存储三种类型的数据,但是对于一般的游戏而言这三种类型完全够用了。本文封装了一个游戏数据管理类,使用PlayerPrefs来存储和读取游戏数据。这样就不用每次在
问题做Unity开发时,经常需要写一些Editor代码,用来提高开发的效率,常见的一种情况就是通过代码修改场景里Prefab的参数。一般修改后会发现一切如期望般正常,但一旦你重启Unity,或者重新加载Scene,那么就会惊喜地发现,之前做出的修改都没有生效。由于我习惯使用新版的Unity,所以下面都是基于Unity 2019版本,其他版本是否会有这个问题,能不能用这种方式解决,就各自尝试了。原因
转载 2024-02-29 13:04:37
199阅读
# 修改 Unity Android 的 distributionUrl 在使用 Unity 开发 Android 应用时,可能需要配置 Gradle,以确保构建过程顺利进行。其中一个常见的配置就是修改 `distributionUrl`。该 URL 指向 Gradle 的分发地址,用于下载和使用特定版本的 Gradle。在本篇文章中,我们将探讨如何修改 `distributionUrl`,以及
原创 9月前
690阅读
原文:https://mp.weixin..com/s/-ERFNB1GRZ6UAkHOhP9UQw    很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学。为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3D游戏开发。 本文不是广告,不是推广,是免费的纯干货!本文
Paint in 3DPaint in 3D用于在游戏内和编辑器里绘制所有物体。所有功能已经过深度优化,在WebGL、移动端、VR 以及更多平台用起来都非常好用!它支持标准管线,以及 LWRP、HDRP 和 URP。通过使用GPU 加速,你的物体将以难以置信的速度被绘制。代码还经过深度优化来防止GC,和将所有绘制操作一起批次完成。跟贴图系统不同,它是一个纹理绘制解决方案。这意味着你可以绘制你的物体
转载 2024-10-28 16:10:32
31阅读
  • 1
  • 2
  • 3
  • 4
  • 5