- 博客(23)
- 资源 (2)
- 收藏
- 关注
转载 c# partial class 的用法
partial class A 就是说明这是类A 只是一部分。我可以在创建一个类B.cs。在代码里也写partial class A。那么程序在编译后。两个 A中的属性和方法会合并在一起统一叫做类A的成员。partial关键字 C#2.0提供的新关键字,用来将一个class、struct或interface的定义拆分,写在不同的源文件中。每个源文件包含类定义的一部分,编译应用
2015-06-23 15:22:04 745
转载 在Unity3D中动态创建对象和创建Prefab原型对象的三种方式
u3d里动态创建对象,需要使用prefab而创建的时候 MonoBehaviour.Instantiate( GameObject orignal) 需要一个作为原型的对象。本文提供三种方式获得prefab对象。 方式一:使用脚本的public字段直接在Project视图里找到做好的prefab,将其拖拽到指定脚本的指定public GameObject 字
2015-06-12 10:43:09 672
转载 C#中的lock、Monitor、Mutex
线程:线程是进程的独立执行单元,每一个进程都有一个主线程,除了主线程可以包含其他的线程。多线程的意义:多线程有助于改善程序的总体响应性,提高CPU的效率。多线程的应用程序域是相当不稳定的,因为多个线程在同一时间内都能运行共享的功能模块。为了保护应用程序的资源不被破坏,为多线程程序提供了三种加锁的机制,分别是:Monitor类、Lock关键字和Mutex类。1. lock
2015-06-11 13:45:32 540
转载 c# lock
一. 为什么要lock,lock了什么?当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待。但当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进行读写的时候,我们要使该资源在同一时刻只能被一个线程操作,以确保每个操作都是有效即时的,也即保证其操作的原子性。lock是C#中最常用的同步方式,格式为lock(objectA){
2015-06-11 10:39:03 340
转载 c# singleton
using UnityEngine; /// summary> /// Be aware this will not prevent a non singleton constructor /// such as `T myT = new T();` /// To prevent that, add `protected T () {}` to your singl
2015-06-10 18:02:23 610
转载 unity3d所要知道的基础知识体系大纲
本文献给,想踏入3D游戏客户端开发的初学者。毕业2年,去年开始9月开始转作手机游戏开发,从那时开始到现在一共面的游戏公司12家,其中知名的包括搜狐畅游、掌趣科技、蓝港在线、玩蟹科技、天神互动、乐元素。开始做虚幻3游戏程序开发,现在转作UNITY3D。面试了12家公司大概总结一下面试的常考方向(以下排名不分先后,红色是需要着重了解的,但不仅限于此,如果有错,望指正)。1、面试方式:所有面试,
2015-06-09 18:39:52 1785
转载 C#学习之接口
什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的。那么,我们来看一下如何声明和使用接口。 声明接口 声明接口在语法上和声明抽象类完全相同,例如这里有一个银行账
2015-06-09 18:37:44 344
转载 C#中的委托(Delegate)和事件(Event)
把C#中的委托(Delegate)和事件(Event)放到现在讲是有目的的:给下次写的设计模式——观察者(Observer)有一个参考。 委托和事件应该是C#相较于C++等之前的非托管的语言提出的一个新的术语(term)。“旧瓶装新酒”这样的描述似乎有些“贬义”,但确实是这样。委托也好,事件也好最初的起源是C/C++中的函数指针,关于函数指针的简单介绍可以参见我以前的一篇《C/C++中
2015-06-09 18:14:10 475
转载 .NET 3.5中委托的写法(Lambda表达式)
Lambda表达式在C#中的写法是“arg-list => expr-body”,“=>”符号左边为表达式的参数列表,右边则是表达式体(body)。参数列表可以包含0到多个参数,参数之间使用逗号分割。例如,以下便是一个使用Lambda表达式定义了委托的示例1:Funcint, int, int> max = (int a, int b) =>{ if (a > b) {
2015-06-09 15:45:14 588
转载 Unity3D面试题
1.请描述游戏动画有哪几种,以及其原理。答:主要有关节动画、单一网格模型动画(关键帧动画)、骨骼动画。 关节动画把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活Quake2中使用了这种动画; 单一网络模型动画由一个完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色动画
2015-06-09 14:43:40 647
转载 unity3d出镜率最高的面试题
一.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。二.如何优化内存?有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉;
2015-06-09 11:42:56 2654
转载 Unity3D中的Coroutine详解
Unity中的coroutine是通过yield expression;来实现的。官方脚本中到处会看到这样的代码。疑问:yield是什么? Coroutine是什么?unity的coroutine程序执行流程怎么那么奇怪?unity中的coroutine原理是什么,怎么实现的?使用unity的coroutine需要注意什么问题?一、yield的在几种语言中的程序
2015-06-09 10:46:57 580
转载 Unity3D面试题大合集
unity的动态加载?1.Resources.load();//加载Resources文件夹内的文档2.WWW加载//协同程序3.AssetsBundle: 例:从资源包里获取指定类型的文件AssetBundle ab = new AssetBundle();//AssetBundle可以由不同途径获取 Tex
2015-06-08 17:24:39 2521 1
转载 Unity3D最新面试高频问答题目
最先执行的方法是:1、(激活时的初始化代码)Awake,2、Start、3、Update【FixUpdate、LateUpdate】、4、(渲染模块)OnGUI、5、再向后,就是卸载模块(TearDown),这里主要有两个方法OnDisable与OnDestroy高频问答的问题:1.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都
2015-06-08 17:12:37 2593
转载 Unity3D面试题汇总
1.请描述游戏动画有哪几种,以及其原理。2.alpha blend 工作原理3.写光照计算中的diffuse的计算公式4.lod是什么,优缺点是什么5.两种阴影判断的方法工作原理6.MipMap是什么?作用?7.用u3d实现2d游戏,有几种方式?答:一种用UI实现(GUI,NGUI...),一种是采用3d实体对象(plane),绘制在3d对象上,调节摄像机,采用平行投影
2015-06-08 16:47:16 1018
转载 上海某大型游戏公司Unity3D基础面试题
1.Unity中碰撞器(Collider)和触发器(Trigger)的区别?碰撞器(Collider)有碰撞效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数触发器(Trigger)没有碰撞效果,isTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数2.物体发生碰撞的必要条件?必
2015-06-08 16:01:18 1850
转载 [Unity3D]蓝港面试题
1. 请简述值类型与引用类型的区别答:区别:1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。2.值类型存取快,引用类型存取慢。3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。4.栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放。5.值类型继承自System.ValueType,引用类型继承自S
2015-06-08 15:52:59 2347
转载 结合轮廓显示,实现完整的框选目标(附Demo代码)
几次看见有人问框选物体的做法,之前斑竹也介绍过,用画的框生成的视椎,用经典图形学的视锥裁剪就能做到。视锥裁剪资料学习:http://www.linuxgraphics.cn/graphics/opengl_view_frustum_culling.html在unity里实现,其实很简单,因为有两个前提:1.画的方框始终是在屏幕空间进行的,而屏幕空间其实就是摄像机的视锥空间的投射了,
2015-06-08 15:46:44 1096
转载 Unity3D占用内存太大的解决方法
最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大.这里写下关于Unity3D对于内存的管理与优化.Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时
2015-06-08 14:48:43 583
转载 C#中的反射原理及应用
反射的概述反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等,。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息):System.Reflectio
2015-06-08 14:19:46 390
转载 C# 类型基础
引言本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的。由此又引出了 引用类型和 值类型,以及相关的对象判等、装箱、拆箱等基础知识
2015-06-08 14:00:42 360
转载 Lua常用的4中遍历方式
for key, value in pairs(tbtest) do XXX end 这样的遍历顺序并非是tbtest中table的排列顺序,而是根据tbtest中key的hash值排列的顺序来遍历的。for key, value in ipairs(tbtest) do XXX end 这样的循环必须要求tbtest中的key为顺
2015-06-03 10:27:47 1532
转载 iOS和android游戏纹理优化和内存优化(cocos2d-x)
1、2d游戏最占内存的无疑是图片资源。2、cocos2d-x不同平台读取纹理的机制不同。ios下面使用CGImage,android和windows下是直接调用png库。我测试了下,使用png库直接读取png会比CGImage还要节约1mb左右内存(图片所占内存4mb)但是速度要比CGImage慢一倍。时间和空间如何取舍就看实际情况了。不过最佳的选择似乎是pvr(即使android版本,即使不
2015-06-01 10:56:41 475
URP Debug Views 1.0.4.zip
2021-07-23
房燕良-虚幻4渲染系统架构解析
2019-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人