[TASK] Initial commit with basic product setup

This commit is contained in:
2019-08-18 13:50:14 +02:00
commit 01a66a8e1f
2548 changed files with 167528 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
namespace Mapbox.Unity.MeshGeneration.Components
{
using UnityEngine;
using System.Linq;
using Mapbox.Unity.MeshGeneration.Data;
using System;
public class FeatureBehaviour : MonoBehaviour
{
public VectorEntity VectorEntity;
public Transform Transform;
public VectorFeatureUnity Data;
[Multiline(5)]
public string DataString;
public void ShowDebugData()
{
DataString = string.Join("\r\n", Data.Properties.Select(x => x.Key + " - " + x.Value.ToString()).ToArray());
}
public void ShowDataPoints()
{
foreach (var item in VectorEntity.Feature.Points)
{
for (int i = 0; i < item.Count; i++)
{
var go = GameObject.CreatePrimitive(PrimitiveType.Sphere);
go.name = i.ToString();
go.transform.SetParent(transform, false);
go.transform.localPosition = item[i];
}
}
}
public void Initialize(VectorEntity ve)
{
VectorEntity = ve;
Transform = transform;
Data = ve.Feature;
}
public void Initialize(VectorFeatureUnity feature)
{
Transform = transform;
Data = feature;
}
}
}

View File

@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 1dd19505b960fb645953659207ca4bef
timeCreated: 1485208038
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,89 @@
namespace Mapbox.Unity.MeshGeneration.Components
{
using UnityEngine;
using Random = UnityEngine.Random;
using Mapbox.Unity.MeshGeneration.Data;
[RequireComponent(typeof(MeshRenderer))]
public class TextureSelector : MonoBehaviour
{
private bool _useSatelliteRoof;
private bool _textureTop;
private bool _textureSides;
private UnityTile _tile;
private MeshRenderer _meshRenderer;
private Material[] _topTextures;
private Material[] _sideTextures;
public void Initialize(VectorEntity ve, bool doTextureTop, bool useSatelliteRoof, Material[] topTextures, bool doTextureSides, Material[] sideTextures)
{
_useSatelliteRoof = useSatelliteRoof;
_textureTop = doTextureTop;
_textureSides = doTextureSides;
_tile = GetComponent<UnityTile>();
var t = transform;
while (_tile == null && t.parent != null)
{
t = t.parent;
_tile = t.GetComponent<UnityTile>();
}
_topTextures = topTextures;
_sideTextures = sideTextures;
_meshRenderer = GetComponent<MeshRenderer>();
if (_textureSides && _sideTextures.Length > 0)
{
_meshRenderer.materials = new Material[2]
{
_topTextures[Random.Range(0, _topTextures.Length)],
_sideTextures[Random.Range(0, _sideTextures.Length)]
};
}
else if (_textureTop)
{
_meshRenderer.materials = new Material[1]
{
_topTextures[Random.Range(0, _topTextures.Length)]
};
}
if (_useSatelliteRoof)
{
_meshRenderer.materials[0].mainTexture = _tile.GetRasterData();
_meshRenderer.materials[0].mainTextureScale = new Vector2(1f, 1f);
}
}
//private void TextureTop(Material topmat)
//{
// if (_useSatelliteRoof)
// {
// topmat.mainTexture = _tile.ImageData;
// topmat.mainTextureScale = new Vector2(1f, 1f);
// }
// else
// {
// topmat.mainTextureScale = new Vector2(0.07f, 0.07f);
// if (_topTextures.Any())
// _meshRenderer.materials[0].SetTexture("_MainTex", );
// }
// var c = 1 - (Random.Range(0, 10) / 40f);
// _meshRenderer.materials[0].color = new Color(c, c, c);
//}
//private void TextureSides(Material sidemat)
//{
// var c = 1 - (Random.Range(0, 10) / 40f);
// _meshRenderer.materials[1].color = new Color(c, c, c);
// if (_sideTextures.Any())
// _meshRenderer.materials[1].SetTexture("_MainTex", _sideTextures[Random.Range(0, _sideTextures.Length)]);
//}
}
}

View File

@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 97464c54f6d369444b297e02ee300633
timeCreated: 1485208041
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,46 @@
namespace Mapbox.Unity.MeshGeneration.Components
{
using UnityEngine;
public class VertexDebugger : MonoBehaviour
{
[Multiline(10)]
public string Triangles;
[Multiline(10)]
public string Tangents;
protected virtual void Start()
{
var mf = GetComponent<MeshFilter>();
if (mf)
{
var mesh = mf.mesh;
var verts = mesh.vertices;
var tang = mesh.tangents;
for (int i = 0; i < verts.Length; i++)
{
var go = GameObject.CreatePrimitive(PrimitiveType.Sphere);
go.name = i.ToString();
go.transform.SetParent(transform, false);
go.transform.localPosition = verts[i];
Debug.DrawLine(transform.position + verts[i], transform.position + verts[i] + new Vector3(tang[i].x, tang[i].y, tang[i].z) * .5f, Color.red, 10000);
}
var tris = mesh.triangles;
Triangles = "";
for (int i = 0; i < tris.Length; i += 3)
{
Triangles += tris[i] + "," + tris[i + 1] + "," + tris[i + 2] + "\r\n";
}
//var tang = mesh.tangents;
//Tangents = "";
//for (int i = 0; i < tang.Length; i += 1)
//{
// Tangents += tang[i].x + "," + tang[i].y + "," + tang[i].z + "," + tang[i].w + "\r\n";
//}
}
}
}
}

View File

@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 74c6dd1076bc8954dad41ed4206c598d
timeCreated: 1499870729
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,48 @@
using UnityEngine;
namespace Mapbox.Unity.MeshGeneration.Components
{
public class VertexDebuggerGizmo : MonoBehaviour
{
#if UNITY_EDITOR
[SerializeField]
float _radius = .2f;
[SerializeField]
Color _color = new Color(0, 1, 0, .5f);
[Multiline(10)]
public string Triangles;
Mesh _mesh;
protected virtual void Start()
{
var mf = GetComponent<MeshFilter>();
if (mf)
{
_mesh = mf.mesh;
var tris = _mesh.triangles;
Triangles = "";
for (int i = 0; i < tris.Length; i += 3)
{
Triangles += tris[i] + "," + tris[i + 1] + "," + tris[i + 2] + "\r\n";
}
}
}
protected virtual void OnDrawGizmosSelected()
{
if (_mesh)
{
var verts = _mesh.vertices;
for (int i = 0; i < verts.Length; i++)
{
Gizmos.color = _color;
Gizmos.DrawWireCube(transform.position + verts[i] * transform.lossyScale.x, Vector3.one * _radius);
}
}
}
#endif
}
}

View File

@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: c4b8220219b204a288d4b67600489e3f
timeCreated: 1499870729
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: