概述本篇博客作为上一篇文章【Unity2D案例学习——背包系统制作】()的补充内容,同样来自b站up主M_Studio 在之前的制作中,该项目已经可以实现在Unity引擎中的正常运作——玩家可以收集场景物品到背包中,在背包中拖拽调整物品的位置,并在数据库文件中保存这些操作数据。但将游戏导出后,运行时所作的操作并不能保存到下一次游戏的开启。因此我们需要学习保存和读取ScriptableObject通
转载 2024-03-21 09:30:03
81阅读
我们知道unity可以使用任何建模软件构造的3D模型,但是有一些简单的模型,或者临时测试对象,就不必要使用建模软件来构造了,因为那样效率非常低下。比如你正在测试一个算法,只需要一个物体就可以代表一辆汽车在运动了。因此,unity提供了一些基本的模型创建,命名为Cube(立方体),Sphere(球体), Capsule(胶囊体), Cylinder(圆柱体), Plane(平面)和 Quad(四方形
转载 2024-04-21 18:52:08
127阅读
                        图  一个使用gpu instance绘制4000棵树的场景          在3D渲染中,尤其是现代3D游戏中,我希望能够绘制越来越多的场景物体,这对于设备(
转载 2024-08-03 19:16:02
38阅读
                                                  图  一个使用gpu instanc
转载 2024-05-26 17:04:43
110阅读
一、简答题1. 解释游戏对象(GameObjects)和资源(Assets)的区别与联系游戏对象(GameObjects) 首先我们我们来看一下Unity官方是怎么描述游戏对象的:游戏对象是 Unity 中的基础对象,表示角色、道具和景物。它们本身并没有取得多大作为,但它们充当组件的容器,而组件可实现功能。为了向游戏对象提供成为光源、树或摄像机所需的属性,需要向游戏对象添加组件。根据要创建的对象类
1、介绍2、滚一个骰子3、导入模型4、添加脚本5、方法6、识别骰子上的随机面值 客观的这篇文章的主要目的是给你一个关于如何在Unity 3D中掷骰子的想法。 第一步介绍1、构建一个棋盘游戏,但对骰子有问题;这里是一个示例代码,演示如何像真正的骰子一样掷骰子,以及如何在游戏控2、制台上识别骰子的表面值。3、这个问题分为两个主要部分:4、如何掷骰子?5、确定在1和6之间的随机整数(
转载 2024-05-18 03:06:15
224阅读
1.什么是UGUI优化,UGUI优化的理论基础1.1理论基础 Canvas, 是Unity渲染系统给层状几何体( layered geometry  )提供的可以被画入、被放在上面或者放在世界空间的底层Unity组件。Canvas负责将它包含的几何体组合成batch,生成合适的渲染命令发送给Unity图形系统。这个过程在底层的C++代码中完成,这个过程被称为
转载 2024-08-12 14:51:29
68阅读
合并网格的目的为了方便Call Drall 静、动态批处理优化为了方便模型部分更换、换装什么模型适合合并网格并不是越多模型合并越好哦。那是没有任何意义的。因为他们依旧是一个复杂的模型。 颗粒度较高、相对静态、重复率较高的模型组合,都适合合并 。比如重复率较高的建筑模型、物品。合并网格的几种方法1 静态物体自动合并(不会改变结构也不会移动的物体,适用于背景)所有被设置为静态的物体的Mesh Filt
转载 2024-04-03 20:12:20
232阅读
目录(一)通过Transform组件移动物体(二)通过Rigidbody组件移动物体(三)通过CharacterController组件移动物体(一)通过Transform组件移动物体Transform.positionTransform 组件用于描述物体在空间中的状态,它包括 位置(position),旋转(rotation),缩放(scale)。可直接操作Transform来修改物体的位置(p
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我。我看很多人喜欢在类里面去保存GameObject对象。解决GameObject.Find()无法获取天生activie = false的问题。 private GameObject root; 我觉得你最好不要保存GameObject ,而是去保存Trans
转载 2024-03-24 12:28:56
149阅读
目录1.减小纹理文件大小2.谨慎地使用Mipmap3.避免使用 .PSD 和 .TIFF源文件4.调整Anisotropic filtering(各向异性过滤)等级5.使用图集6.调整非方形纹理的压缩率面板参数的意思和用途官网已经给了详细的使用手册,这里不在赘述,有不明白的地方,请自行移步到:Texture Import Settings - Unity 手册 从以下几个方面可以优化纹理
一、Scene 场景简介、二、添加游戏物体、三、操作游戏物体、1、选中游戏物体、2、场景显示效果缩放、3、重命名游戏物体、4、复制游戏物体、5、删除游戏物体
原创 2022-11-13 01:26:06
235阅读
序列化变量后拖游戏对象的方法就不说了,最简单也是最麻烦的方法。1.GameObject.Find()通过场景里面的名子或者一个路径直接获取游戏对象。 GameObject root = GameObject.Find(“GameObject”);我觉得如果游戏对象没再最上层,那么最好使用路径的方法,因为有可能你的游戏对象会有重名的情况,路径用“/”符号隔开即可。GameObject ro
转载 2024-03-28 16:40:32
63阅读
Unity3D实战】RPG黑暗之光Scene3:创建游戏运行场景及角色控制1、创建场景: 基于上一个场景做一份拷贝,删除UI Root下的所有组件(除Camera外)。删除CharacterCreation物体。 2、标签管理: 创建脚本Tags.cs管理全局的标签。比如: public const string ground = "Ground"; //const 标明这个是一个共有的不可变的
转载 2024-08-20 15:12:33
33阅读
角色信息:指一切表征虚拟角色成长路线的信息,如生命值、魔法值、经验值等等。道具信息:指一切表征虚拟道具数量或者作用的信息,如药品、道具、装备等等。场景信息:指一切和游戏场景相关的信息,如场景名称、角色在当前场景中的位置坐标等等。事件信息:指一切和游戏事件相关的信息,如主线任务、支线任务、触发性事件等等。手动建立数据实体和数据字符间的对应关系和基于XmlSe
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我。我看很多人喜欢在类里面去保存GameObject对象。解决GameObject.Find()无法获取天生activie = false的问题。private GameObject root ;我觉得你最好不要保存GameObject ,而是去保存Transfo
转载 2024-04-23 20:11:27
27阅读
第一部分 --- 对象的创建和观察方式1.创建方式分为两种:一.在层级面板中鼠标右键创建和用顶上的gameobject来创建2.平面(quad)和四边形(plane)的区别:在引擎中物体都是由网格(三角形)构成的其中平面是由很多的三角形组成的,而四边形则是由较少的三角形组成换句话说,平面是由很多的四边形组成的然后平面和四边形都有一个特点:它们都是单面,只有一面可视,另一面是不可视的 4.
       层次细节(LOD),它是根据物体游戏画面中所占视图的百分比来调用不同复杂度的模型的。简单而言,就是当一个物体距离摄像机比较远的时候使用低模,当物体距离摄像机比较近的时候使用高模。这是一种优化游戏渲染效率的常用方法,缺点是占用大量内存。使用这个技术,一般是在解决运行时流畅度的问题,采用的是空间换时间的方式。 &nb
本篇简介本文介绍如何将碰撞处理后的物体存储在管理器中,分别用到两种不同的数据结构——List和Dictionary。我们将继续在上一篇博客的编程基础上进行完善。List和Dictionary的区别List:只由一种类型(将被列入列表的类型)声明。当收集同一种类的多个物品时,将看到的所有物品都列出,而不是将同类型的物品合并。Dictionary:声明了键(即标识符)和值的类型。即会将标识符相同的物品
一、 游戏物体 GameObject 的坐标、二、 修改 游戏物体 GameObject 的本地坐标
原创 2022-11-20 15:04:51
1202阅读
  • 1
  • 2
  • 3
  • 4
  • 5