![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity3D
无涯Andy
这个作者很懒,什么都没留下…
展开
-
Unity3d 拖拽物体
void OnMouseDrag() { //屏幕空间拖拽 //float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z; //transform.position = Camera.main.ScreenToWorld原创 2017-02-28 17:23:39 · 1307 阅读 · 0 评论 -
Unity3d 解决文字超出文本框范围
有时文本框中的文字过多会超出文本框的显示范围,影响显示效果。曾经尝试改变字体大小,倒是差强人意。但是,跟整体的风格就不一致了!百度了一下没有找到结果,还是google给力,一个链接就搞定了!Unity3d本身就已经为我们考虑到了这个问题,并且提供了两种解决方案。http://docs.unity3d.com/Documentation/ScriptReference/GUIStyle-clip原创 2013-12-19 10:52:04 · 11273 阅读 · 3 评论 -
Unity3d 倒序播放动画
gameObject.animation["anim"].speed = -1; gameObject.animation["anim"].time = gameObject.animation["anim"].length;gameObject.animation.Play("anim");原创 2013-12-12 16:42:57 · 4954 阅读 · 0 评论 -
Unity3d 更改UI及物体的透明度
Unity3d 更改UI的透明度动态更改GUI纹理的透明度void OnGUI(){alpha += 0.01f;GUI.color = new Color(1f,1f,1f,alpha);GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),tex);}更改物体的透明度renderer.mate原创 2013-11-11 11:29:48 · 19201 阅读 · 1 评论 -
Unity3d判断当前编译平台
Platform Dependent CompilationUnity includes a feature named "Platform Dependent Compilation". This consists of some preprocessor directives that let you partition your scripts to compile and exec原创 2013-10-25 15:10:54 · 2967 阅读 · 0 评论 -
Unity3d为物体添加/删除脚本
Unity中有些脚本一直处于运行状态,虽然可以使用标准判断是否进行处理,但每次判断仍会消耗一定的CPU运算能力。为了避免脚本占用太多的资源,我们只是在需要的时候将其附加到物体上,一旦操作完成就将脚本从物体上删除。为物体添加脚本的方法如下:GameObject go = GameObject.FindGameObjectWithTag("tagname");go.AddCompon原创 2013-10-25 16:00:26 · 9002 阅读 · 0 评论 -
Unity3D深度相机 Depth Camera
作为3D世界里最重要的窗口,摄像机的应用就显得很重要,毕竟在屏幕上看到的一切都得用摄像机矩阵变换得来的嘛。论坛上看到了一篇帖子讲非天空盒的背景做法,让我想起其实很多界面合成画面可以用摄像机之间的交互来实现(避开用GUI,效率问题我没尝试过,但是貌似用深度相机比gui好?以后试验下)。首先说下深度相机,就是用2个或者2个以上的相机,设置好参数后自动到屏幕视觉合成的效果,应用上两个方面:1,背转载 2013-10-24 10:21:08 · 1559 阅读 · 0 评论 -
Unity3d使用delegate
using UnityEngine;using System.Collections;public class delegateTest : MonoBehaviour { delegate void PrintSomething();//定义委托,注意返回类型和参数 PrintSomething m_print;//定义委托变量(委托是一个数据类型) void St原创 2013-09-29 10:47:37 · 1860 阅读 · 0 评论 -
Unity3d动态显示/隐藏GUI
using UnityEngine;using System.Collections;public class testTab : MonoBehaviour { private float xpos = 0f; private bool hide = false; void OnGUI() { GUI.BeginGroup(new Rect(xpos原创 2013-09-27 16:39:39 · 8616 阅读 · 1 评论 -
The diff between Awake,Start And OnEnable
The order of Awake/Start/OnEnable is :1.Awake first. This function was called when all game object are loaded. note that : this function is called only once since the scene is started.2.OnEnabl原创 2013-12-24 20:00:17 · 918 阅读 · 0 评论 -
“failed to update unity web player”失败的问题:
我们使用浏览器加载unity3d文件,不同的网络可能会产生failed to update unity web player的错误,详细信息为:unity web player update finished but installed revision (3578006) is less than required revision (4128001). please rein转载 2014-03-04 11:08:23 · 5779 阅读 · 0 评论 -
Unity3d 发布WebGL 并加载AssetBundle
发布webGL平台前,首先要明确几点:1.发布WebGL时不能使用第三方动态库(可以将第三方动态库的使用放置到网页上实现,如连接数据库等操作)2.其次打包时尽量使用AssetBundles实现动态加载,仿真加载时间过长AssetBundle打包(打包时要注意目标平台)using UnityEditor;public class CreateAssetBundle原创 2017-02-17 10:31:05 · 14615 阅读 · 5 评论 -
Unity3d UGUI 动态加载按钮
static int numPerRow = 5;//每行的按钮个数 static int lineHeight = 60; static float panelWidth = 300; static float panelHeight = 300; public static void ShowSelectPanel(EModelType type) {原创 2015-09-23 15:51:57 · 4939 阅读 · 0 评论 -
Unity3d绘制饼状图
using UnityEngine;public class PieChartMesh : MonoBehaviour{ float[] mData; int mSlices; float mRotationAngle; float mRadius; Vector3[] mVertices; Vector3[] mNormals; V原创 2013-09-26 15:42:03 · 8053 阅读 · 3 评论 -
Unity3d场景加载进度条
int displayProgress; private IEnumerator StartLoading(int scene) { b_showProgress = true; displayProgress = 0; int toProgress = 0; AsyncOperation op = App转载 2014-09-25 11:16:12 · 1256 阅读 · 0 评论 -
Unity3d Shader
Unity3d Shader的属性块结构如下:原创 2014-06-12 09:37:47 · 1282 阅读 · 0 评论 -
Unity性能优化
1、所有贴图的材质大小尽量使用4的倍数,以提高Unity的压缩率,jian's原创 2014-05-12 11:02:32 · 1287 阅读 · 0 评论 -
Unity3d GUI适应分辨率
float sourceWidth = 1024f; float sourceHeight = 768f; float m_fScaleWidth; float m_fScaleHeight; void OnGUI() { m_fScaleWidth = Screen.width / sourceWidth; m_fScal原创 2014-06-10 16:04:40 · 1354 阅读 · 0 评论 -
Unity3d 读写XML文件
PC端:XmlDocument doc=new XmlDocument();doc.Load(xmlFile);//若使用LoadXml()可能会导致加载失败!(xml文件的编码格式问题)XmlElement xmlNode = doc.createElement("item");xmlNode.SetAttribute("属性名",属性值);doc.DocumentElement.A原创 2014-03-06 10:22:42 · 1025 阅读 · 0 评论 -
Unity3D GUI绘制折线图
using UnityEngine;using System.Collections;using System;public class DrawLine : MonoBehaviour { public Vector2[] m_point;//特征点位置 public Color m_lineColor; private static Textu原创 2013-09-27 12:09:47 · 4264 阅读 · 0 评论 -
Unity3d学习笔记
1、物体的移动使用 Input.GetAxis,2、通过按键触发事件使用 Input.GetButton ,不要使用 Input.GetButton 处理物体的移动原创 2013-09-23 10:06:33 · 694 阅读 · 0 评论 -
Unity3d 通过网页下载资源
function Start () { // The sql statement translate to webpage to return a record var sql_text:String = "select * from equipment,image where self_name = '" + self_name + "' and equipment.modelid=i原创 2013-09-05 09:34:52 · 1329 阅读 · 0 评论 -
iTween使用技巧
移动模型时候用到的几个核心方法如下:iTween.MoveTo(): 让模型移动到一个位置,它的底层函数是通过动态的修改模型每一帧的transform.position完成的,所以它会百分之百到达目标点,不会出现误差。iTween.MoveFrom():它和上面的一样,iTween.MoveTo()是将模型移动到目标位置,而iTween.MoveFrom()是将模型从目标位置移动到转载 2013-08-21 14:56:12 · 2013 阅读 · 0 评论 -
Unity3d 更改所有子物体的Layer层
void Start () { foreach(Transform tran in GetComponentsInChildren()){//遍历当前物体及其所有子物体 tran.gameObject.layer = 30;//更改物体的Layer层 } }当需要隐藏一部分物体时,可以使用Layer过滤。在Camera中设置Culling Mask选择要观察的Layer原创 2013-08-20 16:40:58 · 29625 阅读 · 5 评论 -
Unity3d 更改Button的背景色
using UnityEngine;using System.Collections;public class ButtonStyle : MonoBehaviour { public Color _color;//在编辑环境下选择背景色,透明度不能为0 void OnGUI(){ GUI.Button(new Rect(0,0,100,100),"tex"); Color ol原创 2013-08-19 15:37:31 · 6625 阅读 · 0 评论 -
Unity3d 更改鼠标样式
var cursorTexture : Texture2D;var cursorMode : CursorMode = CursorMode.Auto;var hotSpot : Vector2 = Vector2.zero;function OnMouseEnter () { Cursor.SetCursor(cursorTexture, hotSpot, cursorMode)原创 2013-08-19 10:56:53 · 4286 阅读 · 0 评论 -
Unity3D 快捷键
ADDITIONAL INFORMATION Scripting Reference Menu Item Setup http://unity3d.com/support/docum ... rence/MenuItem.htmlHow to add your own custom hotkey to the unity3d Editor Note: This is an editor cla原创 2013-05-23 17:16:56 · 754 阅读 · 0 评论 -
Unity3D 动态显示场景跳转提示框
#pragma strict//Author:Andy Sun//Time:2013/4/16//Function:Load a new scenevar newScene:String;//The Scene that will be Loadedvar sceneView:Texture2D;//The view image the loaded scenepr原创 2013-05-09 16:03:34 · 2145 阅读 · 0 评论 -
iTween visual Editor 的使用技巧
1、首先使用ITween Path编辑路径(无需路径运动的动画可忽略该步骤)2、为需要添加动画的物体添加ITween Event脚本3、若是物体沿特定路径运动,则选中Path,并选择一个路径。4、若想通过脚本控制物体的运动,需要为ITween指定Name属性,通过Name属性访问到某个ITween Event并播放动画。一个物体可以指定多个ITween Event,即一个物体可以有多个原创 2013-05-09 17:25:13 · 3155 阅读 · 0 评论 -
Unity3D运动轨迹拖动效果(Trail Render)实现
简单描述:有时为了实现彗星推动彗尾的美妙效果,也为了表现出物体运动的轨迹,需要为物体的轨迹做出标记表明物体的运动。实现方法:为物体添加Component->Effects->Trail Render组件,为该组件设置你想要让轨迹表现的Material(我用的是FlameD),也可为轨迹指定为显示的颜色。主要参数介绍:Materials:要显示的纹理图像。原创 2012-09-03 21:26:44 · 20434 阅读 · 0 评论 -
unity3d列表分页
using System.Collections.Generic;using UnityEngine;public class Page : MonoBehaviour { public List Tips = new List(); public Texture2D DetailImg1; public Texture2D DetailImg2; priv原创 2013-08-22 15:39:55 · 2989 阅读 · 2 评论 -
Unity3d 封装字段并在Inspector中显示
有时候,需要在一个变量中包含另一个变量,就像结构体一样可以在一个结构体中包含另一个结构体变量。然而,Unity中使用结构体变量并不能在Inspector面板中显示出来。所以,我使用class来封装字段,并在Inspector面板中显示。准备用于序列化的对象必须设置 [System.Serializable] 标签,该标签指示一个类可以序列化,便于在网络中传输和保存。有关 [System.Ser原创 2013-08-22 09:32:52 · 4166 阅读 · 0 评论 -
Unity3d 从数据库中读取带有换行符的文本
在Unity脚本中可以直接使用带有“\n”转义字符的字符串,使得字符串能够在GUI中显示换行。然而,若是在Unity中使用从数据库中读出的字符串,Unity会将字符串中的转义字符当作普通的字符显示在GUI中,而不会将字符串换行。这时,需要使用下面的语句将从数据库中读出的字符串格式进行转换,使Unity能够正确处理转义字符。content = System.Text.RegularExpress原创 2013-09-02 13:08:06 · 5578 阅读 · 1 评论 -
Unity3d 调用C++写的DLL
1、创建DLL打开VS2010,创建一个win32应用程序,选择创建一个DLL类型的空项目。新建一个头文件和一个源文件。在头文件中写入#if defined (EXPORTBUILD) # define _DLLExport __declspec (dllexport) # else # define _DLLExport __declspec (dllimport)原创 2013-08-29 14:52:34 · 1540 阅读 · 0 评论 -
Unity3d 去掉exe版本的边框
网上有好多介绍Unity3d去除边框的文章,大都是出自同一个地方。http://www.pixelstudio.nl/?p=204,好多人还让必须用指定的文件名(文件名必须与类名一致)。把网上的代码copy过来实验了一下,结果不能用。so,查找各种资源,最终解决掉了。using System;using System.Runtime.InteropServices;using UnityE原创 2013-08-27 17:06:16 · 6601 阅读 · 2 评论 -
Unity3d 通过网页链接Oracle数据库,并与网页通信
使用Oracle数据库作为数据存储,并将连接字符串写入配置文件;<!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> 在调用*.unity3d的HTML页面中添加如下代码: <!-- /原创 2013-08-16 13:21:13 · 1892 阅读 · 0 评论 -
unity3d 帮助引导
/* Author:AndySun * Time:2013/8/19 * Function:Loader Help Image * Version:003 **/using System.Collections.Generic;using UnityEngine;[RequireComponent(typeof(GUITexture))]public class Loa原创 2013-08-27 09:38:51 · 1029 阅读 · 0 评论 -
Unity3D显示中文字体
步骤:1.安装bmfont,然后打开bmfont,选择options菜单->Font settings,界面如下:下载连接: http://pan.baidu.com/share/link?shareid=398767&uk=29383788172.选择“微软雅黑”(注意不是“@微软雅黑”,没有“@”符号,否则之后导出的字体是横向的),unicode编码,如下图:转载 2013-08-15 15:25:00 · 6222 阅读 · 0 评论 -
Unity3D Logo 渐隐渐出
using UnityEngine;using System.Collections;public class Splash : MonoBehaviour{ public string levelToLoad = ""; // this has to correspond to a level (file>build settings) public Texture2D s转载 2013-08-14 15:11:46 · 1459 阅读 · 0 评论 -
Unity3d 地图
using UnityEngine;using System.Collections;public class Map : MonoBehaviour { public GameObject player;//要定位的物体、人物 //设备在地图上的信息 [System.Serializable] public class Equipment {原创 2013-08-22 10:27:06 · 1343 阅读 · 0 评论