unity

Unity高度图形成

匿名 (未验证) 提交于 2019-12-03 00:26:01
unity高度图形成主要的原理是对原始模型mesh先形成boundingBox,并在原始模型的上方添加射线方向向下进行碰撞检测,通过碰撞点与射线的截距获得模型的高度值,最后把高度值转换成像素点写入图片中形成最后的高度图 1.先形成boundingBox并获取相关坐标轴的最大值、最小值 Bounds boundingBox = mesh.bounds;//创建boundingBox float minX = boundingBox.min.x; float minZ = boundingBox.min.z; float maxX = boundingBox.max.x; float maxZ = boundingBox.max.z; float minY = boundingBox.min.y; float maxY = boundingBox.max.y; 2.计算模型宽度和模型高度并设置射线间的宽度和高度 float widthSize = maxX - minX; float heightSize = maxZ - minZ; float cellWidth = widthSize / (width - 1);//单元宽度 float cellHeight = heightSize / (height - 1);//单元高度 3.产生射线并设置方向与起始位置 private

将Unity的Debug.Log输出到屏幕

匿名 (未验证) 提交于 2019-12-03 00:26:01
using UnityEngine; class TestConsole : MonoBehaviour { void OnEnable() { Application.logMessageReceived += HandleLog; } void OnDisable() { Application.logMessageReceived -= HandleLog; } void OnDestroy() { Application.logMessageReceived -= HandleLog; } /// <summary> /// Records a log from the log callback. /// </summary> /// <param name="message"> Message. </param> /// <param name="stackTrace"> Trace of where the message came from. </param> /// <param name="type"> Type of message (error, exception, warning, assert). </param> void HandleLog( string message, string stackTrace, LogType type) { if

【unity】unity3d第一个项目

匿名 (未验证) 提交于 2019-12-03 00:26:01
点击new之后新建一个项目,如果是要打开原来已经存在的文件,则应该点击open 第一个是输入projectname,也就是项目名称,locaton也就是项目保存的路径,需要安放在预先建立的文件夹里面,第三个不用去管,然后在左侧选中3d模型的建立,点击create project即可完成创建。 进入之后是这样的场景 当前的场景是Untitled,即未保存模式,如果要保存当前场景,应点击file中的save scene,或者快捷键ctrl+s。 创建第一个unity模型时应该在Assets中新建一个文件夹用来保存我们建立的模型,通常我们给文件夹命名为sences,文件夹sence中即含有我们建立的场景模型 我们在左侧工具栏创建我们一个cube模型,这个模型是个正方体,长宽高都为1米的正方体,以后可以拿其他物体与之比较 当然,如果我们想改变cube模型的长宽高,也是可以的,但是要与原始cube做比较,才知道自己的改变是否合理,点击左上方的第4个图案,类似全屏的一个图标,选中之后,选中我们的模型,点击模型的坐标系,进行拉伸或者回缩,即可改变大小 分别操作下方的第一个图标是控制场景内部视角的移动,第二个是控制模型的移动,第三个是控制模型的旋转,第四个是控制缩放 ctrl+D能够复制当前选中的模型,完成缩放,旋转,移动等操作即可完成创建 ctrl+s保存当前创建的模型,即完成模型的创建

Unity打包apk异常Failed to re-package resources

匿名 (未验证) 提交于 2019-12-03 00:25:02
报错: CommandInvokationFailure: Failed to re-package resources. stderr[ AndroidManifest.xml:5: error: Error: String types not allowed (at ‘configChanges’ with value ‘mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density’). ] 解决方案: 必须下载platform-tools对应的版本API,就能解决, 可参考:https://unitycoder.com/blog/2017/10/20/android-build-error-error-string-types-not-allowed-at-configchanges/ 文章来源: Unity打包apk异常Failed to re-package resources

VS C#生成dll,C#和unity工程调用

匿名 (未验证) 提交于 2019-12-03 00:25:02
1, C# 生成dll a, vs新建C#类库工程生成dll,对应的cs文件。 DllSuccess.cs using System ; using System . Collections . Generic ; using System . Linq ; using System . Text ; //using System.Threading.Tasks; namespace DllSuccess { public class Poem { public void PrintPoem () { Console . WriteLine ( "白日依山尽,黄河入海流!" ); } public static void PrintPoems () { Console . WriteLine ( "且将新火试新茶,诗酒趁年华。" ); } public static int UnityAdd ( int a , int b ) { int c = a + b ; return c ; } public static void WritePoem ( char [] strs_poem ) { String str_poem = "人有悲欢离合,月有阴晴圆缺。此事古难全!" ; char [] str = str_poem . ToCharArray (); int len =

Unity学习笔记(2)

匿名 (未验证) 提交于 2019-12-03 00:22:01
日志输出:1.在代码中用Print(1)输出即可需继承MonoBehaver 2.Debug.Log(1),Debug.LogWarning(),Debug.LogError();任意地方都可使用 数据和数据类型 http://www.cnblogs.com/tonney/archive/2011/03/18/1987577.html 运算符 https://wenku.baidu.com/view/93c32317a76e58fafab00341.html if语句 if(boolean_expression) { } if else 语句 if(boolean_expression) { } else { } 数组 声明方式:1.int [] hps={1,2,3}; 2.int [] hps2= new int[10]; 例如:int [] hps=null;print(hps)--->null 3.int [] hps3=new int[3]{1,2,3}; 枚举类型(可以直接知道哪种类型,定义一些和类型有关的东西,敌人类型,职业类型): enum RoleType{ Mag,//魔法师 Soldier,//սʿ Wizard//巫师 } RoleType rt = RoleType.mag; rt = RoleType.Soldier; 参数的作用:给方法传递一些数据

[Unity][Animation&amp;Animator][特效]伤害飘字

匿名 (未验证) 提交于 2019-12-03 00:22:01
角色受到伤害,伤害数值 在角色头顶 飘字。 有几种实现方法: 1.DOTWEEN 2.Unity自带的Animation&Animator 本文着重讲第2种实现方法。 相关资料: 1. [Unity][UGUI]用UGUI自带的Canvas角色头顶的名字 2. 3. 4. 参考资料: 1. 【Unity3D】 DoTween实现飘字的效果 2. Unity Mecanim动画的实现(九):动画层、遮罩与Ik动画 3. 4. 文章来源: [Unity][Animation&Animator][特效]伤害飘字

mul函数

匿名 (未验证) 提交于 2019-12-03 00:22:01
基本信息 mul函数 Unity3d 中,若是OpenGL,用的应该是GLSL,mul方法是(M,V)。 矩阵 内置的矩阵(float4x4): 名称 说明 UNITY_MATRIX_MVP 当前模型视图投影矩阵 UNITY_MATRIX_MV 当前模型视图矩阵 UNITY_MATRIX_V 当前视图矩阵 UNITY_MATRIX_P 当前的投影矩阵 UNITY_MATRIX_VP 当前视图投影矩阵 UNITY_MATRIX_T_MV 模型视图矩阵的转置 UNITY_MATRIX_IT_MV 模型视图矩阵的逆转置 _Object2World 当前模型矩阵 _World2Object 当前世界矩阵的逆矩阵 这里要特别说明一下UnityObjectToClipPos(v.vertex)) 方法, 官方网站 上说明,在写Instanced Shader时,通常情况下并不用在意顶点空间转换,因为所有内建的矩阵名字在Instanced Shader中都是被重定义过的,如果直接使用UNITY_MATRIX_MVP,会引入一个额外的矩阵乘法运算,所以推荐使用UnityObjectToClipPos / UnityObjectToViewPos函数,它们会把这一次额外的矩阵乘法优化为向量-矩阵乘法。 相机 名称 类型 数值 _WorldSpaceCameraPos float3 世界空间相机的位置