unity 3D
Werty01
这个作者很懒,什么都没留下…
展开
-
float问题
早就听说 float和double内存管理的原因不能直接比较大小。今天,借助unity平台,来看一下 c#中float的比较问题。1.常数比较和未计算的变量比较using UnityEngine;using System.Collections;public class Main : MonoBehaviour { float testNum = 1f; float resu原创 2014-12-01 11:52:07 · 1337 阅读 · 0 评论 -
JsonException: Max allowed object depth reached while trying to export from type System.Single
在进行类转json字符串时,报错JsonException: Max allowed object depth reached while trying to export from type System.Single。ok,实际上是类的属性中有json不能识别的数据类型,我这里就脑残的float。去除掉之后就ok了。(备注:用的是LitJson)那一般什么类型是允许的呢?我在J原创 2015-01-26 15:20:17 · 16735 阅读 · 0 评论 -
unity3D 编译警告
1。There are 2 audio listeners in the scene. Please ensure there is always exactly one audio listener in the scene.解决办法:将后添加相机的Audio Listener移除原创 2014-12-23 13:13:07 · 2432 阅读 · 0 评论 -
Unity3D-各种坐标系
世界坐标世界坐标系,是现实物体在空间的位置。获取GameObject的世界坐标:transform.position世界坐标转屏幕坐标Vector3 screenPos = Camera.WorldToScreenPoint(worldPos.Position);屏幕坐标屏幕左下角为(0,0),右上角为(Screen.width,Screen.height)鼠标原创 2015-01-16 10:51:12 · 1076 阅读 · 0 评论 -
Unity3D-Mesh创建中三角形索引的算法
解释一下上一篇中Mesh的三角形索引算法。首先是要知道顶点数组是如何产生的:如此图,一个大矩形,是由6个顶点,两个矩形构成的。一般来讲,构建此矩形,需要知道每个顶点的位置,以及顶点和顶点之间的关系。ok, // 初始化顶点位置 private void initVertexPos() { int currentIndex = 0;原创 2015-02-03 19:22:01 · 8576 阅读 · 2 评论 -
Unity3D-代码实现GameObject创建
OK,上面已经创建了一个Mesh,我们就用Main.cs来代码创建GameObject。一般是shader附着在Material Material附着在Mesh上。但是Mesh我们已经生成了,很难用代码得到生成的结果,只好拖入面板中,再将拖入面板的GameObject托给Main.csOK,看Main.cs的主代码using UnityEngine;using Syste原创 2015-02-03 19:30:31 · 12300 阅读 · 0 评论 -
Unity3D-Mesh创建
Mesh需要用代码创建。using UnityEngine;using System.Collections;using UnityEditor;public class CreateMesh : MonoBehaviour { // 顶点集合 private Vector3[] vertices = new Vector3[ConstNumber.PointSum原创 2015-02-03 18:56:54 · 2925 阅读 · 2 评论 -
Unity3D工程MAC导入Windows报错
问题,如题。解决方案:删掉工程中的library文件夹,重新导入,OK!原创 2015-01-25 17:54:18 · 4594 阅读 · 0 评论 -
Shader-应用surf实现透明材质
曾经写过一篇关于透明效果shader的实现,不过使用的是顶点片段着色器,今天实现的效果是用表面着色器来实现透明效果。其实很简单,不过自己悟性太差。此处我要解决一个更大的问题是,Mesh顶点颜色变换,通过shader反应出随时间变化的效果,那么就需要显示出顶点的颜色。附带着有透明效果Shader "Custom/Pollutant" { SubShader { Tags原创 2015-02-03 19:40:04 · 2799 阅读 · 0 评论 -
DrawCall(一)
首先,DrawCall是渲染一次拥有同一网格并携带同一种材质的物体会使用一次DrawCall。新建一个Material 1,Texture 为图片1,同样 再建一个Material 2,Texture为图片2。————————————DrawCall:0————————————新建Cube1,拖入Material1————————————Draw原创 2015-04-02 11:50:06 · 815 阅读 · 0 评论 -
Unity 扩展
using UnityEditor;using UnityEngine;using System.Collections.Generic;public class DefinesWindow : EditorWindow{ [MenuItem ("Window/Defines")] static void Init() { // Get existing open win原创 2015-07-16 09:48:14 · 844 阅读 · 0 评论 -
记一次基于Unity的Profiler性能分析
A. WaitForTargetFPS: Vsync(垂直同步)功能所,即显示当前帧的CPU等待时间 B. Overhead: Profiler总体时间-所有单项的记录时间总和。用于记录尚不明确的时间消耗,以帮助进一步完善Profiler的统计。 C. Physics.Simulate: 当前帧物理模拟的CPU占用时间。转载 2015-07-17 20:39:09 · 1212 阅读 · 0 评论 -
记一下关于Instantiate时Awake Start的执行
Root using UnityEngine;using System.Collections;public class RootScript : MonoBehaviour { public GameObject profab; void Awake() { Debug.Log(Time.time + "Root Awake"); }原创 2015-07-20 14:51:34 · 2677 阅读 · 0 评论 -
loading条顺滑加载
大部分代码参考了http://www.58player.com/blog-2537-89690.html不过,它的逻辑有地方不太严谨,对比一下即可。 /// /// 异步加载场景 /// public void LoadScene() { if(!string.IsNullOrEmpty(loadScenePath)) {原创 2015-07-22 21:22:30 · 1215 阅读 · 0 评论 -
Multi-object editing not supported
今天整理了一下自己以前写的Demo结果发现我的所有GameObject的transfrom全都有Multi-object editing not supported感觉自己没有操作失误的地方。百度了一会,没有给出一些具体的解决方案。原因,其实unity新建的时候有一个特殊的文件夹是Editor,它是不可见的。我估计是自己动到这个神秘地带了。我把工程Copy一遍,Editor是隐藏的原创 2014-12-16 13:20:46 · 5549 阅读 · 1 评论 -
Unity-Physics.Raycast
关于API看一下链接http://game.ceeger.com/Script/Physics/Physics.Raycast.html• static function Raycast (origin : Vector3, direction : Vector3, out hitInfo : RaycastHit, distance : float = Mathf原创 2014-11-21 12:42:23 · 1835 阅读 · 0 评论 -
Unity3D-rigidBody.velocity
还有半小时就下班了,写一下今天遇到的问题、处理方法以及一些自己的理解。理解的不一定对,还希望大家指正。今天我做的效果是,hero的移动。以前做过用的是transform.Translate(Vector3.forward*Time.deltaTime*Speed);但是这样做有些bug就是移动不持续,当然你也可以加上时间延时函数,一点点的模拟动画效果,太麻烦了(我就想这样干)。后来原创 2014-08-18 18:09:25 · 15847 阅读 · 0 评论 -
Unity3D-UnityTestTool集成测试
其实,我暂时还是用不到集成测试的,不过,还是跟着教程继续写下去。第一步,创建场景,我的场景就是 一个cube自由落体,落在地形上。开始测试选菜单栏 Unity Test Tools->Integration 点加号 新建出来 一个New Test 在它之下 创建一个GameObject 创建脚本TestScript 绑定在 GameObject上using UnityE原创 2014-09-04 13:18:57 · 2243 阅读 · 0 评论 -
Unity3D-NavMeshPath动态寻路(重点补充)
领导让做个动态寻路的效果,而不是简单的自动寻路。意思是,首先Monster 检测hero的位置先自动寻路,如果hero位置不改变,说明刚才的寻路路径是正确的;如果hero位置改变,但是改变后的位置依然在旧的寻路路径上,也说明旧的寻路路径有用;但是如果hero的位置改变,而且已经不在刚才的寻路路径上,说明需要重新寻路。ok,说清楚了效果,关键是如果得到旧的寻路路径,只要再遍历一下就好了。原创 2014-08-21 16:37:26 · 17734 阅读 · 2 评论 -
Unity-3D 委托Delegate
概念啥的就不说了,我先写个在Unity3D中的小Demo原创 2014-08-25 17:57:35 · 1558 阅读 · 0 评论 -
Mac下Android配置及unity3d的导出Android
昨晚实在弄的太晚了,费尽脑汁才弄出来。ok,关于mac下的eclipse的安卓配置,我只贴一个网址,就ok了http://developer.android.com/sdk/index.html我也不知道为什么,公司的网打不开,反正昨天在家的时候是可以的。下载完之后,直接解压缩,里面Eclipse SDK 什么乱七八糟的都有了直接运行就可以了。如果不行的话,可以留言 我sh原创 2014-08-28 08:57:25 · 8714 阅读 · 3 评论 -
Unity3D-MonoDevelop的中文注释 及 unity3D的debug
ok,今天开始接触正式的代码了,几万行的代码,直接就晕了,不知道什么时候才能熟悉过来。按照自己的经验,熟悉代码方式,最好不过debug了和eclipse不同的是 Unity 和编代码的MonoDevelop是两个软件,着实让我的脑细胞有点转不过来(固化思维)。First,如何Debug。打开Unity,菜单栏 unity-》Preferences->External Tools 第原创 2014-08-29 16:16:27 · 3836 阅读 · 1 评论 -
Unity3D-关于协程的一些东西
今天在做关于延时的效果。Unity好像是没有子线程,我不知道自己理解的对不对,不过当前的理解能解释通效果就好,哈哈。协程,协助线程。看代码 void Update(){ Debug.Log("1"); StartCoroutine("WaitSomeSeconds") ; //StartCoroutine(WaitSomeSeconds(原创 2014-08-17 21:25:54 · 1011 阅读 · 0 评论 -
Unity3D-NavMeshAgent寻路
上午,我做了关于Monster的自动寻路功能。ok,先贴一下网上当下来,关于NavMeshAgent的属性和方法。关于U3D内置的寻路组件主要分为两大个类,NavMesh和NavMeshAgent;前者用于设置寻路的网络,后者设置寻路的Object。在NavMesh对外公开的方法有:Raycast 跟踪上NavMesh的两个点之间的射线。CalculatePath 计算原创 2014-08-19 14:13:56 · 13134 阅读 · 0 评论 -
Unity3D-UnityTestTool单元测试
领导让我进行一下我们Unity工程的单元测试,百度了一下,unity有自己的工具(貌似相当于eclipse的juint)。网上的教程太小了,貌似就这位大神的一篇。http://www.jianshu.com/p/102e2459604e高手们可以看一下。好处,那篇文章总结的很详细。例如,单元测试不用play只是测某个函数(方法)比较方便。我先写了一个小D原创 2014-09-04 10:52:43 · 6665 阅读 · 1 评论 -
Unity3D-UnityTestTool单元测试(续)测试进行中的游戏
从上周开始阅读,UnityTestTool的英文文档。在Docs下有英语和日语的说明文档。实际上,就是结合Examples文件夹下面的几个例子讲了讲这个工具如何运用。例子简单粗暴,改天有空的话,我可以贴一贴自己的阅读心得。但是我最需要的unit test讲的很少。好吧。只好借用这篇文章结合UnityTestTool来进行单元测试。ok,先贴一下链接,ht原创 2014-09-16 18:31:42 · 2607 阅读 · 1 评论 -
Unity3D-Unity Profiler性能分析器
长话短说,我整理了一下mac版Unity3D pro下的Profiler连接Android的使用。注意是专业版的Unity3D。在Window下会有Profiler这个工具的意义是,游戏在客户端跑然后UnityProfile测试一些参数连接手机有两种方式。1.wifi:让手机和电脑痛处于同一局域网内。2.数据线连接(下好各种驱动),一般只要Unity中 Build And原创 2014-09-25 16:44:16 · 7161 阅读 · 0 评论 -
NavMesh动态碰撞
今天遇到一个问题,就是如何处理一些动态的障碍物。NavMesh是可以躲避静态的障碍物,NavMeshObstacle的作用就是动态增加障碍。但是有个问题,NavMeshObstacle是圆,连椭圆都不行,所以,只好写一个附属脚本,用圆拼成矩形,就可以了。using UnityEngine;using System.Collections;public class NavMeshObsta原创 2014-11-18 17:55:40 · 4608 阅读 · 2 评论 -
Unity3D-小知识点总结
1.当前时间Time.time原创 2014-08-17 21:38:12 · 1755 阅读 · 1 评论 -
文件流方式 删除prefab空脚本
看了这个问题,好几天,试验了雨松的方式还是不行,只好采用他最后建议的文件流的方式。再次贴一下核心代码。 /// /// 删除一个Prefab上的空脚本 /// /// prefab路径 例Assets/Resources/FriendInfo.prefab private void DeleteNullScript(string path) { bool isNull = f原创 2016-09-21 10:38:15 · 2216 阅读 · 0 评论