├── .gitignore ├── Assets ├── PointCloudLoader.meta ├── PointCloudLoader │ ├── Editor.meta │ ├── Editor │ │ ├── PointCloudLoaderWindow.cs │ │ └── PointCloudLoaderWindow.cs.meta │ ├── Shader.meta │ └── Shader │ │ ├── PointCloudShader.shader │ │ └── PointCloudShader.shader.meta ├── Scene.meta ├── Scene │ ├── 01.unity │ └── 01.unity.meta ├── StreamingAssets.meta └── StreamingAssets │ ├── ma.3dc │ └── ma.3dc.meta ├── PointCloudFile.png ├── PointCloudTextData.png ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityAdsSettings.asset.meta └── UnityConnectSettings.asset ├── README.md ├── 展示01.gif └── 操作.gif /.gitignore: -------------------------------------------------------------------------------- 1 | /Library/ 2 | /Temp/ 3 | /Obj/ 4 | /Build/ 5 | /Builds/ 6 | /UnityPackageManager/ 7 | /.vs/ 8 | 9 | # Autogenerated VS/MD/Consulo solution and project files 10 | .consulo/ 11 | *.bak 12 | *.csproj 13 | *.unityproj 14 | *.sln 15 | *.suo 16 | *.tmp 17 | *.user 18 | *.userprefs 19 | *.pidb 20 | *.booproj 21 | *.svd 22 | 23 | 24 | # Unity3D generated meta files 25 | *.pidb.meta 26 | 27 | # Unity3D Generated File On Crash Reports 28 | sysinfo.txt 29 | 30 | # Builds 31 | #*.apk 32 | #*.unitypackage -------------------------------------------------------------------------------- /Assets/PointCloudLoader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0112a8290ab26974abffca5e78eabb9e 3 | folderAsset: yes 4 | timeCreated: 1519637101 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/PointCloudLoader/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9996d9bc4f758434780c31c27f11ce2a 3 | folderAsset: yes 4 | timeCreated: 1486965201 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/PointCloudLoader/Editor/PointCloudLoaderWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | // Unity Point Cloud Loader 7 | // (C) 2016 Ryan Theriot, Eric Wu, Jack Lam. Laboratory for Advanced Visualization & Applications, University of Hawaii at Manoa. 8 | // Version: February 17th, 2017 9 | 10 | public class PointCloudLoaderWindow : EditorWindow 11 | { 12 | //Number of elements per data line from input file 13 | //每一行中 共有有几个数 14 | private static int elementsPerLine = 0; 15 | 16 | //Position of XYZ and RGB elements in data line 17 | //数据行中的XYZ和RGB元素的位置 所对应指定的索引 18 | private static int rPOS, gPOS, bPOS, xPOS, yPOS, zPOS; 19 | 20 | //Enumerator for PointCloud color range 21 | //点云的枚举器 22 | //None = No Color, Normalized = 0-1.0f, RGB = 0-255 23 | private enum ColorRange 24 | { 25 | NONE = 0, 26 | NORMALIZED = 1, 27 | RGB = 255 28 | } 29 | 30 | //颜色范围枚举 31 | private static ColorRange colorRange; 32 | 33 | //Enumber for format standards 34 | //Enumber格式标准 35 | private enum FormatStandard 36 | { 37 | CUSTOM = 0, 38 | PTS = 1, 39 | XYZ = 2, 40 | XYZRGB = 3 41 | } 42 | 43 | //用来规定加载数据的格式标准 44 | private static FormatStandard formatStandard; 45 | 46 | 47 | //Data line delimiter 48 | //数据行分隔符 默认空格 49 | public static string dataDelimiter; 50 | 51 | //Maximum vertices a mesh can have in Unity 52 | //一个网格的最大顶点可以在unity中 53 | static int limitPoints = 65000; 54 | 55 | [MenuItem("Window/PointClouds/加载点云")] //LoadCloud 56 | private static void ShowEditor() 57 | { 58 | //创建一个窗体 59 | EditorWindow window = GetWindow(typeof(PointCloudLoaderWindow), true, "Point Cload Loader"); 60 | window.maxSize = new Vector2(485f, 475f); //窗体的最大尺寸 385f, 375f 61 | window.minSize = window.maxSize; //窗体的最小尺寸 62 | } 63 | 64 | //GUI Window Stuff - NO COMMENTS 65 | private void OnGUI() 66 | { 67 | 68 | //创建一个提示信息 label 69 | GUIStyle help = new GUIStyle(GUI.skin.label); 70 | help.fontSize = 12; 71 | help.fontStyle = FontStyle.Bold; 72 | EditorGUILayout.LabelField("如何使用", help); 73 | 74 | EditorGUILayout.HelpBox("1. 设置每个数据行中存在的元素数量. \n" + 75 | "2. 在每个元素之间设置分隔符. (默认的为空格分割) \n" + 76 | "3. 在数据行上设置XYZ元素的索引。. (第一个索引=1) \n" + 77 | "4. 选择颜色数据的范围: \n" + 78 | " None: 没有颜色数据 \n" + 79 | " Normalized: 0.0 - 1.0 \n" + 80 | " RGB : 0 - 255 \n" + 81 | "5. 在数据线上设置RGB元素的索引. \n" + 82 | "6. Click \"Load Point Cloud File\"", MessageType.None); 83 | 84 | 85 | formatStandard = (FormatStandard)EditorGUILayout.EnumPopup(new GUIContent("Format", ""), formatStandard); //创建一个枚举选项 86 | 87 | if (formatStandard == FormatStandard.CUSTOM) //默认自定义数据索引 88 | { 89 | EditorGUILayout.BeginHorizontal(); //绘制一个水平布局 90 | 91 | EditorGUILayout.BeginVertical(); //绘制一个垂直布局 92 | 93 | elementsPerLine = 6; 94 | dataDelimiter = ""; 95 | xPOS = 1; 96 | yPOS = 2; 97 | zPOS = 3; 98 | colorRange = ColorRange.RGB; //颜色区间 99 | rPOS = 4; 100 | gPOS = 5; 101 | bPOS = 6; 102 | 103 | 104 | elementsPerLine = EditorGUILayout.IntField(new GUIContent("Elements Per Data Line", "数据行中元素的数量\nThe Number of Elements in the data line"), elementsPerLine); 105 | dataDelimiter = EditorGUILayout.TextField(new GUIContent("Data Line Delimiter", "在元素之间留空空白"), dataDelimiter); 106 | xPOS = EditorGUILayout.IntField(new GUIContent("X Index", "X值的索引"), xPOS); 107 | yPOS = EditorGUILayout.IntField(new GUIContent("Y Index", "Y值的索引"), yPOS); 108 | zPOS = EditorGUILayout.IntField(new GUIContent("Z Index", "Z值的索引"), zPOS); 109 | 110 | colorRange = (ColorRange)EditorGUILayout.EnumPopup(new GUIContent("Color Range", "None(No Color), Normalized (0.0-1.0f), RGB(0-255)"), colorRange); 111 | 112 | if (colorRange == ColorRange.NORMALIZED || colorRange == ColorRange.RGB) 113 | { 114 | rPOS = EditorGUILayout.IntField(new GUIContent("Red Index", "R值的索引"), rPOS); 115 | gPOS = EditorGUILayout.IntField(new GUIContent("Green Index", "G值的索引"), gPOS); 116 | bPOS = EditorGUILayout.IntField(new GUIContent("Blue Index", "B值的索引"), bPOS); 117 | } 118 | EditorGUILayout.EndVertical(); //关闭绘制 119 | 120 | EditorGUILayout.EndHorizontal(); //关闭绘制 121 | } 122 | else if (formatStandard == FormatStandard.PTS) 123 | { 124 | //PTS 的数据 如果每行7个数 第四个数没用 前三个数是坐标 后三个是颜色 125 | elementsPerLine = 7; 126 | dataDelimiter = ""; 127 | xPOS = 1; 128 | yPOS = 2; 129 | zPOS = 3; 130 | colorRange = ColorRange.RGB; 131 | rPOS = 5; 132 | gPOS = 6; 133 | bPOS = 7; 134 | } 135 | else if (formatStandard == FormatStandard.XYZ) //只加载点的坐标 136 | { 137 | elementsPerLine = 3; 138 | dataDelimiter = ""; 139 | xPOS = 1; 140 | yPOS = 2; 141 | zPOS = 3; 142 | colorRange = ColorRange.NONE; //无颜色 143 | } 144 | else if (formatStandard == FormatStandard.XYZRGB) 145 | { 146 | elementsPerLine = 6; 147 | dataDelimiter = ""; 148 | xPOS = 1; 149 | yPOS = 2; 150 | zPOS = 3; 151 | colorRange = ColorRange.NORMALIZED; 152 | rPOS = 4; 153 | gPOS = 5; 154 | bPOS = 6; 155 | } 156 | 157 | //空格隔出一点空间 158 | EditorGUILayout.Space(); 159 | 160 | //创建一个按钮 161 | GUIStyle buttonStyle = new GUIStyle(GUI.skin.button); 162 | buttonStyle.fontSize = 16; 163 | buttonStyle.fontStyle = FontStyle.Bold; 164 | if (GUILayout.Button("Load Point Cloud File", buttonStyle, GUILayout.Height(50))) 165 | { 166 | LoadCloud();//调用加载的方法 167 | } 168 | 169 | } 170 | 171 | 172 | private void LoadCloud() 173 | { 174 | //Get path to file with EditorUtility 175 | //打开文件对话框 选中 获取到文件路径 176 | string path = EditorUtility.OpenFilePanel("Load Point Cloud File", "", "*"); 177 | 178 | //If path doesn't exist of user exits dialog exit function 179 | // 如果路径不存在用户退出对话框退出函数 180 | if (path.Length == 0) return; 181 | 182 | //Set data delimiter 183 | //设置数据的分割符 184 | char delimiter = ' '; 185 | try 186 | { 187 | 188 | if (dataDelimiter.Length != 0) 189 | { 190 | 191 | delimiter = dataDelimiter.ToCharArray()[0]; 192 | } 193 | } 194 | catch (NullReferenceException) 195 | { 196 | } 197 | 198 | //Create string to name future asset creation from file's name 199 | //创建字符串,以从文件名中命名 未来将要创建的文件资源 200 | string filename = null; 201 | try 202 | { 203 | filename = Path.GetFileName(path).Split('.')[0]; 204 | } 205 | catch (ArgumentOutOfRangeException e) 206 | { 207 | Debug.LogError("PointCloudLoader: File must have an extension. (.pts, .xyz....etc)" + e); 208 | } 209 | 210 | //Create PointCloud Directories 211 | //创建PointCloud目录 212 | if (!Directory.Exists(Application.dataPath + "/PointClouds/")) 213 | { 214 | 215 | AssetDatabase.CreateFolder("Assets", "PointClouds"); 216 | } 217 | 218 | //创建点云名字命名的文件夹目录用来存放 解析得到的所有文件 219 | if (!Directory.Exists(Application.dataPath + "/PointClouds/" + filename)) 220 | { 221 | UnityEditor.AssetDatabase.CreateFolder("Assets/PointClouds", filename); 222 | } 223 | 224 | 225 | //Setup Progress Bar 226 | //设置进度条 227 | float progress = 0.0f; 228 | EditorUtility.ClearProgressBar(); //删除进度条 229 | 230 | //显示或更新进度条。 231 | EditorUtility.DisplayProgressBar("Progress", "Percent Complete: " + (int)(progress * 100) + "%", progress); 232 | 233 | //Setup variables so we can use them to center the PointCloud at origin 234 | //设置变量,这样我们就可以使用它们来在原点处居中 235 | float xMin = float.MaxValue; 236 | float xMax = float.MinValue; 237 | float yMin = float.MaxValue; 238 | float yMax = float.MinValue; 239 | float zMin = float.MaxValue; 240 | float zMax = float.MinValue; 241 | 242 | //Streamreader to read data file 243 | //读取数据文件的流读取器 244 | StreamReader sr = new StreamReader(path); 245 | string line; 246 | 247 | //Could use a while loop but then cant show progress bar progression 248 | //可以使用while循环,但不能显示进度条进度 用 while 获取行数的速度应该更快 这里用来是为了更简便易懂 249 | int numberOfLines = File.ReadAllLines(path).Length; //总行数 250 | 251 | int numPoints = 0; 252 | 253 | //For loop to count the number of data points (checks again elementsPerLine which is set by user) 254 | //For循环计算数据点的数量(再次检查由用户设置的elementsPerLine) 255 | //Calculates the min and max of all axis to center point cloud at origin 256 | //计算所有轴的最小值和最大值点到中心点云的原点 257 | 258 | //这里的循环仅仅是为了得到点云点 的哥哥坐标的最大值 与最小值 为了下面的创建点云物体的远点 259 | for (int i = 0; i < numberOfLines; i++) 260 | { 261 | line = sr.ReadLine(); 262 | string[] words = line.Split(delimiter); //分割成字符串数组 263 | 264 | //Only read data lines 265 | // 266 | if (words.Length == elementsPerLine) 267 | { 268 | numPoints++; 269 | 270 | if (xMin > float.Parse(words[xPOS - 1])) 271 | xMin = float.Parse(words[xPOS - 1]); 272 | 273 | if (xMax < float.Parse(words[xPOS - 1])) 274 | xMax = float.Parse(words[xPOS - 1]); 275 | 276 | if (yMin > float.Parse(words[yPOS - 1])) 277 | yMin = float.Parse(words[yPOS - 1]); 278 | if (yMax < float.Parse(words[yPOS - 1])) 279 | yMax = float.Parse(words[yPOS - 1]); 280 | 281 | if (zMin > float.Parse(words[zPOS - 1])) 282 | zMin = float.Parse(words[zPOS - 1]); 283 | if (zMax < float.Parse(words[zPOS - 1])) 284 | zMax = float.Parse(words[zPOS - 1]); 285 | 286 | } 287 | else 288 | { 289 | //Debug.LogError("Elements Per Data Line 错误 请修改每行元素个数"); 290 | } 291 | 292 | //Update progress bar -Only updates every 10,000 lines - DisplayProgressBar is not efficient and slows progress 293 | //每解析一万行进度条更新一次 294 | progress = i * 1.0f / numberOfLines * 1.0f; 295 | if (i % 10000 == 0) 296 | { 297 | EditorUtility.DisplayProgressBar("计算原点Progress", "Percent Complete: " + (int)((progress * 100) / 3) + "%", progress / 3); 298 | } 299 | 300 | 301 | } 302 | 303 | //Calculate origin of point cloud to shift cloud to unity origin 304 | //计算点云的原点,将云移到统一原点 305 | float xAvg = (xMin + xMax) / 2; 306 | float yAvg = (yMin + yMax) / 2; 307 | float zAvg = (zMin + zMax) / 2; 308 | 309 | //Setup array for the points and their colors 310 | //为这些点和它们的颜色设置数组 311 | Vector3[] points = new Vector3[numPoints]; //储存顶点 312 | Color[] colors = new Color[numPoints]; //储存顶点颜色 313 | 314 | //Reset Streamreader 读取文件流 315 | sr = new StreamReader(path); 316 | 317 | //For loop to create all the new vectors from the data points 318 | //For循环从数据点创建所有新矢量 319 | for (int i = 0; i < numPoints; i++) 320 | { 321 | line = sr.ReadLine(); 322 | string[] words = line.Split(delimiter); //分割每行得到字符串数组 323 | 324 | //Only read data lines 325 | //只有读取数据行 326 | while (words.Length != elementsPerLine) //判断每行分割的数是否为 规定的每行元素个数 如果不是读取下一行 如果下一行相匹配 跳出循环 327 | { 328 | line = sr.ReadLine(); 329 | words = line.Split(delimiter); 330 | } 331 | 332 | //Read data line for XYZ and RGB 333 | //读取XYZ和RGB的数据行 334 | float x = float.Parse(words[xPOS - 1]) - xAvg; //设置x的坐标 335 | float y = float.Parse(words[yPOS - 1]) - yAvg; //设置y的坐标 336 | float z = (float.Parse(words[zPOS - 1]) - zAvg)* -1; //设置z的坐标 Flips to Unity's Left Handed Coorindate System 337 | float r = 1.0f; 338 | float g = 1.0f; 339 | float b = 1.0f; 340 | 341 | //If color range has been set also get color from data line 342 | if (colorRange == ColorRange.NORMALIZED || colorRange == ColorRange.RGB) 343 | { 344 | r = float.Parse(words[rPOS - 1]) / (int)colorRange; //获取到标准单位的R值 345 | g = float.Parse(words[gPOS - 1]) / (int)colorRange; //获取到标准单位的G值 346 | b = float.Parse(words[bPOS - 1]) / (int)colorRange; //获取到标准单位的B值 347 | } 348 | 349 | //Save new vector to point array 350 | //Save new color to color array 351 | points[i] = new Vector3(x, y, z); //保存点的坐标 352 | colors[i] = new Color(r, g, b, 1.0f);//保存点的颜色 353 | 354 | //Update Progress Bar 355 | progress = i * 1.0f / (numPoints - 1) * 1.0f; 356 | if (i % 10000 == 0) 357 | { 358 | EditorUtility.DisplayProgressBar("创建点云Progress", "Percent Complete: " + (int)(((progress * 100) / 3) + 33) + "%", progress / 3 + .33f); 359 | } 360 | 361 | 362 | 363 | } 364 | 365 | //Close Stream reader 366 | sr.Close(); //关闭读取流 367 | 368 | 369 | // Instantiate Point Groups 370 | //Unity limits the number of points per mesh to 65,000. 371 | //For large point clouds the complete mesh wil be broken down into smaller meshes 372 | int numMeshes = Mathf.CeilToInt(numPoints * 1.0f / limitPoints * 1.0f); //要创建几组网格 373 | 374 | //Create the new gameobject 375 | //创建一个物体 376 | GameObject cloudGameObject = new GameObject(filename); 377 | 378 | //Create an new material using the point cloud shader 379 | //创建一个与这个物体相匹配的材质 380 | Material newMat = new Material(Shader.Find("PointCloudShader")); 381 | //Save new Material 382 | //保存材质 383 | AssetDatabase.CreateAsset(newMat, "Assets/PointClouds/" + filename + "Material" + ".mat"); 384 | 385 | //Create the sub meshes of the point cloud 386 | //创建点云的子网格 387 | for (int i = 0; i < numMeshes - 1; i++) 388 | { 389 | CreateMeshGroup(i, limitPoints, filename, cloudGameObject, points, colors, newMat); 390 | 391 | progress = i * 1.0f / (numMeshes - 2) * 1.0f; 392 | if (i % 2 == 0) 393 | { 394 | EditorUtility.DisplayProgressBar("创建点云网格Progress", "Percent Complete: " + (int)(((progress * 100) / 3) + 66) + "%", progress / 3 + .66f); 395 | } 396 | 397 | 398 | } 399 | //Create one last mesh from the remaining points 400 | //从剩余的点创建最后一个网格 401 | int remainPoints = (numMeshes - 1) * limitPoints; 402 | CreateMeshGroup(numMeshes - 1, numPoints - remainPoints, filename, cloudGameObject, points, colors, newMat); 403 | 404 | progress = 100.0f; 405 | EditorUtility.DisplayProgressBar("创建点云网格Progress", "Percent Complete: " + progress + "%", 1.0f); 406 | 407 | //Store PointCloud 408 | //创建预制体 保存点云物体 409 | UnityEditor.PrefabUtility.CreatePrefab("Assets/PointClouds/" + filename + ".prefab", cloudGameObject); 410 | EditorUtility.ClearProgressBar(); //关闭进度条 411 | //EditorUtility.DisplayDialog("Point Cloud Loader", filename + " Saved to PointClouds folder", "Continue", ""); 412 | EditorUtility.DisplayDialog("Point Cloud Loader","成功创建并保存点云"+"\""+filename + "\"", "继续",""); 413 | 414 | return; 415 | } 416 | 417 | //创建网格 418 | private void CreateMeshGroup(int meshIndex, int numPoints, string filename, GameObject pointCloud, Vector3[] points, Color[] colors, Material mat) 419 | { 420 | 421 | //Create GameObject and set parent 422 | GameObject pointGroup = new GameObject(filename + meshIndex); //创建子物体点云网格 423 | pointGroup.transform.parent = pointCloud.transform; //成为pointCloud 子物体 424 | 425 | //Add mesh to gameobject 426 | //添加一个网格对象 427 | Mesh mesh = new Mesh(); //创建Mesh网格 428 | pointGroup.AddComponent(); //添加MeshFilter 网格组建 429 | pointGroup.GetComponent().mesh = mesh; //赋值网格 430 | 431 | //Add Mesh Renderer and material 432 | //添加一个网格渲染器 与材质 433 | pointGroup.AddComponent(); 434 | pointGroup.GetComponent().sharedMaterial = mat; 435 | 436 | //Create points and color arrays 437 | //创建点和颜色数组 438 | int[] indecies = new int[numPoints]; 439 | Vector3[] meshPoints = new Vector3[numPoints]; 440 | Color[] meshColors = new Color[numPoints]; 441 | 442 | for (int i = 0; i < numPoints; ++i) 443 | { 444 | indecies[i] = i; 445 | meshPoints[i] = points[meshIndex * limitPoints + i]; //得到网格顶点坐标数组 446 | meshColors[i] = colors[meshIndex * limitPoints + i]; //得到网格顶点颜色坐标的数组 447 | } 448 | 449 | //Set all points and colors on mesh 450 | //在网格上设置所有的点和颜色 451 | mesh.vertices = meshPoints; 452 | mesh.colors = meshColors; 453 | mesh.SetIndices(indecies, MeshTopology.Points, 0); 454 | 455 | //Create bogus uv and normals 456 | //创建假uv和法线 457 | mesh.uv = new Vector2[numPoints]; 458 | mesh.normals = new Vector3[numPoints]; 459 | 460 | // Store Mesh 461 | UnityEditor.AssetDatabase.CreateAsset(mesh, "Assets/PointClouds/" + filename + @"/" + filename + meshIndex + ".asset"); //创建.asset文件储存网格数据 462 | UnityEditor.AssetDatabase.SaveAssets(); //保存.asset网格文件 463 | UnityEditor.AssetDatabase.Refresh(); 464 | return; 465 | } 466 | 467 | } -------------------------------------------------------------------------------- /Assets/PointCloudLoader/Editor/PointCloudLoaderWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5be02a718cf84b44accc88782bdb9bb 3 | timeCreated: 1486966170 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PointCloudLoader/Shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6d7b41983b54cf4f9e688ac6d9cd412 3 | folderAsset: yes 4 | timeCreated: 1486965228 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/PointCloudLoader/Shader/PointCloudShader.shader: -------------------------------------------------------------------------------- 1 | // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' 2 | 3 | // Unity Point Cloud Loader 4 | // (C) 2016 Ryan Theriot, Eric Wu, Jack Lam. Laboratory for Advanced Visualization & Applications, University of Hawaii at Manoa. 5 | // Version: February 17th, 2017 6 | 7 | Shader "PointCloudShader" 8 | { 9 | Properties 10 | { 11 | _Size("Size", Range(0, 0.02)) = 0.0035 12 | [Enum(Circle,0, Square, 1)] _Shape("Point Shape", Float) = 1 13 | [Enum(False,0, True, 1)] _UniformColor("Apply Uniform Color", Float) = 0 14 | _Color("Color", Color) = (1, 1, 1, 1) 15 | } 16 | 17 | SubShader 18 | { 19 | Pass 20 | { 21 | Tags{ "RenderType" = "Opaque" } 22 | LOD 200 23 | 24 | CGPROGRAM 25 | #pragma target 5.0 26 | #pragma vertex VS_Main 27 | #pragma fragment FS_Main 28 | #pragma geometry GS_Main 29 | #include "UnityCG.cginc" 30 | 31 | struct VS_INPUT 32 | { 33 | float4 vertex : POSITION; 34 | float4 color : COLOR0; 35 | }; 36 | struct GS_INPUT 37 | { 38 | float4 pos : SV_POSITION; 39 | float4 color : COLOR0; 40 | }; 41 | 42 | struct FS_INPUT 43 | { 44 | float4 pos : POSITION; 45 | float4 color : COLOR0; 46 | float2 uv : TEXCOORD0; 47 | }; 48 | 49 | float _Size; 50 | float _Shape; 51 | float _UniformColor; 52 | float4 _Color; 53 | 54 | //Shader 55 | GS_INPUT VS_Main(VS_INPUT v) 56 | { 57 | GS_INPUT output = (GS_INPUT)0; 58 | 59 | output.color = v.color; 60 | output.pos = mul(unity_ObjectToWorld, v.vertex); 61 | 62 | return output; 63 | } 64 | 65 | //Geometry Shader 66 | [maxvertexcount(4)] 67 | void GS_Main(point GS_INPUT p[1], inout TriangleStream triStream) 68 | { 69 | float3 up = normalize(cross(p[0].pos, _WorldSpaceCameraPos)); 70 | float3 look = _WorldSpaceCameraPos - p[0].pos; 71 | look = normalize(look); 72 | float3 right = cross(up, look); 73 | 74 | float halfS = 0.5f * _Size; 75 | 76 | float4 v[4]; 77 | v[0] = float4(p[0].pos + halfS * right - halfS * up, 1.0f); 78 | v[1] = float4(p[0].pos + halfS * right + halfS * up, 1.0f); 79 | v[2] = float4(p[0].pos - halfS * right - halfS * up, 1.0f); 80 | v[3] = float4(p[0].pos - halfS * right + halfS * up, 1.0f); 81 | 82 | //float4 vp = UnityObjectToClipPos(mul(unity_WorldToObject, v[0])); 83 | FS_INPUT pIn; 84 | pIn.color = p[0].color; 85 | pIn.pos = UnityObjectToClipPos(mul(unity_WorldToObject, v[0])); 86 | pIn.uv = float2(1.0f, 0.0f); 87 | triStream.Append(pIn); 88 | 89 | pIn.pos = UnityObjectToClipPos(mul(unity_WorldToObject, v[1])); 90 | pIn.uv = float2(1.0f, 1.0f); 91 | triStream.Append(pIn); 92 | 93 | pIn.pos = UnityObjectToClipPos(mul(unity_WorldToObject, v[2])); 94 | pIn.uv = float2(0.0f, 0.0f); 95 | triStream.Append(pIn); 96 | 97 | pIn.pos = UnityObjectToClipPos(mul(unity_WorldToObject, v[3])); 98 | pIn.uv = float2(0.0f, 1.0f); 99 | triStream.Append(pIn); 100 | } 101 | 102 | 103 | 104 | //Fragment Shader 105 | float4 FS_Main(FS_INPUT input) : COLOR 106 | { 107 | //Circle 108 | if (_Shape == 0) 109 | { 110 | float uvDistance = sqrt(pow(input.uv.x - 0.5, 2) + pow(input.uv.y - 0.5, 2)); 111 | 112 | if (uvDistance < .5) 113 | { 114 | if (_UniformColor == 0) 115 | return input.color; 116 | else 117 | return _Color; 118 | } 119 | else 120 | { 121 | discard; 122 | } 123 | 124 | return input.color; 125 | } 126 | //Square 127 | else 128 | { 129 | if (_UniformColor == 0) 130 | return input.color; 131 | else 132 | return _Color; 133 | } 134 | 135 | } 136 | 137 | ENDCG 138 | } 139 | } 140 | } -------------------------------------------------------------------------------- /Assets/PointCloudLoader/Shader/PointCloudShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8979b7eea21e7714c8f69f386b66ea0a 3 | timeCreated: 1519267205 4 | licenseType: Pro 5 | ShaderImporter: 6 | externalObjects: {} 7 | defaultTextures: [] 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Scene.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3235d77c1219e5a42ad7d11f7f91e35b 3 | folderAsset: yes 4 | timeCreated: 1519637855 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Scene/01.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 8 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 0 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_TemporalCoherenceThreshold: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 9 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_TextureWidth: 1024 61 | m_TextureHeight: 1024 62 | m_AO: 0 63 | m_AOMaxDistance: 1 64 | m_CompAOExponent: 1 65 | m_CompAOExponentDirect: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVRFilterTypeDirect: 0 81 | m_PVRFilterTypeIndirect: 0 82 | m_PVRFilterTypeAO: 0 83 | m_PVRFilteringMode: 1 84 | m_PVRCulling: 1 85 | m_PVRFilteringGaussRadiusDirect: 1 86 | m_PVRFilteringGaussRadiusIndirect: 5 87 | m_PVRFilteringGaussRadiusAO: 2 88 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 89 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 90 | m_PVRFilteringAtrousPositionSigmaAO: 1 91 | m_ShowResolutionOverlay: 1 92 | m_LightingDataAsset: {fileID: 0} 93 | m_UseShadowmask: 1 94 | --- !u!196 &4 95 | NavMeshSettings: 96 | serializedVersion: 2 97 | m_ObjectHideFlags: 0 98 | m_BuildSettings: 99 | serializedVersion: 2 100 | agentTypeID: 0 101 | agentRadius: 0.5 102 | agentHeight: 2 103 | agentSlope: 45 104 | agentClimb: 0.4 105 | ledgeDropHeight: 0 106 | maxJumpAcrossDistance: 0 107 | minRegionArea: 2 108 | manualCellSize: 0 109 | cellSize: 0.16666667 110 | manualTileSize: 0 111 | tileSize: 256 112 | accuratePlacement: 0 113 | debug: 114 | m_Flags: 0 115 | m_NavMeshData: {fileID: 0} 116 | --- !u!1 &354704952 117 | GameObject: 118 | m_ObjectHideFlags: 0 119 | m_PrefabParentObject: {fileID: 0} 120 | m_PrefabInternal: {fileID: 0} 121 | serializedVersion: 5 122 | m_Component: 123 | - component: {fileID: 354704954} 124 | - component: {fileID: 354704953} 125 | m_Layer: 0 126 | m_Name: Directional Light 127 | m_TagString: Untagged 128 | m_Icon: {fileID: 0} 129 | m_NavMeshLayer: 0 130 | m_StaticEditorFlags: 0 131 | m_IsActive: 1 132 | --- !u!108 &354704953 133 | Light: 134 | m_ObjectHideFlags: 0 135 | m_PrefabParentObject: {fileID: 0} 136 | m_PrefabInternal: {fileID: 0} 137 | m_GameObject: {fileID: 354704952} 138 | m_Enabled: 1 139 | serializedVersion: 8 140 | m_Type: 1 141 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 142 | m_Intensity: 1 143 | m_Range: 10 144 | m_SpotAngle: 30 145 | m_CookieSize: 10 146 | m_Shadows: 147 | m_Type: 2 148 | m_Resolution: -1 149 | m_CustomResolution: -1 150 | m_Strength: 1 151 | m_Bias: 0.05 152 | m_NormalBias: 0.4 153 | m_NearPlane: 0.2 154 | m_Cookie: {fileID: 0} 155 | m_DrawHalo: 0 156 | m_Flare: {fileID: 0} 157 | m_RenderMode: 0 158 | m_CullingMask: 159 | serializedVersion: 2 160 | m_Bits: 4294967295 161 | m_Lightmapping: 4 162 | m_AreaSize: {x: 1, y: 1} 163 | m_BounceIntensity: 1 164 | m_ColorTemperature: 6570 165 | m_UseColorTemperature: 0 166 | m_ShadowRadius: 0 167 | m_ShadowAngle: 0 168 | --- !u!4 &354704954 169 | Transform: 170 | m_ObjectHideFlags: 0 171 | m_PrefabParentObject: {fileID: 0} 172 | m_PrefabInternal: {fileID: 0} 173 | m_GameObject: {fileID: 354704952} 174 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 175 | m_LocalPosition: {x: 0, y: 3, z: 0} 176 | m_LocalScale: {x: 1, y: 1, z: 1} 177 | m_Children: [] 178 | m_Father: {fileID: 0} 179 | m_RootOrder: 1 180 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 181 | --- !u!1 &1089265343 182 | GameObject: 183 | m_ObjectHideFlags: 0 184 | m_PrefabParentObject: {fileID: 0} 185 | m_PrefabInternal: {fileID: 0} 186 | serializedVersion: 5 187 | m_Component: 188 | - component: {fileID: 1089265347} 189 | - component: {fileID: 1089265346} 190 | - component: {fileID: 1089265345} 191 | - component: {fileID: 1089265344} 192 | m_Layer: 0 193 | m_Name: Main Camera 194 | m_TagString: MainCamera 195 | m_Icon: {fileID: 0} 196 | m_NavMeshLayer: 0 197 | m_StaticEditorFlags: 0 198 | m_IsActive: 1 199 | --- !u!81 &1089265344 200 | AudioListener: 201 | m_ObjectHideFlags: 0 202 | m_PrefabParentObject: {fileID: 0} 203 | m_PrefabInternal: {fileID: 0} 204 | m_GameObject: {fileID: 1089265343} 205 | m_Enabled: 1 206 | --- !u!124 &1089265345 207 | Behaviour: 208 | m_ObjectHideFlags: 0 209 | m_PrefabParentObject: {fileID: 0} 210 | m_PrefabInternal: {fileID: 0} 211 | m_GameObject: {fileID: 1089265343} 212 | m_Enabled: 1 213 | --- !u!20 &1089265346 214 | Camera: 215 | m_ObjectHideFlags: 0 216 | m_PrefabParentObject: {fileID: 0} 217 | m_PrefabInternal: {fileID: 0} 218 | m_GameObject: {fileID: 1089265343} 219 | m_Enabled: 1 220 | serializedVersion: 2 221 | m_ClearFlags: 1 222 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 223 | m_NormalizedViewPortRect: 224 | serializedVersion: 2 225 | x: 0 226 | y: 0 227 | width: 1 228 | height: 1 229 | near clip plane: 0.3 230 | far clip plane: 1000 231 | field of view: 60 232 | orthographic: 0 233 | orthographic size: 5 234 | m_Depth: -1 235 | m_CullingMask: 236 | serializedVersion: 2 237 | m_Bits: 4294967295 238 | m_RenderingPath: -1 239 | m_TargetTexture: {fileID: 0} 240 | m_TargetDisplay: 0 241 | m_TargetEye: 3 242 | m_HDR: 1 243 | m_AllowMSAA: 1 244 | m_AllowDynamicResolution: 0 245 | m_ForceIntoRT: 0 246 | m_OcclusionCulling: 1 247 | m_StereoConvergence: 10 248 | m_StereoSeparation: 0.022 249 | --- !u!4 &1089265347 250 | Transform: 251 | m_ObjectHideFlags: 0 252 | m_PrefabParentObject: {fileID: 0} 253 | m_PrefabInternal: {fileID: 0} 254 | m_GameObject: {fileID: 1089265343} 255 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 256 | m_LocalPosition: {x: 0, y: 1, z: -10} 257 | m_LocalScale: {x: 1, y: 1, z: 1} 258 | m_Children: [] 259 | m_Father: {fileID: 0} 260 | m_RootOrder: 0 261 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 262 | -------------------------------------------------------------------------------- /Assets/Scene/01.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85e18c08c30996541920c89fd70b3fe4 3 | timeCreated: 1519637855 4 | licenseType: Pro 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/StreamingAssets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d59bc4fd017086f44886969a93fb4235 3 | folderAsset: yes 4 | timeCreated: 1519307442 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/StreamingAssets/ma.3dc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9156accb664a8234c9703a0f15868af1 3 | timeCreated: 1519264033 4 | licenseType: Pro 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /PointCloudFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiawenquan/CreatePointCloudGameObject/451f3d6c666539e171138bd4e028cf62a01bd6db/PointCloudFile.png -------------------------------------------------------------------------------- /PointCloudTextData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiawenquan/CreatePointCloudGameObject/451f3d6c666539e171138bd4e028cf62a01bd6db/PointCloudTextData.png -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_DisableAudio: 0 15 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepThreshold: .00499999989 10 | m_DefaultContactOffset: .00999999978 11 | m_SolverIterationCount: 6 12 | m_RaycastsHitTriggers: 1 13 | m_EnableAdaptiveForce: 0 14 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 15 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/VRTK/Examples/010_CameraRig_TerrainTeleporting.unity 10 | guid: 246642cd92af6764fa0e4fc507e86d64 11 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 0 12 | m_SpritePackerMode: 2 13 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | m_PreloadedShaders: [] 41 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 42 | type: 0} 43 | m_CustomRenderPipeline: {fileID: 0} 44 | m_TransparencySortMode: 0 45 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 46 | m_DefaultRenderingPath: 1 47 | m_DefaultMobileRenderingPath: 1 48 | m_TierSettings: [] 49 | m_LightmapStripping: 0 50 | m_FogStripping: 0 51 | m_InstancingStripping: 0 52 | m_LightmapKeepPlain: 1 53 | m_LightmapKeepDirCombined: 1 54 | m_LightmapKeepDynamicPlain: 1 55 | m_LightmapKeepDynamicDirCombined: 1 56 | m_LightmapKeepShadowMask: 1 57 | m_LightmapKeepSubtractive: 1 58 | m_FogKeepLinear: 1 59 | m_FogKeepExp: 1 60 | m_FogKeepExp2: 1 61 | m_AlbedoSwatchInfos: [] 62 | m_LightsUseLinearIntensity: 0 63 | m_LightsUseColorTemperature: 0 64 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: .00100000005 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: .00100000005 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: .00100000005 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: .00100000005 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left cmd 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: .00100000005 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: .00100000005 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: .100000001 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: .100000001 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: .100000001 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: .189999998 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: .189999998 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: .00100000005 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: .00100000005 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: .00100000005 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: .00100000005 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: .00100000005 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: .00100000005 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: .00100000005 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshAreas: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_VelocityIterations: 8 9 | m_PositionIterations: 3 10 | m_VelocityThreshold: 1 11 | m_MaxLinearCorrection: .200000003 12 | m_MaxAngularCorrection: 8 13 | m_MaxTranslationSpeed: 100 14 | m_MaxRotationSpeed: 360 15 | m_MinPenetrationForPenalty: .00999999978 16 | m_BaumgarteScale: .200000003 17 | m_BaumgarteTimeOfImpactScale: .75 18 | m_TimeToSleep: .5 19 | m_LinearSleepTolerance: .00999999978 20 | m_AngularSleepTolerance: 2 21 | m_RaycastsHitTriggers: 1 22 | m_RaycastsStartInColliders: 1 23 | m_ChangeStopsCallbacks: 0 24 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 25 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 14 7 | productGUID: 077cb20a5e712754ca452783eea28066 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | defaultScreenOrientation: 4 11 | targetDevice: 2 12 | useOnDemandResources: 0 13 | accelerometerFrequency: 60 14 | companyName: DefaultCompany 15 | productName: CreatePointCloudGameObject 16 | defaultCursor: {fileID: 0} 17 | cursorHotspot: {x: 0, y: 0} 18 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 19 | m_ShowUnitySplashScreen: 0 20 | m_ShowUnitySplashLogo: 1 21 | m_SplashScreenOverlayOpacity: 1 22 | m_SplashScreenAnimation: 1 23 | m_SplashScreenLogoStyle: 1 24 | m_SplashScreenDrawMode: 0 25 | m_SplashScreenBackgroundAnimationZoom: 1 26 | m_SplashScreenLogoAnimationZoom: 1 27 | m_SplashScreenBackgroundLandscapeAspect: 1 28 | m_SplashScreenBackgroundPortraitAspect: 1 29 | m_SplashScreenBackgroundLandscapeUvs: 30 | serializedVersion: 2 31 | x: 0 32 | y: 0 33 | width: 1 34 | height: 1 35 | m_SplashScreenBackgroundPortraitUvs: 36 | serializedVersion: 2 37 | x: 0 38 | y: 0 39 | width: 1 40 | height: 1 41 | m_SplashScreenLogos: [] 42 | m_VirtualRealitySplashScreen: {fileID: 0} 43 | m_HolographicTrackingLossScreen: {fileID: 0} 44 | defaultScreenWidth: 1024 45 | defaultScreenHeight: 768 46 | defaultScreenWidthWeb: 960 47 | defaultScreenHeightWeb: 600 48 | m_StereoRenderingPath: 0 49 | m_ActiveColorSpace: 1 50 | m_MTRendering: 1 51 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 52 | iosShowActivityIndicatorOnLoading: -1 53 | androidShowActivityIndicatorOnLoading: -1 54 | tizenShowActivityIndicatorOnLoading: -1 55 | iosAppInBackgroundBehavior: 0 56 | displayResolutionDialog: 2 57 | iosAllowHTTPDownload: 1 58 | allowedAutorotateToPortrait: 1 59 | allowedAutorotateToPortraitUpsideDown: 1 60 | allowedAutorotateToLandscapeRight: 1 61 | allowedAutorotateToLandscapeLeft: 1 62 | useOSAutorotation: 1 63 | use32BitDisplayBuffer: 1 64 | preserveFramebufferAlpha: 0 65 | disableDepthAndStencilBuffers: 0 66 | androidBlitType: 0 67 | defaultIsFullScreen: 0 68 | defaultIsNativeResolution: 1 69 | macRetinaSupport: 1 70 | runInBackground: 1 71 | captureSingleScreen: 0 72 | muteOtherAudioSources: 0 73 | Prepare IOS For Recording: 0 74 | Force IOS Speakers When Recording: 0 75 | deferSystemGesturesMode: 0 76 | hideHomeButton: 0 77 | submitAnalytics: 1 78 | usePlayerLog: 1 79 | bakeCollisionMeshes: 0 80 | forceSingleInstance: 0 81 | resizableWindow: 1 82 | useMacAppStoreValidation: 0 83 | macAppStoreCategory: public.app-category.games 84 | gpuSkinning: 1 85 | graphicsJobs: 0 86 | xboxPIXTextureCapture: 0 87 | xboxEnableAvatar: 0 88 | xboxEnableKinect: 0 89 | xboxEnableKinectAutoTracking: 0 90 | xboxEnableFitness: 0 91 | visibleInBackground: 1 92 | allowFullscreenSwitch: 1 93 | graphicsJobMode: 0 94 | macFullscreenMode: 2 95 | d3d11FullscreenMode: 1 96 | xboxSpeechDB: 0 97 | xboxEnableHeadOrientation: 0 98 | xboxEnableGuest: 0 99 | xboxEnablePIXSampling: 0 100 | metalFramebufferOnly: 0 101 | n3dsDisableStereoscopicView: 0 102 | n3dsEnableSharedListOpt: 1 103 | n3dsEnableVSync: 0 104 | xboxOneResolution: 0 105 | xboxOneSResolution: 0 106 | xboxOneXResolution: 3 107 | xboxOneMonoLoggingLevel: 0 108 | xboxOneLoggingLevel: 1 109 | xboxOneDisableEsram: 0 110 | xboxOnePresentImmediateThreshold: 0 111 | videoMemoryForVertexBuffers: 0 112 | psp2PowerMode: 0 113 | psp2AcquireBGM: 1 114 | wiiUTVResolution: 0 115 | wiiUGamePadMSAA: 1 116 | wiiUSupportsNunchuk: 0 117 | wiiUSupportsClassicController: 0 118 | wiiUSupportsBalanceBoard: 0 119 | wiiUSupportsMotionPlus: 0 120 | wiiUSupportsProController: 0 121 | wiiUAllowScreenCapture: 1 122 | wiiUControllerCount: 0 123 | m_SupportedAspectRatios: 124 | 4:3: 1 125 | 5:4: 1 126 | 16:10: 1 127 | 16:9: 1 128 | Others: 1 129 | bundleVersion: 1.0 130 | preloadedAssets: [] 131 | metroInputSource: 0 132 | wsaTransparentSwapchain: 0 133 | m_HolographicPauseOnTrackingLoss: 1 134 | xboxOneDisableKinectGpuReservation: 0 135 | xboxOneEnable7thCore: 0 136 | vrSettings: 137 | cardboard: 138 | depthFormat: 0 139 | enableTransitionView: 0 140 | daydream: 141 | depthFormat: 0 142 | useSustainedPerformanceMode: 0 143 | enableVideoLayer: 0 144 | useProtectedVideoMemory: 0 145 | minimumSupportedHeadTracking: 0 146 | maximumSupportedHeadTracking: 1 147 | hololens: 148 | depthFormat: 1 149 | depthBufferSharingEnabled: 0 150 | oculus: 151 | sharedDepthBuffer: 0 152 | dashSupport: 0 153 | protectGraphicsMemory: 0 154 | useHDRDisplay: 0 155 | m_ColorGamuts: 00000000 156 | targetPixelDensity: 30 157 | resolutionScalingMode: 0 158 | androidSupportedAspectRatio: 1 159 | androidMaxAspectRatio: 2.1 160 | applicationIdentifier: 161 | Android: com.Company.ProductName 162 | Standalone: unity.Valve.SteamVR 163 | Tizen: com.Company.ProductName 164 | iOS: com.Company.ProductName 165 | tvOS: com.Company.ProductName 166 | buildNumber: 167 | iOS: 0 168 | AndroidBundleVersionCode: 1 169 | AndroidMinSdkVersion: 16 170 | AndroidTargetSdkVersion: 0 171 | AndroidPreferredInstallLocation: 1 172 | aotOptions: 173 | stripEngineCode: 1 174 | iPhoneStrippingLevel: 0 175 | iPhoneScriptCallOptimization: 0 176 | ForceInternetPermission: 0 177 | ForceSDCardPermission: 0 178 | CreateWallpaper: 0 179 | APKExpansionFiles: 0 180 | keepLoadedShadersAlive: 0 181 | StripUnusedMeshComponents: 0 182 | VertexChannelCompressionMask: 183 | serializedVersion: 2 184 | m_Bits: 238 185 | iPhoneSdkVersion: 988 186 | iOSTargetOSVersionString: 7.0 187 | tvOSSdkVersion: 0 188 | tvOSRequireExtendedGameController: 0 189 | tvOSTargetOSVersionString: 9.0 190 | uIPrerenderedIcon: 0 191 | uIRequiresPersistentWiFi: 0 192 | uIRequiresFullScreen: 1 193 | uIStatusBarHidden: 1 194 | uIExitOnSuspend: 0 195 | uIStatusBarStyle: 0 196 | iPhoneSplashScreen: {fileID: 0} 197 | iPhoneHighResSplashScreen: {fileID: 0} 198 | iPhoneTallHighResSplashScreen: {fileID: 0} 199 | iPhone47inSplashScreen: {fileID: 0} 200 | iPhone55inPortraitSplashScreen: {fileID: 0} 201 | iPhone55inLandscapeSplashScreen: {fileID: 0} 202 | iPhone58inPortraitSplashScreen: {fileID: 0} 203 | iPhone58inLandscapeSplashScreen: {fileID: 0} 204 | iPadPortraitSplashScreen: {fileID: 0} 205 | iPadHighResPortraitSplashScreen: {fileID: 0} 206 | iPadLandscapeSplashScreen: {fileID: 0} 207 | iPadHighResLandscapeSplashScreen: {fileID: 0} 208 | appleTVSplashScreen: {fileID: 0} 209 | appleTVSplashScreen2x: {fileID: 0} 210 | tvOSSmallIconLayers: [] 211 | tvOSSmallIconLayers2x: [] 212 | tvOSLargeIconLayers: [] 213 | tvOSLargeIconLayers2x: [] 214 | tvOSTopShelfImageLayers: [] 215 | tvOSTopShelfImageLayers2x: [] 216 | tvOSTopShelfImageWideLayers: [] 217 | tvOSTopShelfImageWideLayers2x: [] 218 | iOSLaunchScreenType: 0 219 | iOSLaunchScreenPortrait: {fileID: 0} 220 | iOSLaunchScreenLandscape: {fileID: 0} 221 | iOSLaunchScreenBackgroundColor: 222 | serializedVersion: 2 223 | rgba: 0 224 | iOSLaunchScreenFillPct: 100 225 | iOSLaunchScreenSize: 100 226 | iOSLaunchScreenCustomXibPath: 227 | iOSLaunchScreeniPadType: 0 228 | iOSLaunchScreeniPadImage: {fileID: 0} 229 | iOSLaunchScreeniPadBackgroundColor: 230 | serializedVersion: 2 231 | rgba: 0 232 | iOSLaunchScreeniPadFillPct: 100 233 | iOSLaunchScreeniPadSize: 100 234 | iOSLaunchScreeniPadCustomXibPath: 235 | iOSUseLaunchScreenStoryboard: 0 236 | iOSLaunchScreenCustomStoryboardPath: 237 | iOSDeviceRequirements: [] 238 | iOSURLSchemes: [] 239 | iOSBackgroundModes: 0 240 | iOSMetalForceHardShadows: 0 241 | metalEditorSupport: 1 242 | metalAPIValidation: 1 243 | iOSRenderExtraFrameOnPause: 1 244 | appleDeveloperTeamID: 245 | iOSManualSigningProvisioningProfileID: 246 | tvOSManualSigningProvisioningProfileID: 247 | appleEnableAutomaticSigning: 0 248 | clonedFromGUID: 3355557de5a687e44a6eface0a816616 249 | AndroidTargetDevice: 0 250 | AndroidSplashScreenScale: 0 251 | androidSplashScreen: {fileID: 0} 252 | AndroidKeystoreName: 253 | AndroidKeyaliasName: 254 | AndroidTVCompatibility: 1 255 | AndroidIsGame: 1 256 | AndroidEnableTango: 0 257 | androidEnableBanner: 1 258 | androidUseLowAccuracyLocation: 0 259 | m_AndroidBanners: 260 | - width: 320 261 | height: 180 262 | banner: {fileID: 0} 263 | androidGamepadSupportLevel: 0 264 | resolutionDialogBanner: {fileID: 0} 265 | m_BuildTargetIcons: 266 | - m_BuildTarget: 267 | m_Icons: 268 | - serializedVersion: 2 269 | m_Icon: {fileID: 0} 270 | m_Width: 1 271 | m_Height: 1 272 | m_Kind: 44925 273 | m_BuildTargetBatching: 274 | - m_BuildTarget: Standalone 275 | m_StaticBatching: 1 276 | m_DynamicBatching: 1 277 | m_BuildTargetGraphicsAPIs: [] 278 | m_BuildTargetVRSettings: 279 | - m_BuildTarget: Android 280 | m_Enabled: 0 281 | m_Devices: [] 282 | - m_BuildTarget: Metro 283 | m_Enabled: 0 284 | m_Devices: [] 285 | - m_BuildTarget: N3DS 286 | m_Enabled: 0 287 | m_Devices: [] 288 | - m_BuildTarget: PS3 289 | m_Enabled: 0 290 | m_Devices: [] 291 | - m_BuildTarget: PS4 292 | m_Enabled: 0 293 | m_Devices: [] 294 | - m_BuildTarget: PSM 295 | m_Enabled: 0 296 | m_Devices: [] 297 | - m_BuildTarget: PSP2 298 | m_Enabled: 0 299 | m_Devices: [] 300 | - m_BuildTarget: SamsungTV 301 | m_Enabled: 0 302 | m_Devices: [] 303 | - m_BuildTarget: Standalone 304 | m_Enabled: 1 305 | m_Devices: 306 | - None 307 | - OpenVR 308 | - m_BuildTarget: Tizen 309 | m_Enabled: 0 310 | m_Devices: [] 311 | - m_BuildTarget: WebGL 312 | m_Enabled: 0 313 | m_Devices: [] 314 | - m_BuildTarget: WebPlayer 315 | m_Enabled: 0 316 | m_Devices: [] 317 | - m_BuildTarget: WiiU 318 | m_Enabled: 0 319 | m_Devices: [] 320 | - m_BuildTarget: Xbox360 321 | m_Enabled: 0 322 | m_Devices: [] 323 | - m_BuildTarget: XboxOne 324 | m_Enabled: 0 325 | m_Devices: [] 326 | - m_BuildTarget: iOS 327 | m_Enabled: 0 328 | m_Devices: [] 329 | - m_BuildTarget: tvOS 330 | m_Enabled: 0 331 | m_Devices: [] 332 | - m_BuildTarget: Facebook 333 | m_Enabled: 0 334 | m_Devices: [] 335 | - m_BuildTarget: 336 | m_Enabled: 0 337 | m_Devices: [] 338 | m_BuildTargetEnableVuforiaSettings: [] 339 | openGLRequireES31: 0 340 | openGLRequireES31AEP: 0 341 | m_TemplateCustomTags: {} 342 | mobileMTRendering: 343 | iPhone: 1 344 | tvOS: 1 345 | m_BuildTargetGroupLightmapEncodingQuality: 346 | - m_BuildTarget: Standalone 347 | m_EncodingQuality: 1 348 | - m_BuildTarget: XboxOne 349 | m_EncodingQuality: 1 350 | - m_BuildTarget: PS4 351 | m_EncodingQuality: 1 352 | wiiUTitleID: 0005000011000000 353 | wiiUGroupID: 00010000 354 | wiiUCommonSaveSize: 4096 355 | wiiUAccountSaveSize: 2048 356 | wiiUOlvAccessKey: 0 357 | wiiUTinCode: 0 358 | wiiUJoinGameId: 0 359 | wiiUJoinGameModeMask: 0000000000000000 360 | wiiUCommonBossSize: 0 361 | wiiUAccountBossSize: 0 362 | wiiUAddOnUniqueIDs: [] 363 | wiiUMainThreadStackSize: 3072 364 | wiiULoaderThreadStackSize: 1024 365 | wiiUSystemHeapSize: 128 366 | wiiUTVStartupScreen: {fileID: 0} 367 | wiiUGamePadStartupScreen: {fileID: 0} 368 | wiiUDrcBufferDisabled: 0 369 | wiiUProfilerLibPath: 370 | playModeTestRunnerEnabled: 0 371 | actionOnDotNetUnhandledException: 1 372 | enableInternalProfiler: 0 373 | logObjCUncaughtExceptions: 1 374 | enableCrashReportAPI: 0 375 | cameraUsageDescription: 376 | locationUsageDescription: 377 | microphoneUsageDescription: 378 | switchNetLibKey: 379 | switchSocketMemoryPoolSize: 6144 380 | switchSocketAllocatorPoolSize: 128 381 | switchSocketConcurrencyLimit: 14 382 | switchScreenResolutionBehavior: 2 383 | switchUseCPUProfiler: 0 384 | switchApplicationID: 0x01004b9000490000 385 | switchNSODependencies: 386 | switchTitleNames_0: 387 | switchTitleNames_1: 388 | switchTitleNames_2: 389 | switchTitleNames_3: 390 | switchTitleNames_4: 391 | switchTitleNames_5: 392 | switchTitleNames_6: 393 | switchTitleNames_7: 394 | switchTitleNames_8: 395 | switchTitleNames_9: 396 | switchTitleNames_10: 397 | switchTitleNames_11: 398 | switchTitleNames_12: 399 | switchTitleNames_13: 400 | switchTitleNames_14: 401 | switchPublisherNames_0: 402 | switchPublisherNames_1: 403 | switchPublisherNames_2: 404 | switchPublisherNames_3: 405 | switchPublisherNames_4: 406 | switchPublisherNames_5: 407 | switchPublisherNames_6: 408 | switchPublisherNames_7: 409 | switchPublisherNames_8: 410 | switchPublisherNames_9: 411 | switchPublisherNames_10: 412 | switchPublisherNames_11: 413 | switchPublisherNames_12: 414 | switchPublisherNames_13: 415 | switchPublisherNames_14: 416 | switchIcons_0: {fileID: 0} 417 | switchIcons_1: {fileID: 0} 418 | switchIcons_2: {fileID: 0} 419 | switchIcons_3: {fileID: 0} 420 | switchIcons_4: {fileID: 0} 421 | switchIcons_5: {fileID: 0} 422 | switchIcons_6: {fileID: 0} 423 | switchIcons_7: {fileID: 0} 424 | switchIcons_8: {fileID: 0} 425 | switchIcons_9: {fileID: 0} 426 | switchIcons_10: {fileID: 0} 427 | switchIcons_11: {fileID: 0} 428 | switchIcons_12: {fileID: 0} 429 | switchIcons_13: {fileID: 0} 430 | switchIcons_14: {fileID: 0} 431 | switchSmallIcons_0: {fileID: 0} 432 | switchSmallIcons_1: {fileID: 0} 433 | switchSmallIcons_2: {fileID: 0} 434 | switchSmallIcons_3: {fileID: 0} 435 | switchSmallIcons_4: {fileID: 0} 436 | switchSmallIcons_5: {fileID: 0} 437 | switchSmallIcons_6: {fileID: 0} 438 | switchSmallIcons_7: {fileID: 0} 439 | switchSmallIcons_8: {fileID: 0} 440 | switchSmallIcons_9: {fileID: 0} 441 | switchSmallIcons_10: {fileID: 0} 442 | switchSmallIcons_11: {fileID: 0} 443 | switchSmallIcons_12: {fileID: 0} 444 | switchSmallIcons_13: {fileID: 0} 445 | switchSmallIcons_14: {fileID: 0} 446 | switchManualHTML: 447 | switchAccessibleURLs: 448 | switchLegalInformation: 449 | switchMainThreadStackSize: 1048576 450 | switchPresenceGroupId: 451 | switchLogoHandling: 0 452 | switchReleaseVersion: 0 453 | switchDisplayVersion: 1.0.0 454 | switchStartupUserAccount: 0 455 | switchTouchScreenUsage: 0 456 | switchSupportedLanguagesMask: 0 457 | switchLogoType: 0 458 | switchApplicationErrorCodeCategory: 459 | switchUserAccountSaveDataSize: 0 460 | switchUserAccountSaveDataJournalSize: 0 461 | switchApplicationAttribute: 0 462 | switchCardSpecSize: -1 463 | switchCardSpecClock: -1 464 | switchRatingsMask: 0 465 | switchRatingsInt_0: 0 466 | switchRatingsInt_1: 0 467 | switchRatingsInt_2: 0 468 | switchRatingsInt_3: 0 469 | switchRatingsInt_4: 0 470 | switchRatingsInt_5: 0 471 | switchRatingsInt_6: 0 472 | switchRatingsInt_7: 0 473 | switchRatingsInt_8: 0 474 | switchRatingsInt_9: 0 475 | switchRatingsInt_10: 0 476 | switchRatingsInt_11: 0 477 | switchLocalCommunicationIds_0: 478 | switchLocalCommunicationIds_1: 479 | switchLocalCommunicationIds_2: 480 | switchLocalCommunicationIds_3: 481 | switchLocalCommunicationIds_4: 482 | switchLocalCommunicationIds_5: 483 | switchLocalCommunicationIds_6: 484 | switchLocalCommunicationIds_7: 485 | switchParentalControl: 0 486 | switchAllowsScreenshot: 1 487 | switchAllowsVideoCapturing: 1 488 | switchAllowsRuntimeAddOnContentInstall: 0 489 | switchDataLossConfirmation: 0 490 | switchSupportedNpadStyles: 3 491 | switchSocketConfigEnabled: 0 492 | switchTcpInitialSendBufferSize: 32 493 | switchTcpInitialReceiveBufferSize: 64 494 | switchTcpAutoSendBufferSizeMax: 256 495 | switchTcpAutoReceiveBufferSizeMax: 256 496 | switchUdpSendBufferSize: 9 497 | switchUdpReceiveBufferSize: 42 498 | switchSocketBufferEfficiency: 4 499 | switchSocketInitializeEnabled: 1 500 | switchNetworkInterfaceManagerInitializeEnabled: 1 501 | switchPlayerConnectionEnabled: 1 502 | ps4NPAgeRating: 12 503 | ps4NPTitleSecret: 504 | ps4NPTrophyPackPath: 505 | ps4ParentalLevel: 1 506 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 507 | ps4Category: 0 508 | ps4MasterVersion: 01.00 509 | ps4AppVersion: 01.00 510 | ps4AppType: 0 511 | ps4ParamSfxPath: 512 | ps4VideoOutPixelFormat: 0 513 | ps4VideoOutInitialWidth: 1920 514 | ps4VideoOutBaseModeInitialWidth: 1920 515 | ps4VideoOutReprojectionRate: 60 516 | ps4PronunciationXMLPath: 517 | ps4PronunciationSIGPath: 518 | ps4BackgroundImagePath: 519 | ps4StartupImagePath: 520 | ps4StartupImagesFolder: 521 | ps4IconImagesFolder: 522 | ps4SaveDataImagePath: 523 | ps4SdkOverride: 524 | ps4BGMPath: 525 | ps4ShareFilePath: 526 | ps4ShareOverlayImagePath: 527 | ps4PrivacyGuardImagePath: 528 | ps4NPtitleDatPath: 529 | ps4RemotePlayKeyAssignment: -1 530 | ps4RemotePlayKeyMappingDir: 531 | ps4PlayTogetherPlayerCount: 0 532 | ps4EnterButtonAssignment: 1 533 | ps4ApplicationParam1: 0 534 | ps4ApplicationParam2: 0 535 | ps4ApplicationParam3: 0 536 | ps4ApplicationParam4: 0 537 | ps4DownloadDataSize: 0 538 | ps4GarlicHeapSize: 2048 539 | ps4ProGarlicHeapSize: 2560 540 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 541 | ps4pnSessions: 1 542 | ps4pnPresence: 1 543 | ps4pnFriends: 1 544 | ps4pnGameCustomData: 1 545 | playerPrefsSupport: 0 546 | restrictedAudioUsageRights: 0 547 | ps4UseResolutionFallback: 0 548 | ps4ReprojectionSupport: 0 549 | ps4UseAudio3dBackend: 0 550 | ps4SocialScreenEnabled: 0 551 | ps4ScriptOptimizationLevel: 0 552 | ps4Audio3dVirtualSpeakerCount: 14 553 | ps4attribCpuUsage: 0 554 | ps4PatchPkgPath: 555 | ps4PatchLatestPkgPath: 556 | ps4PatchChangeinfoPath: 557 | ps4PatchDayOne: 0 558 | ps4attribUserManagement: 0 559 | ps4attribMoveSupport: 0 560 | ps4attrib3DSupport: 0 561 | ps4attribShareSupport: 0 562 | ps4attribExclusiveVR: 0 563 | ps4disableAutoHideSplash: 0 564 | ps4videoRecordingFeaturesUsed: 0 565 | ps4contentSearchFeaturesUsed: 0 566 | ps4attribEyeToEyeDistanceSettingVR: 0 567 | ps4IncludedModules: [] 568 | monoEnv: 569 | psp2Splashimage: {fileID: 0} 570 | psp2NPTrophyPackPath: 571 | psp2NPSupportGBMorGJP: 0 572 | psp2NPAgeRating: 12 573 | psp2NPTitleDatPath: 574 | psp2NPCommsID: 575 | psp2NPCommunicationsID: 576 | psp2NPCommsPassphrase: 577 | psp2NPCommsSig: 578 | psp2ParamSfxPath: 579 | psp2ManualPath: 580 | psp2LiveAreaGatePath: 581 | psp2LiveAreaBackroundPath: 582 | psp2LiveAreaPath: 583 | psp2LiveAreaTrialPath: 584 | psp2PatchChangeInfoPath: 585 | psp2PatchOriginalPackage: 586 | psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui 587 | psp2KeystoneFile: 588 | psp2MemoryExpansionMode: 0 589 | psp2DRMType: 0 590 | psp2StorageType: 0 591 | psp2MediaCapacity: 0 592 | psp2DLCConfigPath: 593 | psp2ThumbnailPath: 594 | psp2BackgroundPath: 595 | psp2SoundPath: 596 | psp2TrophyCommId: 597 | psp2TrophyPackagePath: 598 | psp2PackagedResourcesPath: 599 | psp2SaveDataQuota: 10240 600 | psp2ParentalLevel: 1 601 | psp2ShortTitle: Not Set 602 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF 603 | psp2Category: 0 604 | psp2MasterVersion: 01.00 605 | psp2AppVersion: 01.00 606 | psp2TVBootMode: 0 607 | psp2EnterButtonAssignment: 2 608 | psp2TVDisableEmu: 0 609 | psp2AllowTwitterDialog: 1 610 | psp2Upgradable: 0 611 | psp2HealthWarning: 0 612 | psp2UseLibLocation: 0 613 | psp2InfoBarOnStartup: 0 614 | psp2InfoBarColor: 0 615 | psp2ScriptOptimizationLevel: 0 616 | psmSplashimage: {fileID: 0} 617 | splashScreenBackgroundSourceLandscape: {fileID: 0} 618 | splashScreenBackgroundSourcePortrait: {fileID: 0} 619 | spritePackerPolicy: 620 | webGLMemorySize: 256 621 | webGLExceptionSupport: 1 622 | webGLNameFilesAsHashes: 0 623 | webGLDataCaching: 0 624 | webGLDebugSymbols: 0 625 | webGLEmscriptenArgs: 626 | webGLModulesDirectory: 627 | webGLTemplate: APPLICATION:Default 628 | webGLAnalyzeBuildSize: 0 629 | webGLUseEmbeddedResources: 0 630 | webGLUseWasm: 0 631 | webGLCompressionFormat: 1 632 | scriptingDefineSymbols: 633 | 1: VRTK_DEFINE_SDK_STEAMVR;VRTK_DEFINE_STEAMVR_PLUGIN_1_2_1_OR_NEWER;VRTK_DEFINE_STEAMVR_PLUGIN_1_2_2_OR_NEWER;VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 634 | 4: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 635 | 7: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 636 | 13: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 637 | 17: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 638 | 18: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 639 | 19: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 640 | 20: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 641 | 21: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 642 | 23: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 643 | 24: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 644 | 25: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 645 | 26: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 646 | 27: VRTK_VERSION_3_2_1;VRTK_VERSION_3_2_1_OR_NEWER;VRTK_VERSION_3_1_0_OR_NEWER;VRTK_VERSION_3_2_0_OR_NEWER 647 | platformArchitecture: {} 648 | scriptingBackend: 649 | Standalone: 0 650 | incrementalIl2cppBuild: {} 651 | additionalIl2CppArgs: 652 | scriptingRuntimeVersion: 0 653 | apiCompatibilityLevelPerPlatform: {} 654 | m_RenderingPath: 1 655 | m_MobileRenderingPath: 1 656 | metroPackageName: v5 657 | metroPackageVersion: 658 | metroCertificatePath: 659 | metroCertificatePassword: 660 | metroCertificateSubject: 661 | metroCertificateIssuer: 662 | metroCertificateNotAfter: 0000000000000000 663 | metroApplicationDescription: v5 664 | wsaImages: {} 665 | metroTileShortName: 666 | metroCommandLineArgsFile: 667 | metroTileShowName: 0 668 | metroMediumTileShowName: 0 669 | metroLargeTileShowName: 0 670 | metroWideTileShowName: 0 671 | metroDefaultTileSize: 1 672 | metroTileForegroundText: 1 673 | metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 674 | metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 675 | metroSplashScreenUseBackgroundColor: 0 676 | platformCapabilities: {} 677 | metroFTAName: 678 | metroFTAFileTypes: [] 679 | metroProtocolName: 680 | metroCompilationOverrides: 1 681 | tizenProductDescription: 682 | tizenProductURL: 683 | tizenSigningProfileName: 684 | tizenGPSPermissions: 0 685 | tizenMicrophonePermissions: 0 686 | tizenDeploymentTarget: 687 | tizenDeploymentTargetType: -1 688 | tizenMinOSVersion: 1 689 | n3dsUseExtSaveData: 0 690 | n3dsCompressStaticMem: 1 691 | n3dsExtSaveDataNumber: 0x12345 692 | n3dsStackSize: 131072 693 | n3dsTargetPlatform: 2 694 | n3dsRegion: 7 695 | n3dsMediaSize: 0 696 | n3dsLogoStyle: 3 697 | n3dsTitle: GameName 698 | n3dsProductCode: 699 | n3dsApplicationId: 0xFF3FF 700 | XboxOneProductId: 701 | XboxOneUpdateKey: 702 | XboxOneSandboxId: 703 | XboxOneContentId: 704 | XboxOneTitleId: 705 | XboxOneSCId: 706 | XboxOneGameOsOverridePath: 707 | XboxOnePackagingOverridePath: 708 | XboxOneAppManifestOverridePath: 709 | XboxOnePackageEncryption: 0 710 | XboxOnePackageUpdateGranularity: 2 711 | XboxOneDescription: 712 | XboxOneLanguage: 713 | - enus 714 | XboxOneCapability: [] 715 | XboxOneGameRating: {} 716 | XboxOneIsContentPackage: 0 717 | XboxOneEnableGPUVariability: 0 718 | XboxOneSockets: {} 719 | XboxOneSplashScreen: {fileID: 0} 720 | XboxOneAllowedProductIds: [] 721 | XboxOnePersistentLocalStorageSize: 0 722 | xboxOneScriptCompiler: 0 723 | vrEditorSettings: 724 | daydream: 725 | daydreamIconForeground: {fileID: 0} 726 | daydreamIconBackground: {fileID: 0} 727 | cloudServicesEnabled: 728 | Analytics: 0 729 | Build: 0 730 | Collab: 0 731 | ErrorHub: 0 732 | Game_Performance: 0 733 | Hub: 0 734 | Purchasing: 0 735 | UNet: 0 736 | Unity_Ads: 0 737 | facebookSdkVersion: 7.9.4 738 | apiCompatibilityLevel: 2 739 | cloudProjectId: 811cde29-96e1-4bb3-9969-221e04e135b0 740 | projectName: CreatePointCloudGameObject 741 | organizationId: jiawenq 742 | cloudEnabled: 0 743 | enableNativePlatformBackendsForNewInputSystem: 0 744 | disableOldInputManagerSupport: 0 745 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2017.3.0f3 2 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Fastest 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowCascade2Split: .333333343 18 | shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} 19 | blendWeights: 1 20 | textureQuality: 1 21 | anisotropicTextures: 0 22 | antiAliasing: 0 23 | softParticles: 0 24 | softVegetation: 0 25 | realtimeReflectionProbes: 0 26 | billboardsFaceCameraPosition: 0 27 | vSyncCount: 0 28 | lodBias: .300000012 29 | maximumLODLevel: 0 30 | particleRaycastBudget: 4 31 | excludedTargetPlatforms: [] 32 | - serializedVersion: 2 33 | name: Fast 34 | pixelLightCount: 0 35 | shadows: 0 36 | shadowResolution: 0 37 | shadowProjection: 1 38 | shadowCascades: 1 39 | shadowDistance: 20 40 | shadowCascade2Split: .333333343 41 | shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} 42 | blendWeights: 2 43 | textureQuality: 0 44 | anisotropicTextures: 0 45 | antiAliasing: 0 46 | softParticles: 0 47 | softVegetation: 0 48 | realtimeReflectionProbes: 0 49 | billboardsFaceCameraPosition: 0 50 | vSyncCount: 0 51 | lodBias: .400000006 52 | maximumLODLevel: 0 53 | particleRaycastBudget: 16 54 | excludedTargetPlatforms: [] 55 | - serializedVersion: 2 56 | name: Simple 57 | pixelLightCount: 1 58 | shadows: 1 59 | shadowResolution: 0 60 | shadowProjection: 1 61 | shadowCascades: 1 62 | shadowDistance: 20 63 | shadowCascade2Split: .333333343 64 | shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} 65 | blendWeights: 2 66 | textureQuality: 0 67 | anisotropicTextures: 1 68 | antiAliasing: 0 69 | softParticles: 0 70 | softVegetation: 0 71 | realtimeReflectionProbes: 0 72 | billboardsFaceCameraPosition: 0 73 | vSyncCount: 0 74 | lodBias: .699999988 75 | maximumLODLevel: 0 76 | particleRaycastBudget: 64 77 | excludedTargetPlatforms: [] 78 | - serializedVersion: 2 79 | name: Good 80 | pixelLightCount: 2 81 | shadows: 2 82 | shadowResolution: 1 83 | shadowProjection: 1 84 | shadowCascades: 2 85 | shadowDistance: 40 86 | shadowCascade2Split: .333333343 87 | shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} 88 | blendWeights: 2 89 | textureQuality: 0 90 | anisotropicTextures: 1 91 | antiAliasing: 0 92 | softParticles: 0 93 | softVegetation: 1 94 | realtimeReflectionProbes: 1 95 | billboardsFaceCameraPosition: 1 96 | vSyncCount: 1 97 | lodBias: 1 98 | maximumLODLevel: 0 99 | particleRaycastBudget: 256 100 | excludedTargetPlatforms: [] 101 | - serializedVersion: 2 102 | name: Beautiful 103 | pixelLightCount: 3 104 | shadows: 2 105 | shadowResolution: 2 106 | shadowProjection: 1 107 | shadowCascades: 2 108 | shadowDistance: 70 109 | shadowCascade2Split: .333333343 110 | shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} 111 | blendWeights: 4 112 | textureQuality: 0 113 | anisotropicTextures: 2 114 | antiAliasing: 2 115 | softParticles: 1 116 | softVegetation: 1 117 | realtimeReflectionProbes: 1 118 | billboardsFaceCameraPosition: 1 119 | vSyncCount: 1 120 | lodBias: 1.5 121 | maximumLODLevel: 0 122 | particleRaycastBudget: 1024 123 | excludedTargetPlatforms: [] 124 | - serializedVersion: 2 125 | name: Fantastic 126 | pixelLightCount: 4 127 | shadows: 2 128 | shadowResolution: 2 129 | shadowProjection: 1 130 | shadowCascades: 4 131 | shadowDistance: 150 132 | shadowCascade2Split: .333333343 133 | shadowCascade4Split: {x: .0666666701, y: .199999988, z: .466666639} 134 | blendWeights: 4 135 | textureQuality: 0 136 | anisotropicTextures: 2 137 | antiAliasing: 2 138 | softParticles: 1 139 | softVegetation: 1 140 | realtimeReflectionProbes: 1 141 | billboardsFaceCameraPosition: 1 142 | vSyncCount: 0 143 | lodBias: 2 144 | maximumLODLevel: 0 145 | particleRaycastBudget: 4096 146 | excludedTargetPlatforms: [] 147 | m_PerPlatformDefaultQuality: 148 | Android: 0 149 | BlackBerry: 0 150 | Standalone: 0 151 | WP8: 0 152 | Web: 0 153 | WebGL: 0 154 | Windows Store Apps: 0 155 | iPhone: 0 156 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/UnityAdsSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00000000000000008100000000000000 3 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate 14 | m_Enabled: 0 15 | m_CaptureEditorExceptions: 1 16 | UnityPurchasingSettings: 17 | m_Enabled: 0 18 | m_TestMode: 0 19 | UnityAnalyticsSettings: 20 | m_Enabled: 0 21 | m_InitializeOnStartup: 1 22 | m_TestMode: 0 23 | m_TestEventUrl: 24 | m_TestConfigUrl: 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CreatePointCloudGameObject 2 | Unity 编辑器扩展工具 加载点云 3 | -------------------------------------------------------------------------------- /展示01.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiawenquan/CreatePointCloudGameObject/451f3d6c666539e171138bd4e028cf62a01bd6db/展示01.gif -------------------------------------------------------------------------------- /操作.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiawenquan/CreatePointCloudGameObject/451f3d6c666539e171138bd4e028cf62a01bd6db/操作.gif --------------------------------------------------------------------------------