自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 2021-06-24

自己整理的面试题之1111.Unity3d中的碰撞器和触发器的区别?碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性。当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数;当Is Trigger=true时,碰撞器被物理引擎所忽略,没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数。如果既要检测到物体的接触又不想让碰撞检测影响物体移动或要检测一个物件是否经过空间中的某个区域这

2021-06-24 08:46:38 87

原创 2021-06-15

对象池在使用unity3d做游戏时,经常有同一个Prefab用到多次,需要反复实例化(Instantiate)。但实例化是很消耗资源的,所以在游戏加载时把一批Prefab实例化好放在对象池中,游戏中用的时候拿出来,不用的时候放回去,避免反复申请和销毁。存入对象池的元素应具有如下特征:1>场景中大量使用 2>存在一定的生命周期,会较为频繁的申请和释放。作用;减少内存,优化游戏流畅程度。using System.Collections;using System.Collections.Ge

2021-06-15 18:16:53 69 2

原创 2021-06-03

内存优化1.纹理尺寸一般来说,纹理尺寸越大,则内存占用越大。如果512x512的纹理对于显示效果已经够用,那么就不要使用1024x1024的纹理,因为后者的内存占用是前者的四倍。2.纹理格式:不仅影响着纹理的内存占用,同时还决定了纹理的加载效率。3.色阶问题:由于ETC、PVRTC等格式均为有损压缩,因此,当纹理色差范围跨度较大时,均不可避免地造成不同程度的“阶梯”状的色阶问题。可以使用RGBA32/ARGB32格式来实现更好的效果。该压缩会造成很大的内存占用。一定要慎重使用RGBA32或A

2021-06-03 16:26:46 55

原创 2021-05-19

进程有自己独立的堆和栈,即不共享堆也不共享栈,进程由操作系统调度线程拥有自己独立的栈和共享的堆,共享堆不共享栈,线程亦有操作系统调度(标准线程是这样的)协程和线程一样共享堆不共享栈,协程由程序员在协程的代码里面显示调度一个应用程序一般对应一个进程,一个进程一般有一个主线程,还有若干个辅助线程,线程之间是平行的,在线程里面可以开启协程,让程序在特定的时间内运行。协程和线程的区别是:协程避免了无意义的调度,由此可以提高性能,但也因此,程序员必须自己承担调度的责任,同时,协程也失了标准线程使用多CPU的能

2021-05-19 09:56:04 66

原创 UNITY

多细节优化1.在模型对象的父对象身上添加LOD Group组件。2.可以看到在模型对象的父对象上有LOD Group组件,然后有四个LOD层级,分为LOD0,LOD1,LOD2,Culled,LOD 0 对应高精度模型,以下依次降低。3.Bias LOD:LOD级别的选择是基于物体在屏幕上的大小。当物体大小在两个LOD级别之间,可以选择使用低细节模型或高细节模型。数值取值范围为0-1,数值越接近0,越偏向于选择低细节模型。遮罩剔除1.使用遮挡裁剪,首先要打开Occlusion Culling面板,

2021-05-13 17:37:53 178

原创 UNTIY

unity实现场景跳转1.在Unity选项File中找到里面的Build Setting打开,然后打开场景把需要的场景按顺序点击Add Open Scenes添加到里面2.添加BUTTON在对应的button的onclick下面点击+,添加点击事件,将对应的button拖进去,并选择脚本里面定义的方法(先把脚本拖入Inspector),将要跳转进入的scene的数字写进去,脚本代码如下:using UnityEngine;using UnityEngine.SceneManagement; //Un

2021-05-13 17:12:54 114

原创 2021-04-27

见缝插针**加粗样式**1.创建2D项目,导入素材 将圆拖入Hierarchy面板。2. 写个代码让圆旋转,命名为Rotate,将脚本挂到圆的身上。3. 代码如下;using System.Collections;using System.Collections.Generic;using UnityEngine;public class Rotate : MonoBehaviour{public float speed = 100;//圆旋转速度// Start is calle

2021-04-27 21:59:10 131

原创 2021-04-22

发布游戏加粗样式1.单击菜单栏“File”按钮,在打开的菜单栏中选择“Build Settings…”命令。如图所示单击“Add Open Scenes”按钮,将当前打开场景添加到场景列表中。目前这个游戏只有一个场景,但是一般游戏至少有两个或者更多场景,在打包发布的时候,需要将所有的场景都添加在这个场景列表中。2.单击左下角“Player Settings…”按钮。在检视视图中,将看到PlayerSettings的各个属性设置Company Name:指定公司名称,该名称会影响到在Windows

2021-04-22 18:31:16 64

原创 2021-04-22

AI寻路1.通过“Window/Navigation”打开“Navigation”视图。选中你要烘焙的对象。确保选中了游戏对象,并确保选中了“Object”选项卡中的“Navigation Static”复选框。*窗口标签四个标签Agent:定义NavMesh Agent(导航网格代理)的大小等。Areas:和上一章学过的层(Layer)比较类似,可以指定经过某个Areas所花费的代价。Bake;(烘焙):配置NavMesh的属性。Object:列出已经添加到NavMesh的GameObject

2021-04-22 18:14:37 56

原创 2021-04-17

枚举Pubilc;访问修饰符,公共的,哪里都可以访问Enum声明枚举的关键字枚举名要符合pescal规范将枚举声明到命名空间下面,类的外面,表示所有的的类都可以使用这个枚举。语法;;;[public] enum枚举名{值1值2值3…}枚举就是一个简单的变量类型,int,double,string只是声明,赋值,使用的方式不一样。namespace ConsoleApp1{/[public] enum枚举名{值1值2值3…}//public enum Gende

2021-04-17 23:31:51 53

原创 2021-04-11

制作小地图俩种移动代码1.人物移动代码void Update(){float v = Input.GetAxisRaw(“Vertical”);float h = Input.GetAxisRaw(“Horizontal”);//复制不要手打transform.Translate(new Vector3(h, 0, v) * speed * Time.deltaTime);}}2.void Update () {if (Input.GetKeyDown(KeyCode.W)){th

2021-04-11 14:27:00 58

原创 c#基础小知识

c#基础小知识程序结构引用命名空间名称类方法语句面向对象封装(Encapsulation)所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对

2021-04-02 19:55:42 46

原创 2021-04-02

简单AR制作过程:1.创建unity工程2.打开浏览器,https://developer.vuforia.com/license-manager3创建账号密码进行登录4.点击develop 点击get development key5.起名字、打对勾、点击confirm6.打开百度搜索图片 保存7.点击target manager 点击 add8.创建成功之后点进去 点击 add target9.成功之后点击 download database10.打开unity工程 导入 vufor

2021-04-02 12:53:45 97

原创 第一个小项目 使物体移动

1、小鸟的移动bird有刚体组件如上图初始时没有重力(因为这里设定刚进入游戏时小鸟没有动作,点击鼠标后才激活),getlife函数的rigidbody.useGravity=true使小鸟开启了重力,之后的this.rigidbody.velocity = new Vector3(2,0,0);给了它水平(x轴)方向的初速度。velocity描述角色当前的相对速度。左键按下实现上跳,首先获得当前速度,然后改变y方向(实际情况各不相同)的速度,实现向上的动作。这样结合上面的代码就能实现小鸟的移动了。

2021-02-17 15:01:09 138 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除