精华内容
下载资源
问答
  • Unity 游戏资源修改

    万次阅读 多人点赞 2018-11-10 17:32:03
    Unity游戏资源修改 简单介绍一下unity游戏中图片,材质,模型,带绑定模型的一般修改方法和一些小技巧,不同游戏处理资源的方式可能有些区别。熟悉unity的话可能会更容易理解吧。 所需工具: 1....

    Unity游戏资源修改


    简单介绍一下unity游戏中图片,材质,模型,带绑定模型的一般修改方法和一些小技巧,不同游戏处理资源的方式可能有些区别。熟悉unity的话可能会更容易理解吧。

    所需工具:
    1.UnityAssetBundleExtractor(资源导回,以下简称UABE)
    2.AssetStudio(可将模型导出为fbx格式,可以导出骨骼动画)
    3.FileLocatorPro或其它文件内容搜索工具 (资源文件较多时用于搜索文件)
    4.图片和模型编辑相关软件。
    5.Unity(建议用与游戏相同的版本,不修改模型不需要,官网可以下载到各种版本)

    一.图片(Texture2D)
    修改起来最简单的一种,用UABE打开asset文件,选中texture,点击Plugins->Export to (.tga/.png)可以导出图片;点击Plugins->Edit->可以修改图片属性,点击load可以导入图片。
    图片导出和导入
    可以用UnityStudio加载所有文件,在预览中查找所需图片,在列表中右键图片show original file可以显示图片所在的文件。

    二.材质和shader(material&shader)
    也是用UABE导出,导出时选点击Export Dump,导出的文本文件中会有相关的参数,可以自己尝试修改相关参数的数值。也可以用其他材质的文件替换,导回时选择Import Dump。shader导出可以用UnityStudio,或者Snapdragon Profiler。不过导出的shader可能并不能直接用。

    三.模型(mesh)
    建议用AssetStudio把模型导出为fbx格式,并且在option->Export options中将Scale Factor设置为100。否则模型的大小会和原来不一致。
    Unitystudio设置

    然后修改模型,模型的位置要与原模型尽量一致,比如刀枪之类的握把要和原来尽量重合。然后打开unity新建项目,将模型导入然后放入场景中,点击file->build&run,会生成一个unity游戏,然后用UABE打开生成的“名称_data”文件夹里的globalgamemanagers,找到刚才导入的mesh,点击Export raw/dump,然后打开修改前的源文件选择对应模型,点击Import raw/dump选择文件导回。然后修改对应的贴图,再把所有修改后的文件放回安装包或文件夹内,就完成了。
    注意材质的数量尽量与原来相同。

    四.带绑定的模型(skinedmesh)
    同样用Unitystudio导出fbx模型文件,模型带有骨骼和蒙皮,再修改时不要动模型的骨骼,然后要注意,如果第一个骨骼名和文件名部分相同需要删除这个骨骼,(比如老版本崩坏三中大多角色的第一个骨骼名都是avatar_name_…,就需要把这个骨骼删除,如果是bip001 就不需要。)
    然后编辑后->导入unity-> 导出游戏->用UABE导出模型数据为txt格式,(这时候并不能导回源文件,放回游戏模型会消失,需要进行一些修改)。
    mesh中需要保持部分数据不变,mesh的结构如下图:
    mesh结构
    红框内数据替换为修改后的数据,蓝框内数据需要进行修改,其他需要用原来的数据。
    m_skin的数据
    这里写图片描述
    m_bonenamehashes 的数据
    这里写图片描述
    其中boneindex[]= 后的数据是m_bonenamehashes中骨骼名称hash的编号,但是修改前后的顺序并不相同,所以需要根据bonenamehash修改新数据中的boneindex后的序号。我写了一个小程序可以完成这个步骤。

    更新:新增支持2018版本。
    下载地址 提取码: yx4j

    之后把程序生成的文件导回源文件即可。

    **五.角色的动作 **
    现在AssetStudio支持动作的导出,动作也可以修改了,把导出的带动作的fbx(和改带绑定模型一样去掉骨骼后)导入unity,然后设置好Animator Controller,点击运行可以动起来就可以,不会的可以参考这个http://blog.csdn.net/wayway0554/article/details/52313614。然后导出后可以找到animationclip 再导回原游戏文件。理论上没问题,不过我没有弄过。

    修改的过程中总会遇到很多坑的,大家多尝试就好。

    展开全文
  • Unity游戏开发基础

    千人学习 2017-09-12 08:44:15
    以Unity 2017版为基础,详细介绍Unity游戏开发的基本过程和基本技术,包括:资源创建、灯光、声音、GUI、动画控制和网络游戏开发等内容。 课程主要以实例演示方式进行讲解,并提供实例工程源代码下载,读者可以对照...
  • Unity游戏开发实战.pdf

    千次下载 热门讨论 2013-12-30 21:08:09
    Unity游戏开发实战.pdf 比雨林木风那本更好的unity3d游戏开发书。 难得的中文好书
  • unity游戏返回游戏黑屏

    千次阅读 2015-10-10 09:58:14
    描述:在unity游戏集成我们公司自己的SDK后,进入游戏然后退出都桌面,再按图标返回游戏,这时游戏是黑屏的。 分析:由于SDK在游戏启动之前需要做一些初始化,所以第一个activity是SDK的,并且继承自unity的...

    描述:在unity游戏集成我们公司自己的SDK后,进入游戏然后退出都桌面,再按图标返回游戏,这时游戏是黑屏的。

    分析:由于SDK在游戏启动之前需要做一些初始化,所以第一个activity是SDK的,并且继承自unity的UnityPlayerActivity假设这个activity取名GameActivity。SDK的操作都在

    GameActivity中实现,执行完后进入游戏activity。这个GameActivity需要自己手动配置在AndroidManifest.xml文件中,其他的游戏的activity都是unity工具已经自动生成了。


    解决方案:下面是unity自动生成的activity配置,

    <activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="@string/app_name">
            <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
            <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
    </activity>

    对比一般的android的AndroidManifest.xml配置可以发现,unity自动生成的activity多了两行:

    <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />


    所有的unity的activity都需要配置这两行,包括继承自unity的activity。

    展开全文
  • 40个Unity游戏开发小阴招

    千次阅读 多人点赞 2020-10-24 21:49:10
    Unity游戏开发小技巧集结,不用谢我,我只是大自然的搬运工 1. 借助 Prefab 暂存数据 可以直接在脚本的 Inspector 上填写,然后把整个 GameObject 拖成 Prefab 暂存。 等要用的时候再拖出来。 2. DontDestroy模式 在...

    推荐阅读:

    Unity游戏开发小技巧集结,不用谢我,我只是大自然的搬运工

    1. 借助 Prefab 暂存数据

    可以直接在脚本的 Inspector 上填写,然后把整个 GameObject 拖成 Prefab 暂存。
    等要用的时候再拖出来。

    2. DontDestroy模式

    在跨场景的时候保持某些对象一直存在,不必要每次都重新加载,譬如显示广告的模块。

    3. 内置函数

    Awake,Start,Update,FixedUpdate,LateUpdate 函数,令开发者直接往游戏循环里加内容,非常方便快捷。

    4. Input

    Input.MouseDown 在移动设备上也通用,对于一些对输入性能要求不高的操作,直接用它来代替 Input.TouchCount或者 RaycastHit 即可。

    5. UGUI

    新的 UGUI 支持多种 Camera 渲染,以及 RectTransform 里Anchor 的灵活配置,功能很强大。
    提前设计好的话,可以一套 UI 同时支持 iPhone4/5/6/iPad以及所有 Android 设备各种尺寸的分辨率。
    再也不必做多套 UI 来适应各种设备了。

    6. Editor 脚本

    可以方便在编辑器里扩展,对开发和摆关卡帮助极大。

    7. 测试

    测试运行时,可以在任意时候暂停游戏,重新调整数值,游戏对象的位置等等,然后再继续游戏。

    8. Editor/Resources 目录可以存在多个,且可以存放在任意目录下

    写自己的插件或者代码库时可以自带辅助的资源。

    9. Hierachy 层级

    在 Hierachy 层级对话框,可以随时输入搜索关键字,然后一起选中筛选出来的GameObject,这个时候可以同时修改它们的相同属性。

    10. 内置取色器可以暂存颜色

    11. 显示脚本的公用属性

    脚本的公用属性在 Inspector 中显示时,可以用额外的修饰符控制其显示方式,取值范围等等,非常方便。

    12. StreamingAssets 目录是用来存放不加密的外部文件

    它还有一个极好的用途是存放测试数据。
    方便在 PC/MAC/移动设备上都能调用到同样的测试数据进行模拟处理。

    13. 配合 Alfred 这款快捷启动的小工具

    输入“us 关键字”即可快速调出Unity的 ScriptAPI,你是否也经常忘记 Collier/Trigger 函数的完整写法?

    每次都需要从帮助手册里复制代码段?

    14. Unity死机未保存场景

    当你在Unity中编辑场景,突然死机时,可以在项目文件目录中找到Temp文件夹,双击文件夹,找到_Backupscenes文件夹,把后缀为.backup的文件后缀改为.unity,然后拖进Unity的Project界面里面,这样就可以还原死机前场景最后情况。

    15. Inspector界面的数值栏自带加减乘除功能

    从Unity5.1开始,可以在Inspector界面中的数值栏进行计算,比如:
    你可以在Transform里面的Position中X栏中加减乘除。

    16. 随意移动模型预览视窗

    在Project界面里面选中模型,在Inspector界面上会显示模型的预览视图,右击视图的上的双横条,模型预览视图就会跳出来,此时就可以像Scene,Game等视窗一样任意移动,放在你想放的地方,如果想让他变回去,只要关掉它即可。

    17. 搜寻当前场景中哪些物件运用了指定脚本

    在Hierarchy界面中的搜索栏中输入你想要搜索的脚本全名,即可找到哪些物件用了这个脚本,此方法也可以用来搜索哪些物体上有哪些物件,比如:
    Rigidbody等。

    18. 在界面上查看private变量

    在Inspector界面右击Inspector的标签栏,选择Debug。

    19. 只让游戏运行一帧

    先按下暂停键,再按运行键。

    20. 通过Debug.Log获取执行此语句物件

    在脚本的Debug.Log语句中加入gameObject,即Debug.Log(“Test”, gameObject); 脚本运行时点击Console界面中的输出语句,就能在Hierarchy界面中看到哪个物件执行了这个脚本。

    21. 展开所有子节点

    按住Alt,用鼠标点击包含子节点物件前的三角形,在Hierarchy界面和Project界面都可以使用。

    22. 编辑时镜头跟随选中物件

    在Scene界面中选中物件按F,镜头就会对准选中物件,并使其在Scene窗口中居中,如果在拖动物件时,要让镜头跟随物件移动,选中物体后按Shift+F即可。

    23. 在Scene界面中方便移动编辑镜头

    在Scene界面中鼠标右键 + A/S/D/W/Q/E来移动镜头, 如果想使Game视窗的镜头跟Scene一样,可以在Unity菜单栏中选择GameObject–>AlignWithView。

    24. 在Project界面搜索商店内容

    先在Project界面中的搜索栏中输入你想要搜索内容的关键字,然后在搜索栏下边的搜索范围选择中选择AssetStore。

    25.区分Unity项目

    还在用4.X, 拍案叫绝不敢说, 多开几个Unity实例我不知道各位看官怎么区分开的倒地是哪个?我们用Unity的C#功能识别路径把Unity的路径打到标题栏, 这样就方便多了

    26. 脚本编译可以不用mono编译器

    而编译的dll和il都可以在mono上跑。
    从而规避老版本编译器的一些生成问题。

    27. shader lab支持自定义对应版本的bytecode

    可以用别的shader编译器来编译shader。
    也是挺灵活的。

    28. 横向移动

    做一个横向移动模块 里面有个Update函数 传入Transform,就把Transform按固定速度横向移动。

    29. 纵向移动

    做一个纵向移动模块 里面有个Update函数 传入Transform,就把Transform按重力加速垂直移动。

    30. 下次要做一个 斜向固定速度的,就重用 横向移动模块

    单独写一个纵向固定速度移动的模块。
    同样的角色脚本,推这两个组件进去,角色就斜着飞了。

    31. 把一个模块列表做成状态机状态,加个进入模块和退出模块。

    加点状态转换逻辑,你就有个状态机了。

    32. 可以把Update函数,拿一个协程的iEnumerator代替

    进入状态就启动协程。
    定时的,不用更新,或者其他特殊的状态都可以轻松搞出来了。

    33. 状态里面定义个System.Action之类的事件,模块可以随便抛出这个玩意。

    呵呵,这下动画关键帧也有了。

    34. 角色

    做一个角色的脚本 包含一个模块列表,把一个横向和一个纵向模块推入列表,然后角色每次Update就遍历就执行每个模块的Update。

    35. 快捷目录

    Project窗口下,可以把文件夹直接拖到Favorites下作为快捷入口,再也不用找一个文件翻半天了,常用的目录都可以放在这里

    36. 线框输出

    Game窗口的右上角有个Gizmos按钮,点击之后可以把你用于Debug画出来的所有线框都画到游戏场景中,其中包含Gizmos类画出来的所有东西,以及Unity本身提供的碰撞体等等这些需要去Scene窗口看的东西,尤其是没有双屏幕的开发者,这个功能太贴心了。

    37. 自定义Profiler

    利用Profiler.BeginSample()和Profiler.EndSample()函数,可以将任何代码断加入Profiler输出,性能调优的利器,一般来说如果有某个地方你自己对于性能不是很有把握,检测一下即可知道其使用开销,用了之后就停不下来了。

    38. 反射

    如果项目中有一些使用到反射的代码不太方便修改,而又希望通过设置Stripping Level来降低包体大小和内存占用,可以在Assets目录下添加link.xml文件来指定涉及到反射的类。

    39. 查看prefab的配置

    通过将Editor Setting中的Asset Serialization设置为Force Text可以查看prefab的配置内容,并通过比对工具进行差异处理和合并。

    展开全文
  • 使用AssetStudio/UnityStudio UABE等 破解Unity游戏前言工具准备前期处理替换图片资源替换配置表/TextAsset 前言 用于研究,学习 工具准备 UABE: 地址:https://github.com/DerPopo/UABE/releases Asset...

    前言

    用于研究,学习

    工具准备

    前期处理

    按zip压缩包正常解压

    替换图片资源

    1:使用AssetStudio/UnityStudio找打开项目,Asset List页面下,预览并找到你要修改的文件,左键选中,右键->show original file 并找到所属文件。
    2:使用UABE打开该文件,找到需要修改的资源,选中->Plugins->Edit->Ok->Load->选中需要替换的图片->OK->OK->覆盖原始文件会导致保存失效,另存为新文件。

    注意:部分资源有sharedassets3.assets.split*这种资源
    在这里插入图片描述

    如果使用AssetStudio/UnityStudio查看则指向sharedassets3.assets文件,资源替换方式相同,替换完成后,删除所有的sharedassets3.assets.split*

    替换配置表/TextAsset

    1:预览并找到你要修改的文件,左键选中,右键->show original file 并找到所属文件。
    2:使用UABE打开该文件,找到需要修改的资源选中->Plugins->Export to .txt->ok->桌面(或者任何你可以找到的地方)->保存。

    在这里插入图片描述

    3:使用记事本/Edit with Notepad++ 打开你刚保存的xxx.txt文件,你就可以根据你的需要修改配置表了。(一般的配置表会是以json、excel、等格式,推荐使用Edit with Notepad++ 打开文件,有排版看着更舒适)。
    4:修改好文件后,切换回UABE,选中之前那个文件->Plugins->Import from .txt->ok,文件保存好后手动替换源文件,直接覆盖会导致文件写入失败。

    替换界面文字/界面UI描述

    #此处需要- 任意十六进制编辑工具
    #此处由于资源无法预览,若有多个text,则难度加大
    1:AssetStudio/UnityStudio 下Scene Hierarchy界面下确定资源文件名称。
    2:使用UABE打开该资源,寻找到你需要修改的文件(修改text组件下的文字,即任何文字或者描述,文件类型一般为MonoBehaviour),选中->Expor Raw->保存(为***.dat文件)
    3:使用任意十六进制编辑器打开导出的文件,进行编辑,可编辑文字的范围为:文件头+0xF0 至文件尾-0x90中间的部分。注意不要破坏除这部分的其他任何数据,并且该范围内文字的换行需保持0x0A。完成编辑后,计算这段范围的新长度。
    4:修改偏移0xEC~0xEF处的数值为新尺寸。
    5:导入资源,选中原文件->Import Raw->ok,文件保存好后手动替换源文件,直接覆盖会导致文件写入失败。

    从签名/打包

    #:替换签名文件两种方法,一种直接删除META-INF,按常规zip压缩为apk并签名或者使用apktool压缩并签名。一种为删除META-INF\下的CERT.RSA及CERT.SF(修改编辑META-INF\MANIFEST.MF(使用Edit with Notepad++ 打开),删除里面所有的你修改过的文件名及对应的SHA1-Digest),然后按常规zip压缩为apk并签名或者使用apktool压缩并签名。

    安装/测试

    从签名好后直接安装到手机上测试即可,若闪退,检查签名是否成功。

    展开全文
  • Unity版本:Unity 2018.2.14f1 ... 教程目录(持续更新中): Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 ...Unity游戏开发官方入门教程:飞机大战...Unity游戏开发官方入门教程...
  • unity游戏开发案例有哪些?

    千次阅读 2019-01-04 16:40:55
    unity游戏开发案例有哪些?我们不妨参考接下来小编为大家推荐的这本书,书里就有不少unity游戏开发案例,而且还是详细版哟: 书名:Unity 3D游戏开发技术详解与典型案例(详细) 作者:吴亚峰, 于复兴编著 出版者:...
  • Unity3D - Unity游戏Mono内存管理与泄漏

    千次阅读 2016-08-31 17:01:17
    本文介绍了在腾讯游戏在Unity游戏开发过程中常见的Mono内存管理问题,并介绍了一系列解决的策略和方法。 什么是Mono内存 对于目前绝大多数基于Unity引擎开发的项目而言,其托管堆内存是由Mono分配和管理的。“托管...
  • Unity游戏中植入广告是Unity 游戏产品增加收入的一种重要方式,常用的广告有谷歌Admob,百度ssp,腾讯广点通,unity公司的unityads等等,而使用的最多的应该属于谷歌Admob,所以我们这里以Google admob介绍下在...
  • Unity游戏中的图形渲染优化

    万次阅读 2018-02-20 10:29:48
    Unity游戏中的图形渲染优化 转载自:Unity游戏中的图形渲染优化 技术文章翻译 原文链接 Unity官方教程中的一篇文章,虽然讲得不深,但是比较系统全面,对寻找问题,优化性能还是有帮助的,分享给大家把。...
  • 第3天: dnspy逆向unity游戏

    千次阅读 2019-11-02 23:42:38
    调试Unity游戏 dnSpy可以调试Unity调试版本和发布版本。发布版本需要修改的文件是mono-2.0-bdwgc.dll / mono.dll。也可以将发布版本转换为调试版本(还不会)。 调试发行版 先备份游戏,然后进行调试。 调试就...
  • unity游戏毕设

    千次阅读 2017-10-10 15:05:04
    想做一个赛车游戏,在这里记录unity的学习资料,以便查寻。
  • 当有其他Activity在Unity所在的Activity之上的时候,Unity游戏从后台返回到游戏时,会出现黑屏的现象,比如: 正常时: 从后台返回时: 二、 问题分析 1)当Unity所在的Activity之上没有其他Activity时候,生命周期...
  • Unity版本:Unity 2018.2.14f1 ... 教程目录(持续更新中): Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 ...Unity游戏开发官方入门教程:飞机大战...Unity游戏开发官方入门教程...
  • Unity 游戏黑暗之光笔记第二章 创建角色场景

    万次阅读 多人点赞 2019-01-07 09:36:37
    Unity 游戏黑暗之光笔记 第二章 创建角色场景 1. 开始角色创建场景,导入模型和UI资源: 2. 创建UI 3. 设计Idle状态的两个角色Prefabs 4. 控制所有的角色的创建和显示: 创建一个空物体,添加控制选择角色的...
  • Unity版本:Unity 2018.2.14f1 ... 教程目录(持续更新中): Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 ...Unity游戏开发官方入门教程:飞机大战...Unity游戏开发官方入门教程...
  • Unity版本:Unity 2018.2.14f1 ... 教程目录(持续更新中): Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 ...Unity游戏开发官方入门教程:飞机大战...Unity游戏开发官方入门教程...
  • Unity版本:Unity 2018.2.14f1 ... 教程目录(持续更新中): Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 ...Unity游戏开发官方入门教程:飞机大战...Unity游戏开发官方入门教程...
  • Unity版本:Unity 2018.2.14f1 ... 教程目录(持续更新中): Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 ...Unity游戏开发官方入门教程:飞机大战...Unity游戏开发官方入门教程...
  • 用Google Cardboard最新SDK+Unity3d开发一个VR游戏,以此来了解Cardboard VR开发整个流程
  • 在自己开发Unity游戏的过程中,偶然需要一些配合场景的合适的素材,但是在网上搜索费时费力,不称心,复杂的组件不说了,一些简单的组件就可以自己做一做。我在制作赛车游戏读取场景进程界面,需要一些简单的二维...
  • Unity游戏客户端面试(2019)

    万次阅读 多人点赞 2019-08-02 13:55:24
    该公司是由VR转型成游戏行业的公司,公司正在研发的是一款二次元卡牌养成游戏,目前有10+人,使用Unity,C#,uLua开发。 公司有8道笔试题,只记得7道题: 1.是否熟悉UGUI,Dotween 2.animator是什么 3.animation动画...
  • Unity版本:Unity 2018.2.14f1 ... 教程目录(持续更新中): Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 ...Unity游戏开发官方入门教程:飞机大战...Unity游戏开发官方入门教程...
  • Unity版本:Unity 2018.2.14f1 ... 教程目录(持续更新中): Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 ...Unity游戏开发官方入门教程:飞机大战...Unity游戏开发官方入门教程...
  • Unity游戏引擎介绍及相关学习资源

    千次阅读 2019-11-26 23:54:55
    Unity游戏引擎)一般指Unity3D 官网: https://unity.com/ 手册:https://docs.unity3d.com/Manual/ Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等...
  • Unity版本:Unity 2018.2.14f1 ... 教程目录: Unity游戏开发官方入门教程:飞机大战(一)——创建新项目、导入资源、设置场景 Unity游戏开发官方入门教程:飞机大战(二...Unity游戏开发官方入门教程:飞机大战(三...
  •  1*创建物体 Create菜单下 3D Object菜单下Cube 1.1设置属性x100 z100作为地面  1.2在创建一个立方体物体 1.3 Create菜单下 3D Object菜单下Cube    1.4复制立方体 创建一个空物体放立方体 ...#...
  • 目标:获取Unity游戏物体上,所挂载组件的所有名称 Component[] componments2 = GameObject.Find("CameraCloneCal").GetComponents&lt;Component&gt;(); for (int i = 0; i &lt; ...
  • Unity游戏开发--30s制作精美地图

    千次阅读 2014-04-19 14:41:27
    Unity游戏开发之地图制作。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,729
精华内容 13,891
关键字:

unity游戏