![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity3D
SODASTUDIO
無北之南
展开
-
Using C# delegates in Unity3D scripts(抽时间翻译)
When Unity3D 3.0 came out, it not only fixed a lot of bugs and added features, but it also upgraded the Mono version being used, including C# language features like namespace support, linq and delegat翻译 2012-04-25 09:02:44 · 662 阅读 · 0 评论 -
C#事件和Unity3D
你知道C#有一个内置的事件机制吗?这个东东在Unity3D里也非常好用。下面举一个例子。 为了响应一个GameObject的事件分发,你通常要建立一个脚本继承MonoBehaviour并且实现你需要的方法。比如你想对鼠标悬停作出反应,就要创建OnMouseOver方法。通常代码会像这个样子: void OnMouseOver () { renderer.material.color转载 2012-04-23 15:40:19 · 681 阅读 · 0 评论 -
【转载】音乐开关及音量控制
在Component -- Audio下创造一个Audio Source 附于一个GameObject上,加上音乐,把playOnAwake勾去掉,然后将控制脚本附于它,再建一个GUI按钮来调用AudioSwitch()这个函数就OK了。本帖隐藏的内容需要回复才可以浏览var myAudio;myAudio = GetComponent(AudioSource); //获取声音元件private原创 2013-08-26 11:28:54 · 2428 阅读 · 60 评论 -
【转载】类似QQ功能的界面
移到最顶部时会自动收起。。工具栏宽度根据程序自动拉升宽度。。。只限在上下移动。。自己的应用程序里要用到这个。。所以花时间做了个。。在这共享给大家。比较简单。。高手就不要看了。。本帖隐藏的内容需要回复才可以浏览var windowRect = Rect (0, 20, 200 , 50);function OnGUI () {windowRect = GUI.Window (0,Rect(0,win原创 2013-08-26 11:28:56 · 647 阅读 · 1 评论 -
unity3d获取鼠标3个键的响应
鼠标左键GetMouseButton(0)鼠标右键GetMouseButton(1)鼠标中键GetMouseButton(2)原创 2013-08-26 11:28:59 · 642 阅读 · 0 评论 -
【转载】Ragdoll布娃娃组件
原文地址:Ragdoll布娃娃组件作者:RayYang因为自己瞎弄着玩的时候,弄了一个出来,好像没见过有人说过关于布娃娃组件的,分享给大家,希望大家喜欢!首先我们先要有一个3DMax做的人物模型,我就以官方的Hero做例子。打开Unity3D,导入“Hero” ,创建一个Plane做地面,光源随意,如图: 在Hierarchy视窗中將Hero的Reference打开,可以看见Hero的骨骼,如图:原创 2013-08-26 11:29:01 · 903 阅读 · 0 评论 -
【转载】Unity3D美术方面贴图蓄力帖(值得珍藏学习)
我们都知道,一个三维场景的画面的好坏,百分之四十取决于模型,百分之六十取决于贴图,可见贴图在画面中所占的重要性。在这里我将列举一些贴图,并且初步阐述其概念,理解原理的基础上制作贴图,也就顺手多了。我在这里主要列举几种UNITY3D中常用的贴图,与大家分享,希望对大家有帮助。01 首先不得不说的是漫反射贴图:漫反射贴图diffuse map 漫反射贴图在游戏中表现出物体表面的反射和表面颜色。换句话原创 2013-08-26 11:29:03 · 1628 阅读 · 0 评论 -
Unity3d GUI中的图片跟随鼠标旋转脚本
var Mid : Texture2D; var mouse : Texture2D; //鼠标图片 var mousePs = Vector2.zero; //鼠标的位置 private var angle : float; function Update () { mousePs = Input.mousePosition;//获取鼠标位置 angle = 180 - Mathf.原创 2013-08-26 11:29:15 · 859 阅读 · 0 评论 -
【转载】使用Unity开发项目的一点经验
我们主要使用3dsmax2010进行制作,输出FBX的类型导入Unity3D中。 默认情况下,3dsmax8可以和U3D软件直接融合,自动转换为FBX物体。 注意事项如下: 1. 面数控制 在MAX软件中制作单一Game Object物体的面数不能超过65000个三角形,即32500个多边形Poly,如果超过这个数量的物体不会显示出来,这就需要我们合理分布多边形和模型数量。 打开MAX场景,选择F原创 2013-08-26 11:29:17 · 642 阅读 · 0 评论 -
unity3d中地形的制作
Unity3D手册中介绍了两种地形制作方法: 一、在SceneView中使用height tools直接绘制 二、使用外部工具制作的heightmaps 直接绘制地形很简单,不过只适合小面积地图的制作,对于真实游戏项目来说,这样拉地形实在太复杂,一般我们都会使用外部工具,比如PS,比如max来制作高度图,然后导出为一张灰度图,在引擎中将其转换为地形。 Unity3D也支持了这种做法,即导入原创 2013-08-26 11:29:19 · 1739 阅读 · 0 评论 -
如何让光线随着时间变化
变换光线是颜色的渐变!调用light组件里边的颜色属性进行渐变,渐变的方法是Mathf.Lerp();light.intensity = Mathf.Lerp(0,1,Time.time * 0.1);原创 2013-08-26 11:29:21 · 557 阅读 · 0 评论 -
CDK? 免费版CryEngine 3
继Unity的免费Indie版, Unreal的UDK之后, 独立游戏引擎市场上又将有重磅炸弹来袭, 这就是Crytek的CryEngine 3.据Crytek CEO Cevat Yerli透露, 免费版的CryEngine 3将同样基于CryEngine的最新技术, 不同于mod模式的是, 不需要依附于已有游戏, 而是一个完整的独立平台. 具体技术细节和授权模式还不得而知. Cevat同时说明原创 2013-08-26 11:29:42 · 1077 阅读 · 0 评论 -
UDK目录结构解析
作者:死猫@indiegm.com如果之前你有Unreal Mod的开发经验的话, 对UDK的目录结构应该不陌生. 如果这是你第一次接触Unreal引擎, 也不要担心, 阅读完这篇文章相信你开始对UDK有更多的了解.毫无疑问Unreal引擎是复杂的, 但就目录结构来说, UDK的目录还是很简洁明了的. 这里我们以UDK-2009-11-BETA-2版本为例进行讲解, 这是UDK的第二个Beta版本原创 2013-08-26 11:29:44 · 1023 阅读 · 0 评论 -
【转】Unity3D Source Code示例汇总
Unity Examplehttp://unity3d.com/support/resources/example-projects/ M2H game studio – Unity Developer Resourceshttp://www.m2h.nl/unity/ inanegames.ca – StarterKitshttp://inanegames.ca/StarterKits/ Thi原创 2013-08-26 11:29:53 · 2073 阅读 · 0 评论 -
Unity3D实用工具汇总
1. Free Shader editor 免费shaser编辑器http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Beta-3.0-released-%28vertex-lighting-support%292. Commercial Shader Editor 商业shader编辑器http://forum.unity3d原创 2013-08-26 11:29:59 · 1717 阅读 · 0 评论 -
[Unity3D] 可重载虚函数总结(事件,回调函数,消息处理)
重载虚函数Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结。Awake当前控制脚本实例被装载的时候调用。一般用于初始化整个实例使用。Start当前控制脚本第一次执行Update之前调用。Update每帧都执行一次。这是最常用的事件函数。FixedUpdate 每固原创 2013-08-26 11:30:03 · 598 阅读 · 0 评论 -
计算机3D图形基础在Unity中的实现(Vector3,Maxtrix4*4,Transform)
直接切入正体回忆以前Direct3D中的空间向量图形知识,以及研究Unity3D里是怎么表示的。 Vector3: Vector3这词最早是谁发明的无从考证了,但是Unity3D里出现了这个名词的时候,我才意识到这个不是D3D和openGL才有的变量名,D3D里叫做 D3DXVECTOR3继承自_D3DVECTOR结构体,其中_D3DVECTOR结构体只有3个单精度数X,Y,Z。用于表示向量。 U原创 2013-08-26 11:30:10 · 964 阅读 · 0 评论 -
[Unity3D]开发视图中的标记 - Gizmos
这个类用来做自己的组件很不错,比如下面这个图的路径点,他其实是个Empty Object,可以自己加脚本让他带上标记。官方解释还可以用来做帮助提示的-.- 大游戏场景的制作时候,你可以用这个在地图上写下注释。属性:color 画得颜色matrix 设置矩阵,用于画所有Gizmos (具体用法未知)方法:DrawRay 画射线DrawLine原创 2013-08-26 11:30:13 · 1006 阅读 · 0 评论 -
[Unity3D]GUI 效果一览
function OnGUI() { GUI.Label(Rect(1,1,100,20),"I'm a Label"); //1 GUI.Box(Rect(1,21,100,20),"I'm a Box"); //2 GUI.Button(Rect(1,41,100,20),"I'm a Button"); //3 GUI.RepeatButton(Rect(1,61,120,20),"原创 2013-08-26 11:30:20 · 815 阅读 · 0 评论 -
Unity3D结合VS2008加快Unity3D C#开发
Unity3D中所使用的编程语言有三种:C#,JS和BOO。同时自带了免费的编辑器,然而在windows下,编辑器还是VS最强大,所以本文就探讨如何配合Unity3D使用VS2008。1、创建一个Unity3D工程,在指定的目录下会生成Asset文件夹。2、启动VS2008,新建一个Visual C#的类库项目,在“位置”处指定刚才Unity3D所创建的文件夹。3、在资源管理器中添加到UnityE原创 2013-08-26 11:30:48 · 571 阅读 · 0 评论 -
Unity3D 输入中文
临摹 U火山案例 学习过程的一些总结及发现:一、Unity自带的脚本编辑器“UniSciTE”通过 一些修改设置就可以输入中文;而且以后注释也可以用中文了。方法:1.用记事本打开C:\Program Files\Unity\Editor\Data\Tools\UniSciTE\SciTEGlobal.properties2.找到# Internationalisation 这一行下面的都是设置编码原创 2013-08-26 11:30:52 · 2523 阅读 · 0 评论 -
漫游动画摄像机制作
方法一1. 在3dmax中制作摄像机或dummy物体,按照想要的路径设置动画;2. 导出Fbx;3. 在unity中,将Main Camera放到3dmax中,camera位置,然后将maincamera拖到3dmax模型的camera下,作为其子物体;4. run,动画完成;方法二 用spline controller在unity中直接制作,在http://www.unifycommunit原创 2013-08-26 11:31:06 · 713 阅读 · 0 评论 -
【转】使用 MonoDevelop 调试 Unity3D 的正确步骤
Unity3D 是一个基于 Mono 的跨平台游戏引擎,支持 PC 、MAC 、 Android 、IOS 等多种平台,其 3.0 以后的版本支持用 MonoDevelop 调试,很多人安装了之后发现 MonoDevelop 的调试按钮是灰色的,无法进行调试,通过看官方文档和测试,发现正确的调试步骤如下:MonoDevelop 的安装与设置:下载并安装 Unity3D 以及其内置的 MonoDe原创 2013-08-26 11:31:47 · 578 阅读 · 0 评论 -
【转】敌人跟随效果制作
//注意,这个脚本要和unity自带的smoothlookat、ConstantForce一起放置到“敌人”上,“敌人”需要添加rigidbodyvar detectObject: Transform;var distanceDetection: float;function Update () { if (detectObject) { var dist = Vector3.Distance原创 2013-08-26 11:32:13 · 751 阅读 · 0 评论 -
【转】间歇脚本(通用脚本)-U吧
大概的过程:脚本有2个公共变量和一个布尔变量。公共变量时控制间歇的时间,即开多长时间,关多长时间。(例子里是火山喷射5秒,停5秒)。布尔变量时控制开关。指示的是间歇的状态(例子中控制的是火山是在喷射状态还是子啊停歇状态。)这样只要用这个布尔变量的状态就可以达到一个间歇的状态。如应用到开始说到的物体闪烁。就可以在判断的后边通过开遍物体的颜色和调回物体的颜色中的某一个值来达到目的。public var原创 2013-08-26 11:32:22 · 467 阅读 · 0 评论 -
CS调用js脚本变量
using System.Reflection;// 反射 (需要加入头文件)Offset = GetComponent("MainBoardTopJS");FieldInfo OffsetXFieldInfo = Offset.GetType().GetField("OffsetX");OffsetX = (float)OffsetXFieldInfo.GetValue(Offset)原创 2013-08-26 11:32:40 · 783 阅读 · 0 评论 -
【转】鼠标操作人物移动
var GO:GameObject;static var pointx:float;static var pointy:float;static var pointz:float;function Start (){pointx=GO.transform.position.x;pointy=GO.transform.position.y;pointz=GO.transform.position.z原创 2013-08-26 11:32:44 · 552 阅读 · 0 评论 -
魔兽视角
/*This camera smoothes out rotation around the y-axis and height.Horizontal Distance to the target is always fixed.There are many different ways to smooth the rotation but doing it this way gives you原创 2013-08-26 11:32:49 · 595 阅读 · 0 评论 -
用C#下载图片
using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour {public GameObject obj;// Use this for initializationWWW www;void Start () { StartCoroutine(ABC("http://ima原创 2013-08-26 11:33:02 · 532 阅读 · 0 评论 -
Unity3d的执行机制
原创 2013-08-26 11:33:36 · 1020 阅读 · 0 评论 -
嵌入式数据库sqlite
-----------(转自虚拟神话)也许往往大家是不需要像MySQL、SQLServer这类在复杂的数据库,那么sqlite值得你去尝试下!什么是 sqlite ?sqlite 是一款轻量级的、基于文件的嵌入式数据库,2000年就已经诞生,经过多年的发展,直到今天已经成为最流行的,包括google在内的公司在其桌面软件中亦使用 sqlite 存储用户数据(典型的在金山词霸、Mozilla Fir原创 2013-08-26 11:33:38 · 702 阅读 · 0 评论 -
N卡A卡之抗锯齿
什么是抗锯齿呢?简单明了地说就是抗图像失真..再简单点说就是在图像中因为分辨问题,边缘难免会出现呈现三角形的锯齿。这时候就需要抗锯齿功能了..如果你的显卡是英伟达那么恭喜我和你的显卡一样~英伟达显卡是可以在控制面板里把抗锯齿强行开启的。首先你得确保你有显卡的控制面板 如果没有的话去下载一个 http://www.drivergenius.com/然后把显卡驱动更新了 .. 重启就有了。之后打开NV原创 2013-08-26 11:33:40 · 2275 阅读 · 0 评论 -
【转】网络游戏架构
1、 一种架构是Peer-to-Peer 对等通信结构,如下图所示,即在多个玩家参与的游戏中,各玩家之间采用Peer-to-Peer的直接通信方式。在网络通信服务的形式上,一般采用浮动服务器的形式,即其中一个玩家的机器既是客户端,又扮演服务器的角色,一般由创建游戏局的玩家担任服务器(主机)。很多对战型的RTS网络游戏都采用这种结构。2、 另一种架构是基于游戏大厅代理的结构,通过会话大厅(lob原创 2013-08-26 11:35:00 · 776 阅读 · 0 评论 -
【转】手机”读取XML
Dear All: 我们都知道如果将档案或Prefab放到Resources的资料夹,就可以透过Resources这个class读取资料夹中的档案或Prefab。我们也知道在UNITY里头,可以使用.NET Framework的XmlReader来读取XML档案。我们更清楚,使用Application.dataPath可以取得Assert资料夹的位置。所以...问题:当你把XML档案放置于Reso原创 2013-08-26 11:35:04 · 1426 阅读 · 0 评论 -
【转】重力感应和罗盘
iPad 的玩家大概都用过 StarWalk 这款应用——强力到无以附加的星图软件。StarWalk 里的世界其实就是虚拟了一个环绕用户的天球,当然还能够与真实的天球对应得上,当用户举着 iPad 对向不同方位时,能够从 iPad 屏幕上看到天球上对应的那一方向上的区域,就如同真的在用望远镜观察天球一样。这里面的原理其实很简单,整个虚拟的天球就是游戏世界,主摄像机就在这个游戏世界的正中心点,当 i原创 2013-08-26 11:35:09 · 2496 阅读 · 0 评论 -
为什么使用四元数
为什么使用四元数为了回答这个问题,先来看看一般关于旋转(面向)的描述方法-欧拉描述法。它使用最简单的x,y,z值来分别表示在x,y,z轴上的旋转角度,其取值为0-360(或者0-2pi),一般使用roll,pitch,yaw来表示这些分量的旋转值。需要注意的是,这里的旋转是针对世界坐标系说的,这意味着第一次的旋转不会影响第二、三次的转轴,简单的说,三角度系统无法表现任意轴的旋转,只要一开始旋转,物原创 2013-08-26 11:35:14 · 1581 阅读 · 0 评论 -
【原】口袋坦克(PocketTank)版本Ⅰ---出炉了
-----说明-----独立开发制作的游戏,借鉴了坦克英雄的风格。大半个月夜晚的折磨,游戏昨晚也算写好了,改掉了很多BUG。。独立开发的确很苦,但成果出来还是开心的,这就所谓痛苦并快乐着吧。。由于时间和经验有限,只做了三关。欢迎大家拍砖~-----坦克种类-----目前实现了五种类型,以后也许会继续添加新的兵种。把所有兵种都塞到第三关了-鬼门关,哈哈 -----Android-----这款小游戏同原创 2013-08-26 11:34:57 · 1371 阅读 · 0 评论 -
【转】AStar寻路算法文档翻译
一周前就翻译出来了,一直没时间发出来,今天有空过来整理下,有些地方不是逐字翻译,加了自己的理解,有问题一起讨论,若有理解不当的地方,期待指正...原文地址 http://www.arongranberg.com/unity/a-pathfinding/docs/get-started/Get Started With The A* Project下载工程包:http://www.arongranb原创 2013-08-26 11:29:56 · 1168 阅读 · 0 评论 -
[Unity3D]脚本文件间的数据交互
原来一直在往实例化类的地方考虑调用,发现实例化步骤都被封装了,无从下手,受到别人提醒,可以用static静态变量访问对方数据。 u3d的js脚本其实也只是自动封装成了类,不像c#,boo那样在代码里显示这个类的申明过程,但是js文件也是一个文件一个类的,其类名就是他的文件名,所以直接 static public var iTest:int = 102;然后在目标文件中直接调用print(test原创 2013-08-26 11:30:06 · 1325 阅读 · 0 评论 -
【转】Unity3d中硬件改变鼠标指针插件
Unity3d中现有的改变鼠标指针(cursor)的方法只有一种:隐藏cursor,然后再在mouse position的画Texture2D。这种方法影响效率,并且在帧率比较低的时候鼠标会有停顿感。通过这个插件可以轻易的实现硬件改变鼠标指针,但是缺点是只能应用在Windows Standalone的应用中,不能用于发布到网页版或者其他平台的unity包中。//启用自定义鼠标UnityWinUti原创 2013-08-26 11:31:31 · 767 阅读 · 0 评论