Unity 3D
文章平均质量分 60
tanmengwen
这个作者很懒,什么都没留下…
展开
-
5个最佳的3D游戏开发工具
5个最佳的3D游戏开发工具http://blog.csdn.net/chszs1) UDKUDK是虚幻引擎3的免费版本,提供了一个高质量的3D游戏引擎和专业的工具集,可以用于视频游戏开发,建筑可视化,移动游戏开发,3D渲染,数字电影等。地址:http://www.unrealengine.com/udk/2) BlenderBlender是一个免费、开源的3转载 2012-12-01 16:11:04 · 1197 阅读 · 0 评论 -
Unity--如何同时打开多个Unity软件
1、右键点击Unity的快捷方式,选择“属性”,然后在“目标”一栏的最后加入“ -projectPath”,如下图所示:2、“确定”后就可以多开Unity了。这时双击Unity的快捷方式,会弹出“Project Wizard”菜单,这样你就可从以下列表中选择你想打开的项目。3、通过多次打开Unity的快捷方式,你就可以实现Unity3D的多开了。转载 2013-02-05 12:27:02 · 1991 阅读 · 0 评论 -
Unity 3D引擎:十大最火的插件推荐
作为当前最主流的3D游戏引擎之一,Unity拥有大量第三方插件和工具帮助开发者提升工作效率。我们摘选了十款最受欢迎的工具推荐给大家,类别包括2D开发、UI设计、原型制作、着色、特效等,涉及了游戏开发最主要的十个方面。1. 2D Toolkit如果过去你一直从事3D游戏开发,最近想转做2D游戏,最好尝试一下2D Toolkit。2D Toolkit是一款2D开发组件,它具有很强的灵活性和转载 2013-03-04 20:24:08 · 2638 阅读 · 0 评论 -
Unity 3d--网络通信
Unity 网络通信(一)Unity Network 初步Unity网络通信(二)Unity Network 聊天Unity网络通信(三)同步物体转载 2013-03-05 18:56:02 · 2284 阅读 · 0 评论 -
Unity3D动态加载FBX文件
方法1:1.将模型拖动到场景中 ,调整好位置。(制作prefab需要)。2.新建Resources(如果工程中有的话 就不用新建了,Resource.Load调用的就是该文件夹下的资源),在该文件夹下建一个prefab,将上面的模型拖动到这个prefab上。3.删除场景中的该物体模型。4.编写脚本,把它仍随便一个GameObject。代码如下:using UnityEngine转载 2013-03-06 21:23:22 · 3069 阅读 · 1 评论 -
Unity3d--美工建模须知
3dsmax2010安装插件,输出FBX的类型导入Unity3D中。默认情况下,3dsmax8可以和U3D软件直接融合,自动转换为FBX物体。1.面数控制在MAX软件中制作单一Game Object物体的面数不能超过65000个三角形,即32500个多边形Poly,如果超过这个数量的物体不会显示出来,这就需要我们合理分布多边形和模型数量。打开MAX场景,选择File/Propertie转载 2013-03-29 11:46:45 · 1875 阅读 · 0 评论 -
Unity3D--Delegate和SendMessage的性能差测试,以及Delegate在多线程使用要注意的小问题
一、回顾前面写的关于Delegate的消息传送优化文章,http://blog.csdn.net/chiuan/article/details/7883449 下面的代码是做一个简单的Delegate和SendMessage之间的优化性能差距测试:using UnityEngine; using System.Collections; /// /// Delegate转载 2013-03-18 11:12:29 · 1178 阅读 · 0 评论 -
Unity3D - 关于Delegate - SignalSlot信息槽的使用和SendMessage取替
Unity3D自身有SendMessage向对象之间发送消息,但这个消耗是比较大的,因为它很大程度上涉及了Reflection发射机制。 如何变更思路,结合C#自带的消息系统delegate委托事件,对此进行优化: 我们看以下一个简单的delegate使用:public class DelegateBasic : MonoBehaviour {转载 2013-03-18 10:37:56 · 1321 阅读 · 0 评论 -
Unity3D --MonoBehaviour类Invoke,Coroutine
MonoBehaviour概述 MonoBehaviour 表示一个单一的行为。Unity中用户对游戏对象的操作被分割成若干个单一行为。每个单一行为都作为一个MonoBehaviour类来封装。再生成每个MonoBehaviour类的实例,并作为组件嵌入游戏对象。然后按照一定的顺序(从下到上)调用每个对象的重载方法来实现游戏对象的全部行为。创建 在菜单Assets->转载 2013-03-18 19:18:50 · 2013 阅读 · 0 评论 -
Unity--WWW.movie
目前为止Unity的视频播放能力只限制在 MovieTexture函数,并且只在PC平台,且是Pro only,移动平台下是完全不能使用的;WWW.movie该函数是实现视频的本地或网络加载功能,并使用MovieTexture进行播放;注意:加载的视频格式必须是Ogg Theora 制式的,其他的不能加载;有一个好处就是能够实现,下载多少,就播放多少的功能;不需等待全部加载完。va原创 2013-02-01 20:40:51 · 2592 阅读 · 1 评论 -
Features currently not supported by Unity
Features currently not supported by Unity iOS GraphicsDXT texture compression is not supported; use PVRTC formats instead. Please see theTexture2D Component page for more information.Recta翻译 2013-02-01 20:23:53 · 1118 阅读 · 0 评论 -
Unity--截取屏幕任意区域
直接上代码: using System.IO;void Update () { if(Input.GetKeyDown(KeyCode.A)) { StartCoroutine(getScreenTexture()); //unity 自带截屏,只能是截全屏 Application.CaptureSc原创 2013-01-14 16:35:53 · 3803 阅读 · 2 评论 -
Unity--贴图动画的实现
var frames : Texture[]; //声明一个数组,存放贴图,声明后,在inspector会看到一个frames的数组,//数组的长度可以自己填,填1,就代表只有1张图,可以把一张texture拖进去,填2就代表2张,以此类推var framesPerSecond = 10; //声明fps,每秒播放几帧,影响动画的速度。function Update() {转载 2012-11-20 15:35:00 · 2688 阅读 · 0 评论 -
Unity--GUI 的旋转和自适应屏幕分辨率
2D显示是 GUI.DrawTexture(); 策划提了个需求,说是做个表,有时针、分针、秒针,要求和系统时间相对应。解决思路如下:使用矩阵的旋转来做,使用一个临时变量保存正常的矩阵,调用函数 static function RotateAroundPivot (angle : float, pivotPoint : Vector2) : void 来进行旋转(ScaleAroundPiv转载 2012-12-05 14:07:39 · 2180 阅读 · 0 评论 -
Unity-- 一些功能转载
unity3d 自定义,改变鼠标样式,光标样式unity3d 任意弧线运动 弧线插值unity3d normalized 的意义unity3d magnitude的意义unity3d sqrMagnitude 的意义在Unity 中使用Lua脚本Unith3D判断物体是否在视角内unity3d 重要函数方法unity3d 拖动图片unity3d 画任意线(GL方转载 2012-11-21 20:18:59 · 1046 阅读 · 0 评论 -
iTween介绍和用法
http://www.robertpenner.com/easing/easing_demo.html一.iTween 介绍 iTween是一个动画库,作者创建它的目的就是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等二.iTween 原理iTween的核心是数值插值,简单说就是给iTween两个数转载 2012-08-30 10:41:48 · 2083 阅读 · 0 评论 -
Unity3D--shader基础知识
1.Unity中配备了强大的阴影和材料的语言工具称为ShaderLab,以程式语言来看,它类似于CgFX和Direct3D的效果框架语法,它描述了材质所必须要的一切咨询,而不仅仅局限于平面顶点/像素着色。2.在Unity3D中创建一个Shader:Assets -> Create -> Shader3.创建了Shader就可以应用到各个材质Material中,创建材质:Assets ->转载 2012-12-15 19:47:20 · 1070 阅读 · 0 评论 -
unity3d--内置shader详解
Unity3D内置了很多Shader,文档很详细,自己翻一下.便于加深印象.首先先解释下Unity3D的Shader.Unity里面的Shaders是使用一种叫ShaderLab的语言编写的,它同微软的.FX文件或者NVIDIA的CgFX有些类似。传统意义上的vertex shader和pixel shader 还是使用标准的Cg/HLSL 编程语言编写的。(因此Unity文档里面的Shade转载 2012-12-15 19:51:47 · 6550 阅读 · 0 评论 -
Unity3D--协同程序(Coroutine)
一。什么是协同程序 协同程序,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。 二。协同程序的开启与终止 在Unity3D中,使用MonoBehaviour.StartCoroutine方法即可开启一个协同程序,也就是说该方法必须在MonoBehaviour或继承于MonoBehaviour的类中调用。转载 2013-01-14 17:21:04 · 2130 阅读 · 0 评论 -
Unity3D--镜面反射
首先,新建一个Shader:Shader "FX/Mirror Reflection"{Properties {_MainTex (“Base (RGB)”, 2D) = “white” {}_ReflectionTex (“Reflection”, 2D) = “white” { TexGen ObjectLinear }}// two texture cards: fu转载 2013-03-20 22:36:00 · 2003 阅读 · 0 评论 -
Unity3D+Kinect OpenNI开发获取身高
Kinect Openni在Unity3D中获取人的身高的脚本。using UnityEngine;using System.Collections;using System;using System.Collections.Generic;public class GetHeight : MonoBehaviour {public static double height转载 2013-03-20 22:33:50 · 1911 阅读 · 0 评论 -
Unity--自身网络编程
首先要说明的是,Unity本身的网络功能并不适合做MMO类型的游戏。如果要使用Unity作为MMO游戏的客户端,一般来说都是在C#中通过socket建立自定义的网络通信来实现。Unity本身的网络功能是为多人游戏设计的,这种游戏模式一般来说就是一个玩家建立游戏(这个玩家既是server,又是client),其他玩家连接进来。从带宽考虑一般同时支持的玩家数量小于64个(这个也不一定,要看游戏本身的设转载 2013-04-16 20:18:09 · 911 阅读 · 0 评论 -
Unity 3D--PlayerPrefs
PlayerPrefs游戏存档在游戏会话中储存和访问游戏存档。可以理解为持久化储存,还可以理解为游戏存档, 玩RPG游戏的时候肯定会有游戏存档 存档中就会记录玩家以前游戏的过程,这些都是以数据的形式存在PlayerPrefs中的。 在Mac OS X上PlayerPrefs存储在~/Library/PlayerPrefs文件夹,名为unity.[company nam原创 2013-04-17 14:00:41 · 1459 阅读 · 0 评论 -
NGUI: Documentation
Video TutorialsBasic Tutorial (v.2.5.0+)SD & HD atlas switching (advanced)Packed Font (advanced)Catering to variable screen sizeOld Tutorials (Earlier than NGUI 2.5.0)Par翻译 2013-08-20 19:16:24 · 1574 阅读 · 0 评论 -
Leap Motion架构
Leap Motion体感控制器支持最流行的桌面操作系统。Leap Motion程序作为一个服务(在Windows中)或一个守护进程(在Mac和Linux中)。这个程序通过USB总线和Leap Motion体感控制器相连。基于Leap的应用程序通过Leap Motion服务来获取运动追踪数据。Leap Motion的SDK提供两类API来获取Leap Motion的数据。这些API可以让你在多个语转载 2013-08-13 19:10:53 · 1623 阅读 · 0 评论 -
Unity--触摸ScrollView
using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour { public Vector2 scrollPosition = Vector2.zero; public float scrollVelocity = 0f;转载 2013-11-14 23:23:50 · 1191 阅读 · 0 评论 -
Occlusion Culling in Unity 4.3
The following blog post was written by Jasin Bushnaief of Umbra Software to explain the updates to occlusion culling in Unity Pro 4.3.Unity 4.3 includes a plethora of improvements. One of the comple翻译 2013-12-27 16:12:46 · 1688 阅读 · 0 评论 -
Unity3D教程:Array数组类的使用
Array-数组类只能用于Javascript。Variables 变量lengththe length property of the array that returns or sets the number of elements in array。数组的长度属性, 返回或设置数组中元素的数量。Functions 函数ConcatConcat转载 2014-02-19 18:26:55 · 12795 阅读 · 0 评论 -
socket编程 tcp/ip
客户端代码 using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; using System.Net.Sockets; namespace client {转载 2014-02-19 18:21:12 · 834 阅读 · 0 评论 -
Socket套接字
1.套接字(socket) 一个完整的网络应用程序包括客户端和服务器两个部分。网间通信进程需要由两个进程组成,并且只能用同一种协议。也就是说,不能在通信的一端使用TCP协议,而另一端则用UDP协议。一个完整的网络通信需要一个五元组来标识:协议、本地地址、本地端口号、远端地址、远端端口号。 应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供转载 2013-04-16 21:14:42 · 1296 阅读 · 0 评论 -
Unity 3D--外部加载资源AssetBundles
Unity 3D里有两种动态加载机制: 一是Resources.Load; 一是通过AssetBundle; 其实两者本质上没有什么区别。Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有这么一个加载过程,只是原创 2013-04-15 22:01:22 · 4333 阅读 · 0 评论 -
Unity 3D--获取ios平台下路径
获取unity程序在ios设备下的路径,从而可以进行相关的文件操作;public string GetPath { get{ string path=null; if(Application.platform==RuntimePlatform.IPhonePlayer) {原创 2013-04-15 21:47:58 · 1838 阅读 · 0 评论 -
Unity3D--物体间引力模拟效果
在真实的宇宙中,小星球总是被大星球吸引过去,其实就是一种力的作用,在Unity3D中如何来模拟这种效果呢?1、在Unity场景中建两个球体,当然,球的大小无所谓,为了区别,我们将之称为大球,小球。2、给小球加上刚体组件,在属性面板中去掉重力选项。新建一“min”层,将小球添加到此层中。3、新建c#代码文件,将到下代码拷贝其中,并将其附着到大球上,属性面板中即显示此代码组件,设置其引力层转载 2013-03-20 22:34:39 · 8000 阅读 · 1 评论 -
Unity--关于中文显示的解决方法
原理:将相关的中文字体导入到Asset目录下,Unity自动将你导入的所有中文字体转换成一张字体贴图,并生成一个Unity字体。然后,就可以在GUI SKin\GUI Style引用生成的Unity字体来显示中文了。步骤:1.打开一个项目,创建一个场景。2.在菜单栏中,创建一个空的GameObject,改名为ChineseFontObject,这个对象作为GUI的容器来使用。3转载 2013-03-20 22:32:46 · 4526 阅读 · 1 评论 -
Unity --bundle的制作和使用
Unity有个很好的功能,大致是很多专注于PC的engine没有提供的(因为没有必要),就是能加载主包外的资源,这个主包外的资源,unity把它叫做bundle。这个功能的提供,主要是在web上或者是ios、android等设备上,主包太大的话,会遇上下载主包时间太长,体验不佳;或者是有些市场直接就限制了主包的大小。制作的bundle的方式,这里只讲bundle中连scene都带入的:1、转载 2013-03-22 15:54:23 · 1009 阅读 · 0 评论 -
Unity3D-- GUI 时钟脚本
var Tu1 : Texture2D;var Time1 : float = 0;function FixedUpdate () {Time1 += Time.deltaTime;}function OnGUI () {GUI.Label(Rect(250,170,161,62),getTime(Time1));GUIUtility.RotateAroundPiv转载 2013-03-26 22:08:45 · 1131 阅读 · 1 评论 -
Unity--简单的摄像机跟随和地面的坐标获取
直接上代码:using UnityEngine;using System.Collections;public class findFloor : MonoBehaviour { private Vector3 floorPosition; private RaycastHit hit; private float rayLength = 300; private原创 2013-04-11 10:43:18 · 3181 阅读 · 0 评论 -
Unity 3D--Camera摄像机组件
正如电影中的镜头用来将故事呈现给观众一样,Unity的相机用来将游戏世界呈现给玩家。你始终至少有一个相机在场景中,你也可以有多个。多相机可以给你一个双人分屏效果或创建高级的自定义效果。你可以让相机动起来,或用物理(组件)控制它们。几乎你能想到的任何事,都可以用相机变成可能,而且为了适合你的游戏风格,你可以用典型的或特殊的相机类型。 相机是为玩家捕捉和显示世界的一种装置。通过定制和操翻译 2013-04-11 11:46:33 · 3874 阅读 · 0 评论 -
Unity 3D--定义摄像机的投影矩阵
Camera.projectionMatrix 投影矩阵如果你改变这个矩阵,相机的渲染不再基于它的fieldOfView更新,直到调用ResetProjectionMatrix.只有当真正需要一个非标准的投影时,才使用自定义投影。这个属性被Unity的水渲染使用来设置一个oblique projection 矩阵。使用自定义投影需要了解变换和投影矩阵。using UnityEngine原创 2013-04-11 11:27:06 · 5690 阅读 · 0 评论 -
Unity 3D-- 摄像机Clear Flags和Culling Mask属性用途详解
1.简述两个属性1.1 Clear Flags 清除标记 每个相机在渲染时会存储颜色和深度信息。屏幕的未绘制部分是空的,默认情况下会显示天空盒。当你使用多个相机时,每一个都将自己的颜色和深度信息存储在缓冲区中,还将积累大量的每个相机的渲染数据。当场景中的任何特定相机进行渲染时,你可以设定清除标记以清除缓冲区信息的不同集合。可以通过下面四个选项之一来完成:1.Skybox 天原创 2013-04-13 22:00:21 · 37703 阅读 · 1 评论