
Unity开发
laipixiaoxi
这个作者很懒,什么都没留下…
展开
-
SolidWorks转3DMAX再到Unity3D的转换模型及单位设置
1、打开SolidWorks,先把单位设置为cm,至于为什么是cm,文末最后解释。工具=》选项,或者直接点文件属性旁边的“选项”图标。文档属性,将单位设置为cm厘米。然后在SolidWorks里建一个最简单的Cube模型,尺寸为:120cmX120cmX120cm(LWH),并保存为CubeSW.SLDPRT转载 2017-01-06 09:15:24 · 21379 阅读 · 1 评论 -
Unity中网格合并示例研究。针对合并子网格列表后再合并网格
Unity中网格合并示例研究2013年09月11日 ⁄ 综合 ⁄ 共 3711字 ⁄ 字号 小 中 大 ⁄ 评论关闭为了实现游戏人物外形的定制,专门研究了Unity示例程序 。对程序中动态载入身体各部位模型并进行组合的代码看了很久才明白。下面做一些备忘。首先需要了解几个基本对象的结构一、 SkinedMeshRender:该对象负责网转载 2016-06-07 11:49:53 · 1627 阅读 · 0 评论 -
【转】C#获取当前程序运行路径的方法集合
转载,原文地址:http://www.cnblogs.com/cocoulong/archive/2010/01/30/1660119.html //获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)转载 2016-05-19 09:07:37 · 380 阅读 · 0 评论 -
Unity3d之利用Mesh绘制几何图形实现
一、创建一个GameObject,并在上面挂两个组件(MeshFilter、MeshRenderer) 二、新建个脚本,并挂在刚才创建的GameObject上 using UnityEngine; using System.Collections; public class MeshImage : MonoBehaviour { v转载 2016-05-13 11:03:03 · 7856 阅读 · 1 评论 -
unity代码创建mesh
简介 Introduction 这个教程将让你学会如何创建一个星型控件以及如何制作这个控件的自定义编辑器。你将学会:动态的建立Mesh。使用一个嵌套类。建立一个自定义编辑器。使用SerializedObject。支持所见即所得。对Undo、Redo、Reset和prefab提供支持。支持多对象编辑。支持场景视图内编辑。我们假设你已经学会了Unity C#的基础编程知转载 2016-05-13 10:27:28 · 3382 阅读 · 1 评论 -
Assetbundle的内存处理
那么下面就举一个AssetBundle的例子:Assetbundle的内存处理以下载Assetbundle为例子,聊一下内存的分配。匹夫从官网的手册上找到了一个使用Assetbundle的情景如下:123456789101112131415原创 2016-03-17 08:57:24 · 1443 阅读 · 0 评论 -
unity3d 使用GL 方式画线
这个是画线部分private Vector3[] linePoints; public int m_LineCount; public int m_PointUsed; public void RenderPath() { GL.Begin(GL.LINES); for (int i = 0; i 1;转载 2015-12-17 16:56:25 · 2381 阅读 · 0 评论 -
Unity3d实现画笔
本文介绍如何在unity3d中实现画笔的功能首先画笔需要一个材质 Material,之前在网上找了很多画笔,但是都没说材质怎么生成,导致画不出线来。创建材质:Material rectMat = new Material("Shader \"Lines/Colored Blended\" {" + "SubShader {转载 2015-12-17 17:02:16 · 7001 阅读 · 2 评论 -
Unity5新版Shader模板源码解析
本系列文章由@浅墨_毛星云 出品,转载请注明出处。文章链接: http://blog.youkuaiyun.com/poem_qianmo/article/details/49405909作者:毛星云(浅墨)微博:http://weibo.com/u/1723155442本文工程使用的Unity3d版本: 5.2.1概要:本文对Unity5中全新的三种Shader模板的源码进行了解析,转载 2015-12-17 16:38:44 · 4275 阅读 · 0 评论 -
C# 使用 protobuf 进行对象序列化与反序列化
本文永久地址:http://www.omuying.com/article/148.aspx,【文章转载请注明出处!】protobuf 是 google的一个开源项目,可用于以下两种用途:(1)数据的存储(序列化和反序列化),类似于xml、json等;(2)制作网络通信协议。源代码下载地址:https://github.com/mgravell/protobuf-net;开源项目地址如下:转载 2015-12-17 08:55:12 · 9436 阅读 · 6 评论 -
Unity3D Physics.Raycast 射线检测
本文永久地址:http://www.omuying.com/article/146.aspx,【文章转载请注明出处!】Unity3D 提供了 Physics.Raycast 函数,用来检测射线与场景元件的碰撞,最近在处理地图生成 A 星的时候用到了 layerMask 参数,虽然最后完美解决,不过还是要特地记录一下如何更高效的使用 layerMask。测试场景布局如图:转载 2015-12-17 08:51:02 · 1211 阅读 · 0 评论 -
unity3d结合轮廓显示,实现完整的框选目标(附Demo代码)
在unity里实现,其实很简单,因为有两个前提:1.画的方框始终是在屏幕空间进行的,而屏幕空间其实就是摄像机的视锥空间的投射了,不需要另外计算视锥。2.unity摄像机内建的功能,可以方便的把屏幕坐标和世界坐标互换。 这样最简单的画框选物体就简化成了:1.用GL在屏幕空间动态画框。2.把备选对象的transform.position用camera.WorldToScreen转载 2015-12-16 17:22:44 · 1601 阅读 · 0 评论 -
Unity3D 基地实现(摄像机移动、拖动建筑等)
本文永久地址:http://www.omuying.com/article/34.aspx,【文章转载请注明出处!】在做一个策略类的游戏时,需要实现一个基地的功能,功能并不是太复杂,默认只能显示场景(45度视角)的一部分,然后通过移动场景(地形)查看场景中的其他部分,当点击建筑时可以拖动场景中的建筑到一定地方!最终效果如下:第一步:先布局好场景界面,如图:转载 2015-12-16 17:25:28 · 1445 阅读 · 0 评论 -
Unity3D调用Android Java代码
最近公司准备接入91手机平台的支付系统,这边要实现在安卓上Unity调用Java代码,Unity刚刚上手,Android开发也接触不多,在网上找了不少资料,但都不是很详细,总觉得缺了些什么,经过两天摸索,基本完成功能,所遇问题颇多,在此一一总结 1.开发安卓环境的搭建2.关于安卓开发3.Unity调用安卓的各种问题 1. 安卓开发环境的搭建,在这里随便装了个Eclipse和转载 2015-12-10 15:25:21 · 1147 阅读 · 0 评论 -
手机网游实时同步方案
网络延迟是所有实时同步的游戏都会遇到的问题,下面是关于实时同步问题的一些思考和处理方法。具体的解决方法可能比较特殊,首先这里的服务器并不跑定时器(除了一个游戏结束倒计时的定时器),由前端驱动,延迟的情况下主要是由前端来预测或纠正,服务器辅助,处理和转发,据我的了解好像没什么人这样子搞吧。所以看完如果觉得我这边有考虑不周的,或者有更好的思路,欢迎拍砖 / 交流 首先这是一个两边出兵对转载 2015-12-10 10:29:55 · 1359 阅读 · 0 评论 -
[Unity3D]Physics System - Rigidbody[未完待续]
要想让Unity的物体有重力,就得给他加Rigidbody属性。当然不一定要有Rigidbody才能发生碰撞,如果没有Rigidbody而设置了Collider碰撞的话,那他就会是个坚定不移的物体. Rigidbody有几个很重要的属性和方法,先研究下基础: 属性: Mass 质量,这个可是关键东西,重要性我就不说了,默认是1的话你的物体都是被撞下就飞老远的。。转载 2015-10-28 13:29:48 · 438 阅读 · 0 评论 -
unity3D中协程和线程混合
这是我google unity3D一个问题偶然发现的在stackflow上很有趣的帖子:大意是 要在unity3D上从服务器下载一个zip,并解压到持久化地址.并将其加载到内存中.下面展示了这种用法:IEnumerator LongCoroutine(){ yield return StartCoroutine(DownloadZip()); ExtractZip()转载 2016-07-12 17:22:26 · 1528 阅读 · 0 评论 -
unity3d中的http通信 post/get
前言Unity3d 是一个跨平台的引擎,在移动互联网浪潮之中,尤其是移动游戏3d方向上,Unity3d 毫无疑问是最耀眼的明星。Unity3d的http通信很简单,也非常好用,下面通过http和php sever交互来简单介绍一下。http 提交数据原理http 协议通过 url来获取和提交数据 。提交数据的方式 有两种,一种是get方法,一种是post方法。get一般用于转载 2016-07-01 11:12:18 · 947 阅读 · 0 评论 -
Unity3D关于跨域访问的处理
当使用WWW访问Web服务时,安全策略会阻止跨域的请求访问,会返回类似“Rejected because no crossdomain.xml policy file was found”等错误信息。 解决办法:为提供Web服务的目录配置安全策略文件,即crossdomain.xml(还有人提过添加一个Web代理服务的解决办法,但相比较配置安全策略文件这种方法会更简单一些)。 crossd转载 2016-06-20 15:11:37 · 2640 阅读 · 0 评论 -
[Unity3D]简单使用Protobuf-net(三)
前两篇讲解了如何使用导入NuGet程序包和动态链接库的方式来使用Protobuf-net。接下来将讲解如何直接在Unity中使用源码来进行序列化与反序列化操作。首先需要获取源码,获取方式上一篇已经说明,不清楚的可以看:[Unity3D]简单使用Protobuf-net(二)创建一个Unity工程,然后将源码中的“protobuf-net”文件夹导入到Unity工程中,“protob转载 2016-11-29 17:24:54 · 954 阅读 · 0 评论 -
[Unity3D]简单使用Protobuf-net(二)
上一节使用的是NuGet程序包的方式,在程序中简单的使用Protobuf-net,接下来换一种方式。 使用源码编译后的动态链接库,这样有个好处就是,你可以选择目标平台。 首先需要下载源码:https://github.com/mgravell/protobuf-net可以使用Git克隆项目,也可以下载压缩包,本人使用的是git方式。 源码获取后,打开源码目录下的“Proto 2转载 2016-11-29 17:24:16 · 553 阅读 · 0 评论 -
[Unity3D]简单使用Protobuf-net(一)
Protobuf 是Google的一个开源序列化库,因为使用的数据压缩算法等优化,序列化的数据较Xml更小,速度更快,因为序列化后数据是以紧凑的二进制流形式展现的,所以几乎不可直接查看。由于Protobuf不支持.Net3.5及以下版本,所以如果要在Unity3D当中使用,则需要用到第三方的Protobuf-net库。Protobuf-net也是开源的,项目地址如下:https:/转载 2016-11-29 17:23:38 · 557 阅读 · 0 评论 -
socket与http的区别
相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”:转载 2016-11-04 14:54:29 · 321 阅读 · 0 评论 -
跨平台Unity Excel 文件读取和写入
在网上看到很多 的解析Excel 的文章,其中最经典的一篇莫过于雨凇Momo的Unity3D研究院之MAC&Windows跨平台解析Excel(六十五) 但是在使用的过程中还是碰到了不少的问题,在这里总结一下,希望能对看到此处的朋友一个帮助。 Excel的读取, 需要加入库文件 Excel.dll 和ICSharpCode.SharpZipLib库文 [cs转载 2016-11-04 14:53:04 · 2720 阅读 · 0 评论 -
Unity WebPlayer自定义进度条界面
使用unity 的WebPlayer的时候,显示的是的自己的进度条和Logo,现在想发布正式版的时候需要改成自己公司的Logo,和自定义的进度条,在网上一搜,还不少,都是这方面的资料,但是改完之后,并不奏效,然后打开了官网:Customizing the loading screen。官网总不会欺骗我吧!!!最后终于是OK了,但是还是碰到不少问题, 1.图片格式问题。2.图片路径问题转载 2016-11-04 14:50:49 · 1339 阅读 · 0 评论 -
pc与web平台利用xml写一个序列化与反序列化用来存储数据
换平台确实是一个头疼的问题,本来在pc用.net的json处理数据很是顺手的,但是发布web版本后,发现他不支持。后面找了好几个开源json都不能很好的支持web,或者不能支持List等。于是我就想着自己利用xml写一个序列化与反序列化用来存储数据或者解析数据。这里我只测试了pc与web平台,移动端的没有测试。 自定义xml序列化脚本,因为可能使用到中文,所以设置utf-8编码:转载 2016-11-04 14:46:19 · 381 阅读 · 0 评论 -
unity实现描边效果
这里总结了几种在unity实现描边效果的方法,首先准备一个模型导入在unity中,使用默认shader,上传一张原始图,以便后面实现功能效果的对比一、边缘光,这里参照官方的一个SurfaceShader Example,Rim Lighting1.在unity创建一个SurfaceShader,命名RimLighting[c#] view plain c转载 2016-11-04 14:44:36 · 12532 阅读 · 2 评论 -
Unity 之 C# 利用回调函数实现C++匿名函数
做C++开发的都用过匿名函数非常好用,但是C#开发怎么实现呢?前几天做一个拍照功能的时候,我偶然发现某个函数如果是C++的话,用匿名函数太好了,于是开始研究C#的回调,代理,委托等,最后总算是实现了我想要的吧,不知道到底算什么调用。有大神的话可以给出评价。 参考文章: 详解C#委托,事件与回调函数 3D研究院之利用C#实现代理模式(四十) 直接上代码吧,不废转载 2016-11-04 14:30:16 · 886 阅读 · 0 评论 -
mesh collider::网格碰撞体
mesh collider::网格碰撞体 网格碰撞体通过获取网格对象并在其基础上构建碰撞,于在复杂网格模型上使用基于碰撞体相比,网格碰撞体要更加的精细,但是会占用更多的系统资源,开启convex参数的网格碰撞体彩可以与其的网格碰撞体发生碰撞 is tirgger:触发起,勾选此项,用于触发事件,并将物理引擎所忽略 material:材质,采用不同的物理材质类型决定了碰转载 2016-11-04 11:48:07 · 1844 阅读 · 0 评论 -
Unity刚体组件
1.启动unity应用程序,创建一个游戏对象,选中该对象,依次打开菜单栏中component->physic->rigidboby,选项,这样就在游戏对象上添加了刚体组件。 2.rigidboby刚体组件属性面板参数 mass:质量,用于设置游戏对象质量,建议在同一个游戏场景中,游戏对象之间的质量差值不要大于100倍 drag:阻力,当对象受力运动时收到的空气阻力,0转载 2016-11-04 11:41:16 · 3483 阅读 · 0 评论 -
Unity框选物体的做法
几次看见有人问框选物体的做法,之前斑竹也介绍过,用画的框生成的视椎,用经典图形学的视锥裁剪就能做到。 视锥裁剪资料学习:http://www.linuxgraphics.cn/graphics/opengl_view_frustum_culling.html 在unity里实现,其实很简单,因为有两个前提: 1.画的方框始终是在屏幕空间进行的,而屏幕空间其实就是摄像机转载 2016-11-04 11:25:01 · 2083 阅读 · 1 评论 -
[Unity3D]图形渲染优化、渲染管线优化、图形性能优化
http://docs.unity3d.com/Documentation/Manual/ModelingOptimizedCharacters.html [Unity3D]图形渲染优化、渲染管线优化、图形性能优化 转载请留下本文原始链接,谢谢。本文会不定期更新维护,最近更新于2013.11.09 主要内容也可以参考: http://docs.unity3d转载 2016-11-04 11:20:37 · 423 阅读 · 0 评论 -
Unity3D面试高频知识点
Unity3D面试高频知识点数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个人基础,综合能力小公司看你实际工作能力,看你的Demo。1.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。 渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标->视图坐标->背面裁剪->光照->裁剪->投转载 2016-10-21 17:23:59 · 749 阅读 · 0 评论 -
web使用GZIP压缩和解压缩文件
对于unity3d的web player中使用的sysytem.dll是阉割版,不是完整的微软的system.dll,所以在Unity3d中要使用压缩还是有点麻烦的,我这里使用的第三方的dll,经典的ICSharpCode.SharpZipLib。 我是在Web Player中使用,直接引入dll文件,然后在脚本中调用,最开始我用这个还是整得来很麻烦的!我建的一个控制台测试转载 2016-06-21 17:12:46 · 792 阅读 · 0 评论 -
unity3d 面试题
1. 在场景中放置多个Camera并同时处于活动状态时会发生什么.2. 请简述Prefab的作用,并描述如何在移动设备的环境下恰当的使用它.3. 如何销毁一个UnityEngine.Object及其子类.4. 请简述为什么Unity3D中会发生在组件上出现数据丢失的情况(missing).4. 请简述Unity3D下如何安全的在不同工程间迁移asset数据,请举出三种方法.转载 2015-10-28 13:32:37 · 1320 阅读 · 0 评论 -
[Unity3D]计算机3D图形基础在Unity中的实现(Vector3,Maxtrix4*4,Transform)
直接切入正体回忆以前Direct3D中的空间向量图形知识,以及研究Unity3D里是怎么表示的。 Vector3: Vector3这词最早是谁发明的无从考证了,但是Unity3D里出现了这个名词的时候,我才意识到这个不是D3D和openGL才有的变量名,D3D里叫做 D3DXVECTOR3继承自_D3DVECTOR结构体,其中_D3DVECTOR结构体只有3个单精度数X,Y,Z。用于表转载 2015-10-28 13:04:57 · 668 阅读 · 0 评论 -
C#虚函数
using UnityEngine;using System.Collections;using System; public class car : MonoBehaviour { private A a; private A b; private A c; private A d; priva转载 2015-10-28 09:52:41 · 541 阅读 · 0 评论 -
Unity3D 事件回调
Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结。 Awake当前控制脚本实例被装载的时候调用。一般用于初始化整个实例使用。Start当前控制脚本第一次执行Update之前调用。Update每帧都执行一次。这是最常用的事件函数。转载 2015-10-27 21:10:19 · 547 阅读 · 0 评论 -
Unity3D 第二章 常用操作
大部分游戏对象的操作都是通过它们的 Transform和 Rigidbody 实例来实现的,我们可以在脚本中直接通过成员变量transform和 rigidbody来访问这两个实例。例如:要实现游戏对象每帧以Y轴旋转5度的效果,可以进行如下编码: function Update() { transform.Rotate(0, 5, 0); } 让游戏对象向你转载 2015-10-27 21:06:44 · 314 阅读 · 0 评论 -
Unity3D内部脚本编程入门
Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的。在脚本对象内部不同的函数被特定的事件调用。最常用的列在下面: Update: 这个函数在渲染一帧之前被调用。这里是大部分游戏行为代码被执行的地方,除了物理代码。 FixedUpdate 这个函数在每个物理时间步被调用一次。这是处理基于物理游戏行为的地方。 在任何函数之转载 2015-10-27 21:03:39 · 1197 阅读 · 0 评论