unity3d
文章平均质量分 82
追梦人2020
路漫漫其修远兮,吾将上下而求索
展开
-
排序算法
冒泡排序时间复杂度:o(n2)空间复杂度: O(1)稳定性:稳定 /// <summary> /// 冒泡排序 思想 两两对比 /// </summary> public void BubbleSort() { for(int i=0; i<list.Count; i++) { ...原创 2020-04-07 20:44:24 · 140 阅读 · 0 评论 -
粒子特效在Scrollview中裁剪
using System.Collections;using System.Collections.Generic;using UnityEngine;public class EffectClip : MonoBehaviour{ [SerializeField] RectTransform m_rectTrans;//遮挡容器,即ScrollView List&...原创 2020-04-03 14:33:44 · 608 阅读 · 0 评论 -
u3d的粒子特效与ui的层级问题
转载https://www.cnblogs.com/Bright-King/p/9205534.html转载 2020-04-03 13:21:02 · 672 阅读 · 0 评论 -
u3d精灵帧动画制作
精灵动画制作精灵动画需要准备多张连续播放的精灵帧或者精灵表。如果使用精灵表需要进行切割,这里以使用多张独立精灵帧图为例制作精灵动画准备多张精灵帧制作精灵帧动画Animation...原创 2020-03-21 20:41:30 · 336 阅读 · 0 评论 -
对c#中await和async的理解和使用方法
await和async的使用可以使c#异步编程变得更加方便容易传统的异步编程是通过创建一个线程执行一个任务并传入一个回调函数,当任务执行结束后自动调用这个回调函数来实现异步编程示例代码如下 static void Main(string[] args) { Console.WriteLine($"线程1:{Thread.Curr...原创 2020-03-05 17:14:55 · 651 阅读 · 0 评论 -
四、u3d内存优化
u3d内存分类1、托管堆占用内存 托管堆占用的内存是由Mono分配和管理的,mono占用的内存是只增不减的,运行时一旦发现内存不够,mono会进行gc,如果还是不够,曾会向系统申请内存。但是用过之后,不用了的内存并不会再然后给系统1、这里一般检查代码问题,检查内存泄漏 ,比如不用的对象及时destory或者设置为null,使其被及时GC掉,回收内存,2、另一个就是不要在update中ne...原创 2020-01-14 13:55:46 · 256 阅读 · 0 评论 -
三、u3d资源打包
AssetBundle assetbundle就是一种压缩包,可以将u3d项目中所用到的贴图模型声音视频等等资源打成ab包。这样在项目打安卓包 的时候就可以不将这些资源打进安卓包,在程序启动后从服务器上下载这些打好的ab包资源,从而可以减少安卓包本身 的包体大小,动态下载资源。而且可以通过资源检查方式实现资源热更新,不用强更。在u3d中首先将资源命名,如图打包代码:BuildPip...原创 2020-01-14 10:31:43 · 891 阅读 · 0 评论 -
u3d单点和多点触摸
平台判断 if (Application.platform == RuntimePlatform.WindowsEditor) { // windows } else if(Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer) {...原创 2020-01-08 13:20:33 · 232 阅读 · 0 评论 -
一、对c#内存的理解
一、c#内存 每个程序运行起来,都需要一个单独的进程,每个进程都会申请一块单独的内存空间用于程序的运行和计算使用。在C# 中这块内存可以分为以下几个内存区域。二、c#内存分类1、栈区 栈区空间由编译器管理,在代码编译时就分类了空间,存放函数的参数值、局部变量等,其中值类型的变量直接存储在 栈 中,引用类型变量将地址存储在栈区,地址所指向的真正的对象存储在堆区,栈的操作方式和数...原创 2020-01-07 11:04:10 · 652 阅读 · 0 评论 -
二、u3d中的多线程和协程
协程不是多线程,协程还是运行在主线程中,在u3d中非主线程不可以访问u3d的资源多线程一个u3d程序中有一个进程,进程中包含一个主线程以及可能存在的多个辅线程。进程之间的堆和栈是不共享的,每个进程有自己独立的内存空间,进程的调度是操作系统级的。主线程也是操作系统级的,由操作系统调配,在每个进程的主线程中,程序员可以手动创建多个辅助线程,这些线程之间不共享栈,共享堆。这些线程由创建者自己维护运行...原创 2020-01-06 14:25:07 · 431 阅读 · 0 评论 -
一u3d物体运动方式总结
运动本质u3d中物体运动的本质都是改变物体的positionTransform.Translate使物体在当前坐标下移动一段距离,可以设置根据本地坐标系还是世界坐标系horseGameObject.transform.Translate(Vector3.forward * horseMoveSpeed * Time.deltaTime);设置position简单粗暴直接修改物...原创 2020-01-03 14:35:40 · 590 阅读 · 0 评论 -
u3d碰撞器和触发器
碰撞器造成物理碰撞,执行碰撞方法1、碰撞的双方必须都具有碰撞器Collider2、至少运动的一方必须具有刚体3、双方不能勾选is trigger4、双方不可同时勾选运动学5、如果运动的一方没有刚体,当他去碰撞静止的刚体相当于没有撞到碰撞器方法1、oncolliderEnter 碰撞瞬间执行一次2、oncolliderstay 碰撞时一直触发3、oncollidere...原创 2020-01-03 10:35:20 · 451 阅读 · 0 评论 -
untiy3d坐标系以及向量运算
内容提要unity3d坐标系向量运算unity3d坐标系*3d坐标系分为两种,分别是左手坐标系和右手坐标系。u3d使用的是左手坐标系*。通常3d坐标系中x轴右侧代表水平正方形,y轴为垂直正方向向上,z轴分为向里和向外两种,正方向向里的是左手坐标系,向外的是右手坐标系。左手坐标系,拇指指向x正方向,食指指向y正方向,中指指向里面为z轴正方向![在这里插入图片描述](https:/...原创 2019-12-29 15:38:21 · 1293 阅读 · 1 评论 -
RectTransform的使用
transform和recttransform的区别RectTransformRectTransformRectTransform是继承transform的,它是针对unity中ui的,具体在表现上可以这样看待,凡是在在canvas组件下或者具有canvas组件的2d对象,他都recttransform组件,那些在3d空间下没有不受canvas控制的对象都是transfrom组件。关于rec...原创 2019-12-15 15:06:21 · 539 阅读 · 0 评论 -
unity3d脚本生命周期
脚本的生命周期代码using System.Collections;using System.Collections.Generic;using UnityEngine;public class NewBehaviourScript : MonoBehaviour{ // 只会执行一次 无论脚本是否激活,都会被执行。前提是脚本所在对象必须是激活状态 private v...原创 2019-12-10 00:13:56 · 493 阅读 · 0 评论 -
unity3d 的 坐标系统
一、unity3d中有四种坐标系: 1,世界坐标系worldspace 在unity的场景中有一个坐标原点(0,0,0),场景中的物体的世界坐标都是基于这个原点而来的 通过 gameObject.transform.position获得游戏对象的世界坐标 2、本地坐标系localspace 本地坐标是相对于父节点而来的 3、屏幕坐标系screenspace原创 2017-10-12 10:16:56 · 501 阅读 · 0 评论 -
unity3d实现3D物体上的点击事件
unity3d实现3D物体上的点击事件原创 2017-10-10 10:33:04 · 4036 阅读 · 0 评论