
unity开发
混合现实学习
无一独二
ISP
展开
-
unity中计算不规则模型的体积与表面积—三角面片与四面体
最近项目需要对不规则物体的体积与面积进行计算,查阅了很多资料都没有进展,有的说用微积分的也有用VTK的感觉这些都很麻烦而且没有具体明确的思路,今天看到一篇相关资料感觉很简单易懂而切也很实用。 代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;[RequireCompone...转载 2018-07-11 21:38:16 · 4836 阅读 · 3 评论 -
Unity3d 用鼠标拾取模型的顶点
用鼠标拾取模型的顶点, 那么首先要做的是获取鼠标发出的射线与模型的碰撞点.代码:using System.Collections;using System.Collections.Generic;using UnityEngine;public class ll : MonoBehaviour { private object spheretransform; // Use this...转载 2018-05-31 15:19:48 · 2076 阅读 · 0 评论 -
Unity 3D中的射线与碰撞检测
射线是在三维世界中从一个点沿一个方向发射的一条无限长的线。在射线的轨迹上,一旦与添加了碰撞器的模型发生碰撞,将停止发射。我们可以利用射线实现子弹击中目标的检测,鼠标点击拾取物体等功能。Ray射线类和RaycastHit射线投射碰撞信息类是两个最常用的射线工具类。创建一条射线Ray需要指明射线的起点(origin)和射线的方向(direction)。这两个参数也是Ray的成员变量。注意,射线的方向在...转载 2018-05-29 21:50:45 · 5799 阅读 · 0 评论 -
在unity中对物体进行放大缩小,绕X,Y,Z轴进行旋转,左右上下平移,显示隐藏
以下代码实现对物体的一些列操作:using UnityEngine;public class sanweixuanzhuandx : MonoBehaviour{ private float positionX; private float positionY; private float positionZ; private float scalePosiontX ...原创 2018-05-24 22:38:43 · 3281 阅读 · 0 评论 -
unity -针尖总是对准鼠标点击处的方向并一键平移到鼠标点击处实时显示距离
最近要实现一个针总是朝向鼠标点击处的方向,在最初只能进行2维平面上的朝向不能进行3维上的朝向,于是就把针由两部分组成这里的针由两个Cube合成。把此此代码加入针模型上,之后有个把相应的模型移入带start和end中加入自己想要的速度就可以了。这个代码是控制物体朝鼠标点击的点处平移的。using System.Collections;using System.Collections.Generic;...转载 2018-06-09 20:02:31 · 530 阅读 · 0 评论 -
unity中,当物体的凸面数量超过256个点时,Mesh Collider勾选Convex,会出现错误提示,
最近在做unity中对象的切割,由于对象凸面数量过大在进行Mesh Collider勾选Convex,会出现错误提示面数超过256无法进行,需要勾选convex之后在选择inflate,才不会报错, mesh...原创 2018-07-07 14:33:14 · 3785 阅读 · 0 评论 -
unity--一个移动的物体距离一个静止的物体之间的距离测量与显示其距离
在一些情况下需要了解一个移动的物体与一个静止的物体之间的距离直接上代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using System;public class move : MonoBehaviour{ public Transform start; public Tra...原创 2018-05-28 21:00:46 · 4113 阅读 · 1 评论 -
unity中的四种坐标系以及相互的转换
最近在对unity中的坐标系之间的转换有点迷,特意记录一下。世界坐标世界坐标按照笛卡尔坐标系定义出来的绝对坐标系,下面的各种坐标系都建立在世界坐标的基础上。我们知道二维平面内任意一个点可以用二维坐标(x,y)来表示,如果将这个概念延伸到三维空间内,那么三维空间内任意一个点都可以用三维坐标(x,y,z)来表示。这就是世界坐标的概念啦,坐标系通常可以分为左手坐标系和右手坐标系,而Unity3D采用的是...翻译 2018-07-13 19:38:39 · 2690 阅读 · 1 评论 -
unity中如何获取不规则物体的尺寸
最近在做不规则物体的直径方面的,比如血管的直径,不规则物体的长宽高,这方面的,主要运用顶点之间的关系进行测量的。代码如下:转载 2018-07-13 17:07:04 · 2715 阅读 · 2 评论 -
unity中的UV是什么
对于三维模型,有两个最重要的坐标系统,一是顶点的位置(X,Y,Z)坐标,另一个就是UV坐标。什么是UV?简单的说,就是贴图影射到模型表面的依据。 完整的说,其实应该是UVW(因为XYZ已经用过了,所以另选三个字母表示)。U和V分别是图片在显示器水平、垂直方向上的坐标,取值一般都是0~1,也 就是(水平方向的第U个像素/图片宽度,垂直方向的第V个像素/图片高度)。那W呢?贴图是二维的,何来三个坐标?...转载 2018-07-05 17:14:45 · 20177 阅读 · 0 评论 -
unity-射线拾取物体的三角面片+显示碰撞点的坐标
最近在搞定位物体这方面的,用摄像机发出射线,然后鼠标点击哪里,射线射哪里,在射击的位置产生碰撞,然后对碰撞点进行定位。代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class shiquer : MonoBehaviour{ public float pokeFo...转载 2018-06-05 22:57:24 · 4404 阅读 · 0 评论 -
关于unity中的快捷键
在实际工作中经常需要在各种不同的视图中进行切换,以下是常用的视图切换快捷键,熟练使用可以提高效率。ctrl+1: 切换到scene视图ctrl+2:切换到game视图ctrl+3:切换到inspector视图ctrl+4:切换到hierarchy视图ctrl+5:切换到project视图ctrl+6:切换到animation视图ctrl+7:切换到profiler视图ctrl+8切换到audio ...原创 2018-06-28 18:50:27 · 1348 阅读 · 0 评论 -
unity中Start和Awake的区别
Awake在MonoBehavior创建后就立刻调用,Start将在MonoBehavior创建后在该帧Update之前,在该Monobehavior.enabled == true的情况下执行。转自https://zhidao.baidu.com/question/2011219797880516228.html...转载 2018-07-06 10:12:01 · 318 阅读 · 0 评论 -
unity3D中导入的物体锚点居中
最近在做项目的时候,我们用的模型都是从别的地方下载下来的。这个时候由于unity的版本的原因导致模型的部件的中心不一致。出现锚点不在物体的中心这样对其进行旋转操作的时候就出现不了想要的效果。步骤:新建一个cube(cube最简单),把cube想象成模型的锚点,调整cube在模型中的位置。然后在hierarchy列表中将模型拖入cube中,选中cube,在软件左上角将模型中心点改为Pivot这样物体...原创 2018-05-24 21:10:00 · 2781 阅读 · 0 评论 -
unity 中关于含有凹型的三角面剖分论文TriangulationByEarClipping的阅读小记
最近在做模型切割方面的工作,遇到三角面的剖分仿麦呢的不懂,在查资料的时候看到一篇对三角面片剖分方面的文章感觉写的很好,https://www.geometrictools.com/论文网址在此。一下只代表个人的分析,文章主要介绍了一种耳廓三角测量法,对于多边形或者复杂的有孔的多边形的三角面片剖分算法,也算是解决了对含有凹面的模型剖分算法。首先介绍n个顶点可以构成n-2个三角形,如果一个...原创 2018-07-19 19:57:50 · 890 阅读 · 0 评论 -
Untiy3d中的console中的debug.log()显示不出来的解决方法
最近不知道怎么回事unity中运行debug.log()的程序时总是显示不出来,后来查阅资料才知道在unity上面菜单中有window->console中可以显示此页面,就可以显示了,但是,不知道为什么,在运行的时候还是出不来数据,于是我就在程序里面添加一句 Debug.Log("面积 = " + Area); Debug.LogWarn...原创 2018-09-19 17:10:47 · 14357 阅读 · 3 评论 -
unity和VS2017中的NET设置
最近遇到一个关于VS和unity中NET版本的问题只更改VS中的NET版本后unity中还是存在错误首先是更新VS的NET版本在项目-属性然后VS的NET的版本已经更新然后更新unity中的NET在edit->preferences->player在inspector中的splash image中的更改之后VS和unity就同步了...原创 2019-12-17 15:35:35 · 972 阅读 · 0 评论 -
unity中两模型之间的OBB包围盒碰撞检测
unity中求两模型相交部分,利用布尔算法:布尔求交代码如下:using UnityEngine;using System.Collections;public class csSceneBoolean : MonoBehaviour { public MeshCollider meshColliderA; public MeshCollider meshCol...原创 2019-07-17 13:45:58 · 3132 阅读 · 0 评论 -
unity3D中射线与模型交点坐标显示
鼠标随意点在模型上射线会射在所点击处,并显示点击处的坐标。代码:using UnityEngine;using System.Collections;public class Test : MonoBehaviour{ void Update() { if (Input.GetMouseButton(0)) { ...原创 2018-12-06 22:22:30 · 3246 阅读 · 0 评论 -
unity3D模型导入后变成多个子模型怎么才能恢复到一个
有的时候,我们会发现一个现象,就是将一个模型导入到Unity后,会发现Fbx下面有多个子物体,可我明明在Max中合并成一个物体了呀。这是为什么呢?其实这是Unity中网格顶点缓冲区大小的问题。由于Unity只支持16位的顶点缓冲,所以当单个模型的三角面数大于65534时就会被自动分割成多个子模型,不过在2017.3版本中Unity支持了32位,并且在模型导入设置界面中提供了相关的设...转载 2018-10-11 11:55:39 · 4458 阅读 · 0 评论 -
unity中两物体之间的锚点-X,Y,Z轴始终处于平行和对齐状态
最近遇到一个问题是两个处于不同位置方向的物体怎样才能让他的锚点,也就是X,Y,Z轴始终处于平行状态。经过好几天的查阅资料发现了方法。如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test : MonoBehaviour { private V...原创 2018-09-12 21:44:49 · 1690 阅读 · 0 评论 -
unity中出现包围盒
unity中出现绿色包围盒,只需要在inspector中的add component中添加box collider就可以出现物体的碰撞包围盒,而且包围盒是比较贴合的自适应型的,如有错误,请诸位多多指教...原创 2018-09-19 21:28:27 · 2220 阅读 · 3 评论 -
VS2017中出现 错误 LNK1104 无法打开文件“opencv_world341d.lib”
在VS2017中安装opencv中一直出现各种的错误首先在安装过程中出现一片红,各种库都不能使用,后来才知道是因为项目属性中的设置不对这样之后就可以了后来又出现了LNK1104 无法打开文件“opencv_world341d.lib”一直更改路径还是出现错误后来查资料发现连接器中的附加依赖项中的路径绝对路径才可以如:F:\OPENCV\opencv\build\x64...原创 2019-08-16 22:29:05 · 9824 阅读 · 13 评论 -
vuforia ARToolKit WikiTude LayAR Kudan五个增强现实SDK插件的优缺点
当研究我们的一些移动项目时,我们有机会亲身体验5款最流行的增强现实工具。以下是选出的增强现实框架的概述,列出了它们的优点和缺点。VuforiaVuforia作为增强现实应用开发的完整软件开发工具包(SDK),它支持:几种不同目标的检测(包括物体、图像和英语文本)目标追踪2D和3D识别扫描真实物体进行识别虚拟按键使用OpenGL映射附加元素Smart Terr...转载 2019-08-21 10:18:27 · 1529 阅读 · 0 评论 -
unity中鼠标点击模型获得点击的三角面片上距离最近的点坐标
用鼠标进行射线获得点击点处的坐标,并获得点击处所在的三角面片,和三角面片上的三个顶点,点击点与三个顶点进行判断出距离hit.point的最近的顶点,把他作为要获得的点,在进行对模型做缩放后获得的点要跟随缩放进行调整三角面片和顶点的坐标,用ossyScale解决缩放问题:代码如下using UnityEngine;using System.Collections;public c...原创 2019-04-17 19:22:41 · 2561 阅读 · 0 评论 -
unity中切割ShatterToolkit代码分析
ShatterToolkit是针对unity3d编写的一款粉碎模型的插件再来分析插件的功能,我们可以将代码划分为三层:1.操作层菜单MouseForce:通过这个脚本可以对模型进行拖拽,根据当前鼠标左键按下的位置和鼠标移动后的位置在单位增量时间内的差值计算力度,并将这个力通过AddForceAtPosition附加给带有刚体属性的对象。菜单MouseSplit:这个脚本用于对...原创 2018-07-19 22:51:37 · 2375 阅读 · 0 评论 -
unity3D 中关于网格八叉树的实现
八叉树是一种3D数据结构,最适合用于根据3D位置存储对象。它们被用于许多非常酷的技术中,并成为像Voxel渲染器这样的主干。我们将致力于实现Octree的通用形式,我们可以将其用于任何解决方案。有了这个,我们将能够设计各种有趣的东西。效果如下: 代码如下:using System.Collections;using System.Collections.Generic...转载 2018-12-17 20:51:13 · 2053 阅读 · 0 评论