- 博客(34)
- 收藏
- 关注
原创 unity资源管理之Addressable
unity自带了AssetsBundle的机制,Addressable是在AssetsBundle的机制上封装了一下。
2022-11-29 00:42:09
1303
3
原创 数据结构 特性 部分阐述
栈1.栈只能在一端对数据进行操作,也就是栈顶端进行操作。2.栈也是一种内存自我管理的结构,压栈自动分配内存,出栈自动清空所占内存。3.栈中的内存不能动态请求,只能为大小确定的数据分配内存,灵活性不高,但是栈的执行效率很高。4.栈的可用空间并不大,所以我们在操作分配到栈上的数据时要注意数据的大小带来的影响。...
2021-07-01 10:07:29
88
原创 OpenGL (C++版本) 部分基础API
OpenGL (C++版本)流程简介由 main函数开始glfwSwapInterval 和 glfwSwapBuffers 函数 开启垂直同步glfwSwapBuffers函数 用于绘制屏幕glfwPollEvent 函数用于响应事件当用户关闭GLFW窗口时 程序退出渲染循环 main 调用 glfwDestroyWindow 和glfwTerminate 通知GLFW销毁窗口及终止运行。glDrawArrays 管线中的GLSL代码开始执行OpenGL 创建每...
2020-12-15 17:26:07
552
转载 unityGPU优化之批处理的静态与动态
在屏幕上渲染物体,引擎需要发出一个绘制调用来访问图形API(iOS系统中为OpenGL ES)。每个绘制调用需要进行大量的工作来访问图形API,从而导致了CPU方面显着的性能开销。 团结在运行时可以将一些物体进行合并,从而用一个绘制调用来渲染他们。这一操作,我们称之为“批处理”。一般来说,团结批处理的物体越多,你就会得到越好的渲染性能。 Unity中内建的批处理机制所达到的效果...
2018-12-01 21:29:04
661
1
转载 Unity3d内存优化相关因素
Unity3D 对于移动平台的支持无可厚非,但是也有时候用Unity3D 开发出来的应用、游戏在移动终端上的运行有着明显的效率问题,比如卡、画质等各种问题。 影响因素:Drawcall 值过大,所需要的 GPU 的处理性能较高,从而导致CPU的计算时间过长,于是就卡了。 点、面过多,GPU 根据不同面的效果展开计算,并且CPU计算的数据也多,所以效果出来了。 优化方式:对于模型...
2018-11-21 16:06:04
283
转载 静态库和动态库的相关解释
库的作用首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用。 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件。另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会...
2018-11-21 15:08:10
287
原创 C#在unity中关于类序列化的简述
一个类如果不是继承MonoBehaviour,那他的对象在public的情况下也不会在属性面板显示。如果某个字段想故意在unity属性面板隐藏可使用[HideInInspector]//设置在面板中隐藏(不影响其他属性)此时需要手动将他序列化可以使用[Serializable]属性将类标志为可序列化的。如果某个类的元素不想被序列化,1、2可以使用[NonSerialized...
2018-09-21 15:11:00
2184
转载 EventSystem.current.IsPointerOverGameObject()方法,作用:判断点击是否点击在UI上。
这几天在做捕鱼达人游戏时发现,当鼠标点击UI时,炮台的子弹也会发射子弹,这样会影响用户体验。然后网上百度了一波,发现在UGUI系统上,的EventSystem提供了一些方法。那就是EventSystem.current.IsPointerOverGameObject()方法,作用:判断鼠标是否点击在UI上。因此,我们可以在开火前做一个判断在窗口端进行判断时使用:if(Input...
2018-09-21 14:46:52
15043
转载 C#中的接口interface的使用
interface类似于C++中的继承基类的虚函数,子类重写方法后。将调用对应子类的方法。原文档https://blog.csdn.net/qq_36922335/article/details/73339342 接口是指定一组函数成员而不实现他们的引用类型。所以只能类和结构来实现接口,在继承该接口的类里面要实现接口的所有方法。一、在定义接口时候要注意如下几点:1.接口声明...
2018-09-04 11:43:52
38988
原创 图形学中纹理贴图的代码
#include <Windows.h>#include <mmsystem.h>#include <d3dx9.h>#pragma warning( disable : 4996 ) // disable deprecated warning #include <strsafe.h>#pragma warning( default : ...
2018-09-03 09:57:36
1957
转载 C++中虚析构函数的作用
C++中的虚析构函数到底什么时候有用的,什么作用呢。一.虚析构函数的作用总的来说虚析构函数是为了避免内存泄露,而且是当子类中会有指针成员变量时才会使用得到的。也就说虚析构函数使得在删除指向子类对象的基类指针时可以调用子类的析构函数达到释放子类中堆内存的目的,而防止内存泄露的.我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:...
2018-09-02 10:26:22
366
转载 C++中override关键字的使用
override关键字作用: 如果派生类在虚函数声明时使用了override描述符,那么该函数必须重载其基类中的同名函数,否则代码将无法通过编译。 举例子说明struct Base { virtual void Turing() = 0; virtual void Dijkstra() = 0; virtual void VNeumann(int g) = 0;...
2018-09-01 16:13:52
5733
3
原创 图形学中D3DPRIMITIVETYPE的几种类型名称
typedef enum _D3DPRIMITIVETYPE { D3DPT_POINTLIST = 1, D3DPT_LINELIST = 2, D3DPT_LINESTRIP = 3, D3DPT_TRIANGLELIST = 4,//三角形列 D3DPT_TRI...
2018-08-21 19:35:58
468
原创 图形学中画正方形的几种方式
1)利用三角形列绘制一个正方形顺时针划线,每个点都是单个数据源,只能单词使用。因此两个三角形需要六个点(哪怕重合也需要六个点) 2)利用三角形带绘制一个正方形四个点可组成两个三角形,第一个三角形必须顺时针,第一个三角形的bc边作为第二个边的起始边。如果第二个三角形个第一个三角形有一部分重叠 则第二个三角形将不被打印。 3)利用三角形扇绘制一个圆四个点即可构成...
2018-08-21 19:34:57
3997
原创 unity中UGUI中自动排序组件及滚动视图
1.自动排列 1.创建空物体 Horizontal Layout Group:横向排列 Padding:间隔 Spacing:子物体之间的距离 Vertical Layout Group:纵向排列 Grid Layout Group: cell Size:格子大小 2.将控件作为容器的子物体2.滚动效果 1.创建Image,...
2018-08-17 08:35:34
5681
原创 unity 中音效管理的部分知识
背景音乐:长且循环播放音效:仅播放一次Audio Listener:耳朵Audio Source(背景音乐):Audio Chip:声音片段Mute:是否禁用Play on Awake:开始时播放Loop:是否循环Volume:音量打包PC:Icon:图标Cursor:光标Defualt is full Screen:默认全屏,可取消Display Resoulus...
2018-08-17 08:28:44
1512
原创 unity 中碰撞器和触发器
碰撞的必要条件:两者都必须有碰撞器,其中至少一者有刚体(Rigibody)Rigidbody2D(Sprite):Gravity Scale:重力缩放值:为1有重力,0表示无重力.Rigidbody:触发的必要条件:两者都必须有碰撞器,其中至少一者有刚体(Rigibody),其中至少一者的碰撞器的isTrigger改为true.碰撞的三个阶段函数:3D://碰撞进入void...
2018-08-17 08:24:26
765
原创 Unity中射线描述
UI的坐标与屏幕的坐标相同,且射线是在摄像机的区域内的,因此射线无法射向UI要显示射线需添加LineRenderer组件,如添加前物体在UI层上,添加后则会自动到摄像机的屏幕坐标。 射线的创建和显示Ray射线类和RaycastHit射线投射碰撞信息类是两个最常用的射线工具类。创建一条射线Ray需要指明射线的起点(origin)和射线的方向(direction)。这两个参数也...
2018-08-10 09:49:09
751
原创 UGUI中复选框及单选框的使用
1.Toggle:复选框 1.创建空物体,挂载Toggle脚本 2.创建Image作为空物体的子物体,背景 3.创建Image作为背景的子物体,勾选 Toggle组件: Target Graphic:目标图片 Is on:开始的状态 Graphic:勾选图片 Group:组2.单选框:属于同一组下的Toggle只能isOn一个 1.创建空物体,挂载Tog...
2018-08-09 19:47:36
3066
原创 C#中Event的点击拖拽等时间的相关注释
首先加上事件响应的命名空间using UnityEngine.EventSystems在类后面加上继承事件相应的接口:public class JoySatick:MonoBehaviour,IPointerDownHandler这接口包括:* IBeginDragHandler:开始拖拽时 * IDragHandler:拖拽时 * IEndDragHandler:停止拖拽...
2018-08-09 19:39:02
162
原创 unity 3D中的UGUI
UGUI:Unity自带的UI系统NGUI:外部插件1.Hierichy-create-UI2.Image Rect Transform:继承于Transform Pivot:轴心(物体位置点,蓝色的小圆圈),左下角为原点,右上角为(1,1) Anchor:锚点(适配,4个小白色的三角形,取值(0-1)) MinX: MaxX: MinY: Max...
2018-08-09 15:41:33
351
原创 查找游戏物体或组件
//查找子物体//transform.Find("子物体名称");//子物体的Transform组件对象//transform.Find("子物体名称").gameObject; //transform.GetChild(0);//索引:从0开始//查找第一个子物体可以配合相应的函数对子物体进行操作,如用Destroy()方法删除对应的子物体//查找父物体//transfo...
2018-07-31 19:08:23
395
原创 在unity 3d 5.51中有关摄像机的部分参数及物体的中(激活[setActive]、启用[enable])状态
3.继承的三根线: * 脚本-MonoBehaviour-Behaviour-Component-Object * GameObject-Object * 组件-Component-Object * 4.添加/删除/获取组件的方法? * 获取:GetComponent<T>(); * 删除:Destory(组件对象); * 添加:AddComponent<T...
2018-07-31 18:33:42
886
原创 unity 自身方向 转成世界方向的方法重写及自身坐标转成世界坐标的方法重写
//1.要转换的方向 2.依赖的Transform对象 Vector3 TransformDirection(Vector3 direction,Transform trans) { Vector3 vec = trans.right * direction.x + trans.up * direction.y + ...
2018-07-24 20:03:17
2921
原创 C#中类的相关权限关系
访问权限 class 类名 :父类(默认为共有继承)等价于C++中类定义的形式为:class 类名:访问权限 父类类名必须与脚本名称保持一致。类的访问权限:public:公有的,可以在任意程序集中访问(.dll/一个项目)。internal(默认访问权限):内部的,只能在当前程序集中访问。成员变量的访问权限:定义格式:访问权限 类型 变量名,例 public int...
2018-07-24 19:59:41
949
原创 Unity RotateAround固定旋转
当前显示的为本地坐标系 //旋转视野void rotateVeiw(){float x=Input.GetAxis("Mouse X");float y=Input.GetAxis("Mouse Y");//函数参数(旋转点,旋转轴,旋转量) 旋转效果相当于旋转轴平移到旋转点上后 沿此轴旋转相应的量。例上图,如果沿本地坐标的Y轴旋转 则会...
2018-07-24 19:24:47
13436
原创 Unity 3D_基础理解之GameObject、gameObject、Transform、transform的区别
GameObject 是一个类型,所有游戏物体都是这个类的对象。gameObject 是GameObject类的实体对象(即具体的游戏物体,如cube,plan等),此对象中包含所有组件。例如:gameObject.transform.position//获取此实体中transform组件中的position位置信息。Transform是一个组件类,此组件中包含许多方法如获取它的位置,...
2018-07-19 09:06:47
2745
原创 C# 类的相关基础知识
//C#没有头文件的说法但可以添加命名空间 //例如:using UnityEngine;//使用命名空间//类的定义方法:访问权限 class 类名:父类(默认为公有继承)//例 public class B:A·····{ private int a; internal int b; protected i...
2018-07-19 08:29:17
200
原创 Unity 3D 入门_2018_7_17
1.创建项目-保存场景2.Hierachy:层级面板游戏物体的名称和层级关系) Scene:场景面板(对游戏物体操作/调节视角) 快速定位游戏物体:双击游戏物体的名称(F) 拉近拉远视野:鼠标滚轮 上下左右拖动视野:按住鼠标滚轮拖动 360度观察游戏物体:1.单击选中游戏物体 2.Alt+鼠标左键 第一人称:鼠标右键+WSAD...
2018-07-18 20:23:10
471
原创 cocos2d-xNode部分API
SP:精灵 // 设置锚点 spRed->setAnchorPoint(Vec2::ZERO);// 获取可视区域的大小 Size visibleSize = Director::getInstance()->getVisibleSize(); // 获取可视区域的原点 Vec2 pos = Director::getInstance()->getVisibleOrigin();...
2018-05-03 11:17:31
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人