- 2024-07-29Unity GameObject学习笔记
GameObject成员变量GameObject静态方法//准备用来克隆的对象//1.直接是场景上的某个对象//2.可以是一个预制体对象publicGameObjectMyobj;#region知识点二GameObject中的静态方法创建自带几何体只要得到了一个GameObject对象我就
- 2024-07-22SubScene不是Scene,是GameObject
有人问我如何通过Editor代码往SubScene里面加东西?说在Scene相关的类里面都没有找到合适的函数。找不到就对了,因为SubScene不是Scene,是GameObject。可以试试这样的操作:建立一个GameObject给这个GameObject添加一个叫SubScene的脚本在脚本的SceneAsset中,选择一个之前保存过的
- 2024-07-18Unity——常用快捷键
(一)场景编辑(Scene)移动(GameObject):W旋转:E缩放:R(三维缩放,GameObject不会变形);T(单向缩放,GameObject会变形)以物体为中心观察:Alt+鼠标左键(第三人称视角)第一人称视角观察:鼠标右键加滑动缩放画面:Alt+鼠标右键将选中的对象放在屏幕中心:F(双击GameObject也有相同效果)相机视角调整与
- 2024-07-16获取父子物体
获取父节点vartransform=gameObject.transform.parent;//获取父级的变换组件varparent=gameObject.transform.parent.gameObject;//获取父级节点Debug.Log(parent.name);获取子节点的三种方式//方式一遍历,只能获取到子节点,不能获取到孙子节点foreach(Transform
- 2024-07-14参数的引用类型
publicGameObjecttargetGameObject;[Tooltip("移动速度")]publicfloatspeed=0.02f;privatevoidAwake(){Application.targetFrameRate=60;}//StartiscalledbeforethefirstframeupdatevoidStart()
- 2024-07-14帧更新
帧率观察:Debug.Log("**帧更新Time:"+Time.time);//游戏时间,也就是从开始到现在的时间长度Debug.Log("**帧更新Time:"+Time.deltaTime);//距离上一次更新的时间差帧率是不固定的Unity不支持固定帧率,但可以设置一个近似帧率Application.targetFrameRate=60;
- 2024-07-02Unity写个多用对象池
1.介绍游戏开发中我们会频繁使用到预制体来优化内存,优化性能,增强游戏表现。当要使用的预制体次数很多,创建销毁很频繁时,为了方便管理、提升性能,我们需要一个对象池。一般使用单例+一个预制体+一个存储类型就能做出一个简单的对象池。但当我们需要对很多种物体进行对象池管理时
- 2024-07-01动态添加Timeline轨道和片段
上图是利用代码制作的,下图是原来的样子:如下代码是动态创建各种Timeline轨道的代码:(控制角色碰撞到Cube触发以下的Timeline动画)usingCinemachine;usingUnityEngine;usingUnityEngine.Events;usingUnityEngine.Playables;usingUnityEngine.Timeline;publiccla
- 2024-06-21Unity初始位置初始化设置
一、Transform面板介绍参数说明: Position:位置; Rotation:角度; Scale: 比例。二、在Transform面板填写参数,如图所示:三、编写代码转换物体位置、角度、比例 1、位置转换:代码说明: 将目前游戏
- 2024-05-03Unity 热更--AssetBundle学习笔记 1.0【AB包资源加载工具类的实现】
工具类封装通过上文中对AB包加载API的了解和简单使用,对AB包资源加载的几种方法进行封装,将其写入单例类中,如代码展示。确保每个AB资源包只加载一次:在LoadAssetBundleManager单例工具类中,首先提供基本的AB包及其AB包依赖包的加载方法,为保持AssetBundle只加载一次,使用DIctionary
- 2024-04-29Unity游戏框架设计之单例Mono
Unity游戏框架设计之单例Mono简单介绍在编写Unity脚本的过程中,我们通常需要编写一些依赖于MonBehaviour生命周期且全局始终唯一的类,比如EventManager、TaskManager、ResourceManager和UIManager等等。我们可以基于单例模式,设计出名为SingletonMono的单例类,然后让拥
- 2024-03-26unity+单例
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassModuleManage:MonoBehaviour{privatestaticModuleManage_instance;publicstaticModuleManageInstance{get{if(_ins
- 2024-03-17基于Unity3d的google小恐龙游戏8-------背景音乐与第六个BOSS
前言大家好,上一次unity练习记录中我添加了背景以及第五个boss,丰富了一下游戏内容,但是玩的时候发现好像有一些空洞,所以决定再次添加一些东西。本次练习主要是想要搞两个UI,以及背景音乐,然后再添加一个新的boss。其实我也很想再添加一些小怪,这些就是后话了。先把前面三个功能添加
- 2024-03-15对象池与享元模式
在我人生的第一次面试中,面试官问我:可以举几个例子吗?关于Unity中可能用到的设计模式。我当时对设计模式的学习并没有很深入,因此回答了:对象池应该是享元模式。但很快遭到了他的否决,我再次提议,应该是享元,但他还是摇了摇头。毕竟是公司主程,我只能低下头表示,自己会回去看看。在9个
- 2024-01-24Unity3D 游戏转场时如何保留节点信息详解
Unity3D是一款非常强大的游戏开发引擎,它提供了丰富的功能和工具,使开发者能够轻松创建各种类型的游戏。在游戏开发过程中,转场是一个非常常见的需求,它可以使游戏过程更加流畅和连贯。然而,在转场过程中,如何保留节点信息是一个需要解决的问题。本文将详细介绍Unity3D游戏转场时如何保
- 2023-12-28Unity3D 如何提升游戏运行效率详解
前言Unity3D是一款非常强大的游戏引擎,但是在处理复杂场景和大量资源时,游戏运行效率可能会遇到一些问题。本文将详细介绍如何提升Unity3D游戏的运行效率,包括技术详解和代码实现。对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀使用合适的资源压缩
- 2023-12-27Unity3D 如何提升游戏运行效率详解
Unity3D是一款非常强大的游戏引擎,但是在处理复杂场景和大量资源时,游戏运行效率可能会遇到一些问题。本文将详细介绍如何提升Unity3D游戏的运行效率,包括技术详解和代码实现。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术
- 2023-12-23Unity 刷新文本
privatevoidrefreshContentSizeFitters(){//获取contentParent下的所有ContentSizeFitter组件ContentSizeFitter[]contentSizeFitters=gameObject.GetComponentsInChildren<ContentSizeFitter>();for(inti=0;i<contentSize
- 2023-12-19Unity3D 程序员常用的核心类及方法详解
Unity3D是一款强大的游戏引擎,广泛应用于游戏开发领域。作为Unity3D程序员,掌握常用的核心类及方法是非常重要的。本文将详细介绍Unity3D中程序员常用的核心类及方法,并给出代码实现。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发
- 2023-11-14Unity-对象池 & 多对象池
Unity-对象池&多对象池简介 在制作游戏的过程中,人物和boss的设计往往会有释放多个子弹的攻击方式。我们可以用直接创造子弹然后销毁的办法来实现这些技能的效果,但当子弹开始变多,游戏就会不断的消耗我们的内存。为了解决这个问题,开发者们就引入了状态机。普通对象池创建思
- 2023-10-25Unity DOTS系列之Filter Baking Output与Prefab In Baking核心分析
最近DOTS发布了正式的版本,我们来分享一下DOTS里面Baking核心机制,方便大家上手学习掌握UnityDOTS开发。今天给大家分享的Baking机制中的FilterBakingOutput与PrefabInBaking。FilterBakingOutput机制在默认情况下,Baking会为每个GameObject生成的Entity与Component,
- 2023-10-25Unity中GameObject对象的方法Find,FindGameObjectsWithTag等API的使用方法
Unity中GameObject对象的方法Find,FindGameObjectsWithTag等API的使用方法.Find(stringname):.FindGameObjectsWithTag(stringtag):.FindGameObjectWithTag(stringtag):.FindWithTag(stringtag):在Unity中,GameObject类具有一些用于查找和操作游戏对象的方法。.Find(stringna
- 2023-10-18在Unity的Inspector面板显示一个按钮
在Unity的Inspector面板显示一个按钮这个脚本应该放置Unity的Assets文件夹下的Editor文件夹下。usingUnityEngine;usingUnityEditor;usingSystem.Collections.Generic;namespacewyhTools{[CustomEditor(typeof(InspectorShortcutButton))]//替换"YourScript"
- 2023-10-09Inspector中预览预制体
原理:用相机拍摄预制体,生成一张预览图 需要注意:1)GameObject.Instantiate实例化预制体后,要等待几帧才能获取到正确的Transform参数,刚创建就获取可能是不对的。 2)预制体预览有两种实现方式,一种是继承Editor然后重写OnPreviewGUI;另一种是继承ObjectPreview然后重写OnPrevie
- 2023-10-01AssetDatabase.LoadAssetAtPath 获取FBX资源空指针问题
问题一 LoadAssetAtPath返回空publicclassProcessModel:AssetPostprocessor{privatevoidOnPostprocessModel(GameObjectinput){if(input.name!="Enemy2b")return;//取得导入模型相关信息ModelImporterimporter=ass