U3D学习
文章平均质量分 71
Snail -Bernoulli
日拱一卒, 追求真理
展开
-
游戏的组成
一个游戏由多个场景组成,一个场景由多个游戏物体(gameObject)组成,一个游戏物体又由多个组件(component)组成。原创 2018-06-27 13:45:41 · 1084 阅读 · 1 评论 -
Unity与C#的序列化与反序列化【转载】
序列化操作在我们的开发中使用的十分普遍,本文记录了公司最近分享会上关于这部分的讲解,希望能帮助大家对序列化有更系统的了解。概念序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形式使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。简单来说就是将对象保存到文件中。如Unity的场景文件和预制体默认就是以二进制的文件保存在工程目录下...转载 2018-08-31 12:03:33 · 1055 阅读 · 0 评论 -
如何用Unity3D优雅的制作一个小键盘(计算器什么的随便改)
一、开局先上个小键盘效果图(UI为NGUI所制作,这里不再赘述)二、代码部分(代码可扩展部分非常强)using System.Collections;using System.Collections.Generic;using UnityEngine;using System;public class SmallKeyboard : MonoBehaviour{ ...原创 2018-08-22 20:05:24 · 2897 阅读 · 5 评论 -
Unity编辑时状态跟运行时状态的区别【转载】
本文将从Unity编辑器和运行时两个角度出发,主要探讨以下两方面内容:Unity序列化系统内部细节以及Unity如何维护不同对象之间的强引用。译注:除非特别说明,下文中所有的“资源”均指代“Asset”。 1.1. 深入理解资源和对象在理解Unity如何确保万无一失地管理数据之前,首先要知道Unity是如何识别并序列化数据的。首先第一点,要正确区分资源(Asset)和对象(Unit...转载 2018-08-06 18:11:51 · 9802 阅读 · 0 评论 -
Unity3D资源加载(AssetBundle和Resource)
转载自http://blog.csdn.net/fenrir_sun/article/details/50207909 Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行...转载 2018-08-06 13:23:20 · 10586 阅读 · 0 评论 -
动画模块中的Animators.ProcessAnimationsJob和Animators.WriteJob
请问动画模块中,Animators.ProcessAnimationsJob和Animators.WriteJob的CPU占用较高,请问这些与什么因素有关?Animators.WriteJob受模型骨骼数目影响较大(受animation curves影响不明显),骨骼数目越多,该函数耗时越大。同时,开启Optimize GameObject选项能够降低该函数耗时。Animators.Pr...原创 2018-07-30 10:42:59 · 1045 阅读 · 0 评论 -
Unity生命周期
最近在做一个小示例,发现类继承于MonoBehaviour的类,有很多个方法,于是乎必然要问出一个问题:这么多个方法,执行先后顺序是如何的呢?内部是如何进行管理的呢?于是在网上找了许多资料,发现了Richard Fine在2012年就已经发布了一篇文章,而且讲得算是相当深入,并且很有道理的,这里加上我的一些尝试与思考,分享给大家。先贴上图,大家有个直观认识:接下来,做出一下讲解:最先执行的方法是A...转载 2018-07-06 14:34:37 · 8847 阅读 · 2 评论 -
unity3D中Mono内存泄漏
内存是游戏的硬伤,如果没有做好内存的管理问题,游戏极有可能会出现卡顿,闪退等影响用户体验的现象。本文介绍了在腾讯游戏在Unity游戏开发过程中常见的Mono内存管理问题,并介绍了一系列解决的策略和方法。什么是Mono内存 对于目前绝大多数基于Unity引擎开发的项目而言,其托管堆内存是由Mono分配和管理的。“托管” 的本意是Mono可以自动地改变堆的大小来适应你...转载 2018-07-18 11:27:42 · 2376 阅读 · 2 评论 -
游戏开发常用算法
转自:http://hi.baidu.com/su602/blog/item/c6050fdbb8fd0865d0164eb5.html要使计算机能完成人们预定的工作,首先必须为如何完成预定的工作设计一个算法,然后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述,其中程序的数据结构和变量用来描述问题的对象,程序结构、函数和语句用来描述问题的算法。算法数据结构是程序的两个...转载 2018-07-04 18:10:07 · 579 阅读 · 0 评论 -
C#中delegate详解
首先,delegate是什么?有过C语言或者C++基础的同学可以把他当做C语言和C#的函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托是一个类型安全的对象,它指向程序中另一个以后会被调用的方法(或多个方法)。通俗的说,委托是一个可以引用方法的对象,当创建一个委托,也就创建一个引用方法的对象,进而就可以调用那个方法,即委托可以调用它所指的方法...原创 2018-06-28 11:31:21 · 15196 阅读 · 2 评论 -
Unity3D之脚本的生命周期
首先介绍一下什么是脚本。脚本是游戏的灵魂,不能脱离物体而单独存在。通常以组件的形式挂载到某个游戏物体上。1、Awake() 唤醒事件,只执行一次。2、OnEnable() 启用事件,只执行一次,当脚本组件被启用的时候执行一次。3、Start() 事件开始时执行一次。以上三个方法通常用于执行初始化相关操作。4、FixedUpdate() 固定更新事件,执行多次。每0.02s执行一次,通常所有的物...转载 2018-06-27 18:28:23 · 497 阅读 · 0 评论 -
Unity3D API之鼠标事件
跟鼠标相关事件:OnMouseXXXOnMouseEnter :鼠标光标移动到游戏物体的时候触发。OnMouseExit :鼠标光标从游戏物体上移出的时候触发。OnMouseOver:当光标覆盖到游戏物体上时触发。OnMouseDown:当鼠标在游戏物体上按下的时候触发。OnMouseUp:当鼠标在游戏物体上按下后 抬起的时候触发。光标移动出该物体在其他地方抬起一样会触发该物体的OnMouseUp...转载 2018-06-27 16:05:03 · 1117 阅读 · 0 评论 -
unity3D 热更新之AssetBundle
1.AssetBundle是什么呢?AssetBundles 是有 Unity 编辑器在编辑环境中(enit-time)创建的一些列的文件,这些文件可以被用在项目的运行环境中(run-time)。 AssetBundles 可以包括的资源文件有模型文件(models)、材质(materials)、纹理(textures)和场景(scenes)。AssetBundles 不能包含脚本文件。具体来说,...转载 2018-07-09 14:19:25 · 224 阅读 · 0 评论 -
3分钟了解C#中的协程
协程:协同程序。协程的使用前提:直接或间接的继承MonoBehavior才可以使用。不足:会产生外的开销。协程方法与普通方法的区别:被调用时:普通方法被调用时,原来执行的部分保留现场,停止执行,然后去执行要调用的方法,并且,被调用的方法执行完之后才能返回到调用前的状态接着往下执行。。。协同方法的执行是不用等协同方法执行完再执行调用之前原来方法的代码。 而是两者异步执行。为了方便理解,这里可以把原方...原创 2018-06-27 15:23:43 · 26195 阅读 · 6 评论 -
Unity中的四元数类详解【详解】
一、简介Quaternion又称四元数,由x,y,z和w这四个分量组成,是由爱尔兰数学家威廉·卢云·哈密顿在1843年发现的数学概念。四元数的乘法不符合交换律。从明确地角度而言,四元数是复数的不可交换延伸。如把四元数的集合考虑成多维实数空间的话,四元数就代表着一个四维空间,相对于复数为二维空间。四元数关于四元数的性质、与旋转的关系、球型线性插值的介绍,请阅读3D游戏与计算机图形学中...转载 2018-08-31 13:31:49 · 9722 阅读 · 0 评论