forked from cgvr/DeltaVR
Compare commits
18 Commits
46b1c7e1de
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 48b9f12802 | |||
| ad6954884b | |||
| 4292750b65 | |||
| b3073e66df | |||
| afb8af4ee2 | |||
| 16a621c2b9 | |||
| 40cd5060df | |||
| cb4d4036e7 | |||
| 96839e0e82 | |||
| 33a40c987a | |||
| 1cd97e4d0a | |||
| 3097c404ba | |||
| d2ac917db3 | |||
| 23c89e97ce | |||
| 991f7d73b9 | |||
| a23f40787e | |||
| 997bb457ba | |||
| ce75a1f343 |
@@ -1,6 +1,28 @@
|
||||
### TODO
|
||||
* Artikkel text-to-3d prompt engineeringu kohta: "Sel3DCraft: Interactive Visual Prompts for User-Friendly Text-to-3D Generation"
|
||||
* TRELLIS: postprocessing_utils: texture baking mode: 'opt' vs 'fast' - hardcoded 'opt', kui võimaldada 'fast' siis tuleb error
|
||||
* glTF loading: vahetada ära shader Universal render pipelin Lit, mitte panna buildi kaasa glTf oma
|
||||
* shape scanner initialisation correct number of confs
|
||||
* user flow: grab item? mida krabada
|
||||
* user prefs: settinguid meelde jätta
|
||||
* võtta spawnitud mudeli mõõtmed: mehscollideri max x, max y, etc? bounding box?
|
||||
* mängija collide'ib spawnitud mudeliga - ei tohiks
|
||||
* shape scanner:
|
||||
* mitte-liigutatavaks, aga samal ajal kõrgus dünaamiliselt õige. või lihtsalt piisavalt madalale asetada või väljaulatuv kang millest krabada
|
||||
* peenikesemad kiired
|
||||
* mitte lihtsalt ontriggerenter ja -exit, sest kui mitu objekti lähevad samal ajal sisse
|
||||
* mustad kiired on halvasti nähtavad pruuni materjali taustal
|
||||
* kui üks config completed, siis mängijale aru saada: sound effect, "loading"
|
||||
* mikri vana tekst ei kao ära
|
||||
* archery range:
|
||||
* kui midagi laeb (wire aktiivne), siis particle'id voolavad mööda toru
|
||||
* highscore json tühjaks
|
||||
* quest marker järjest järgmise tegevuse kohal: mikrofon, siis nupud
|
||||
* character billboard:
|
||||
* peaks vaatama pea poole, mitte xr origin
|
||||
* klaas on näha temast eespool
|
||||
* pööramine kaamera poole - sujuvalt (slerp)
|
||||
* küsida Danielilt asukoha kohta
|
||||
|
||||
|
||||
### Notes
|
||||
* TRELLIS: added functionality to specify texture baking optimisation total steps as an argument (`texture_opt_total_steps`), to replace the hardcoded 2500. But this is not tracked in Git (because modified this https://github.com/IgorAherne/trellis-stable-projectorz/releases/tag/latest)
|
||||
* Custom Shader Variant Collection to include glTF-pbrMetallicRoughness shader in build
|
||||
|
||||
@@ -6,6 +6,7 @@ import json
|
||||
import logging
|
||||
import httpx
|
||||
import os
|
||||
import time
|
||||
|
||||
from typing import Optional
|
||||
from urllib.parse import urljoin
|
||||
@@ -493,6 +494,8 @@ async def text_to_image_invoke_ai(prompt, output_path):
|
||||
"model_key": INVOKEAI_MODEL_KEY
|
||||
}
|
||||
image_url = await generate_image(args)
|
||||
print("Got image url:", image_url)
|
||||
print("Downloading image file...")
|
||||
print("Downloading image from", image_url)
|
||||
time_start = time.time()
|
||||
download_file(image_url, output_path)
|
||||
download_time = time.time() - time_start
|
||||
print(f"Image downloaded in {round(download_time, 1)} seconds")
|
||||
|
||||
@@ -32,7 +32,7 @@ def generate_no_preview(image_base64: str):
|
||||
}
|
||||
|
||||
# Start generation
|
||||
print("Starting generation...")
|
||||
print("Generating model...")
|
||||
response = requests.post(f"{API_URL}/generate_no_preview", data=params)
|
||||
response.raise_for_status()
|
||||
|
||||
@@ -50,8 +50,11 @@ def generate_no_preview(image_base64: str):
|
||||
|
||||
# Download the model
|
||||
print("Downloading model...")
|
||||
time_start = time.time()
|
||||
response = requests.get(f"{API_URL}/download/model")
|
||||
response.raise_for_status()
|
||||
time_download = time.time() - time_start
|
||||
print(f"Model downloaded in {round(time_download, 1)} seconds")
|
||||
return response.content
|
||||
|
||||
|
||||
|
||||
@@ -41,8 +41,6 @@ async def main():
|
||||
time_checkpoint = time.time()
|
||||
|
||||
image_path = pipeline_folder / "images" / f"{timestamp}.jpg"
|
||||
# TODO: use Invoke AI or Cloudflare, depending on env var
|
||||
#text_to_image_cloudflare(image_generation_prompt, image_path)
|
||||
await text_to_image_invoke_ai(image_generation_prompt, image_path)
|
||||
|
||||
image_generation_time = time.time() - time_checkpoint
|
||||
|
||||
Binary file not shown.
144
Assets/Editor/BoolMatrixDrawer.cs
Normal file
144
Assets/Editor/BoolMatrixDrawer.cs
Normal file
@@ -0,0 +1,144 @@
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
[CustomPropertyDrawer(typeof(ShapeScannerConfiguration))]
|
||||
public class BoolMatrixDrawer : PropertyDrawer
|
||||
{
|
||||
private const float ToggleSize = 18f;
|
||||
private const float RowLabelWidth = 24f;
|
||||
private const float Padding = 2f;
|
||||
|
||||
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||
{
|
||||
var rowsProp = property.FindPropertyRelative("rows");
|
||||
var columnsProp = property.FindPropertyRelative("columns");
|
||||
int rows = rowsProp != null ? rowsProp.arraySize : 0;
|
||||
int cols = Mathf.Max(0, columnsProp != null ? columnsProp.intValue : 0);
|
||||
|
||||
// Header (one line), columns field (one line), buttons (one line), then one line per row
|
||||
int totalLines = 1 + 1 + 1 + Mathf.Max(1, rows);
|
||||
float lineHeight = EditorGUIUtility.singleLineHeight + Padding;
|
||||
return totalLines * lineHeight + Padding;
|
||||
}
|
||||
|
||||
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||
{
|
||||
EditorGUI.BeginProperty(position, label, property);
|
||||
|
||||
var rowsProp = property.FindPropertyRelative("rows");
|
||||
var columnsProp = property.FindPropertyRelative("columns");
|
||||
|
||||
if (rowsProp == null || columnsProp == null)
|
||||
{
|
||||
EditorGUI.HelpBox(position, "BoolMatrix is missing 'rows' or 'columns' properties.", MessageType.Error);
|
||||
EditorGUI.EndProperty();
|
||||
return;
|
||||
}
|
||||
|
||||
// Layout helper
|
||||
float lineHeight = EditorGUIUtility.singleLineHeight;
|
||||
Rect line = new Rect(position.x, position.y, position.width, lineHeight);
|
||||
|
||||
// Header
|
||||
EditorGUI.LabelField(line, label, EditorStyles.boldLabel);
|
||||
line.y += lineHeight + Padding;
|
||||
|
||||
// Draw requiredCorrectPercentage
|
||||
var requiredCorrectProp = property.FindPropertyRelative("requiredCorrectPercentage");
|
||||
EditorGUI.PropertyField(line, requiredCorrectProp, new GUIContent("Required Correct Percentage"));
|
||||
line.y += lineHeight + Padding;
|
||||
|
||||
// Columns field
|
||||
EditorGUI.BeginChangeCheck();
|
||||
int cols = Mathf.Max(0, EditorGUI.IntField(line, "Columns", columnsProp.intValue));
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
columnsProp.intValue = cols;
|
||||
// Resize each row to match new column count
|
||||
for (int r = 0; r < rowsProp.arraySize; r++)
|
||||
{
|
||||
var rowProp = rowsProp.GetArrayElementAtIndex(r);
|
||||
var cellsProp = rowProp.FindPropertyRelative("cells");
|
||||
ResizeBoolArray(cellsProp, cols);
|
||||
}
|
||||
}
|
||||
line.y += lineHeight + Padding;
|
||||
|
||||
// Row controls (Add/Remove)
|
||||
using (new EditorGUI.IndentLevelScope())
|
||||
{
|
||||
Rect left = new Rect(line.x, line.y, 120, lineHeight);
|
||||
if (GUI.Button(left, "Add Row"))
|
||||
{
|
||||
int newIndex = rowsProp.arraySize;
|
||||
rowsProp.InsertArrayElementAtIndex(newIndex);
|
||||
var rowProp = rowsProp.GetArrayElementAtIndex(newIndex);
|
||||
var cellsProp = rowProp.FindPropertyRelative("cells");
|
||||
ResizeBoolArray(cellsProp, columnsProp.intValue);
|
||||
}
|
||||
|
||||
Rect right = new Rect(line.x + 130, line.y, 140, lineHeight);
|
||||
if (GUI.Button(right, "Remove Last Row") && rowsProp.arraySize > 0)
|
||||
{
|
||||
rowsProp.DeleteArrayElementAtIndex(rowsProp.arraySize - 1);
|
||||
}
|
||||
}
|
||||
line.y += lineHeight + Padding;
|
||||
|
||||
// Draw grid
|
||||
int rowCount = rowsProp.arraySize;
|
||||
int colCount = Mathf.Max(0, columnsProp.intValue);
|
||||
|
||||
for (int r = 0; r < rowCount; r++)
|
||||
{
|
||||
var rowProp = rowsProp.GetArrayElementAtIndex(r);
|
||||
var cellsProp = rowProp.FindPropertyRelative("cells");
|
||||
|
||||
// Ensure row width
|
||||
if (cellsProp.arraySize != colCount)
|
||||
ResizeBoolArray(cellsProp, colCount);
|
||||
|
||||
// Row label
|
||||
Rect rowLabel = new Rect(line.x, line.y, RowLabelWidth, lineHeight);
|
||||
EditorGUI.LabelField(rowLabel, $"R{r}");
|
||||
|
||||
// Toggle strip
|
||||
float startX = rowLabel.x + RowLabelWidth + Padding;
|
||||
for (int c = 0; c < colCount; c++)
|
||||
{
|
||||
Rect toggleRect = new Rect(startX + c * (ToggleSize + 2), line.y, ToggleSize, lineHeight);
|
||||
var cellProp = cellsProp.GetArrayElementAtIndex(c);
|
||||
bool newVal = EditorGUI.Toggle(toggleRect, GUIContent.none, cellProp.boolValue);
|
||||
if (newVal != cellProp.boolValue) cellProp.boolValue = newVal;
|
||||
}
|
||||
|
||||
line.y += lineHeight + Padding;
|
||||
}
|
||||
|
||||
EditorGUI.EndProperty();
|
||||
}
|
||||
|
||||
private void ResizeBoolArray(SerializedProperty listProp, int newSize)
|
||||
{
|
||||
if (listProp == null) return;
|
||||
newSize = Mathf.Max(0, newSize);
|
||||
|
||||
// Grow
|
||||
while (listProp.arraySize < newSize)
|
||||
{
|
||||
int i = listProp.arraySize;
|
||||
listProp.InsertArrayElementAtIndex(i);
|
||||
var elem = listProp.GetArrayElementAtIndex(i);
|
||||
elem.boolValue = false;
|
||||
}
|
||||
// Shrink
|
||||
while (listProp.arraySize > newSize)
|
||||
{
|
||||
listProp.DeleteArrayElementAtIndex(listProp.arraySize - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
11
Assets/Editor/BoolMatrixDrawer.cs.meta
Normal file
11
Assets/Editor/BoolMatrixDrawer.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e3da5d98c11c1b54fb05eda4624de9e3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -28,7 +28,7 @@ public class ArcheryRange : NetworkBehaviour
|
||||
public float roundLength = 60f;
|
||||
public float targetSpawnTime = 3f;
|
||||
|
||||
public ModelGenerationBox modelGenerationBox;
|
||||
public ArcheryRangeModelGenerationController modelGenerationController;
|
||||
public KeyboardManager keyboardManager;
|
||||
public NPCController npcController;
|
||||
|
||||
@@ -139,15 +139,15 @@ public class ArcheryRange : NetworkBehaviour
|
||||
private ArcheryTarget SpawnTarget(Vector3 randomPos)
|
||||
{
|
||||
GameObject targetObject;
|
||||
if (modelGenerationBox.GeneratedModel == null)
|
||||
if (modelGenerationController.GeneratedModel == null)
|
||||
{
|
||||
// spawn default UFO
|
||||
targetObject = Instantiate(targetPrefab, randomPos, Quaternion.identity, null);
|
||||
} else
|
||||
{
|
||||
// spawn generated model
|
||||
targetObject = Instantiate(modelGenerationBox.GeneratedModel, randomPos, Quaternion.identity, null);
|
||||
InitializeArcherytargetObject(targetObject);
|
||||
targetObject = Instantiate(modelGenerationController.GeneratedModel, randomPos, Quaternion.identity, null);
|
||||
InitializeArcheryTargetObject(targetObject);
|
||||
}
|
||||
|
||||
ArcheryTarget target = targetObject.GetComponent<ArcheryTarget>();
|
||||
@@ -157,12 +157,12 @@ public class ArcheryRange : NetworkBehaviour
|
||||
return target;
|
||||
}
|
||||
|
||||
private void InitializeArcherytargetObject(GameObject targetObject)
|
||||
private void InitializeArcheryTargetObject(GameObject targetObject)
|
||||
{
|
||||
ArcheryTarget archeryTarget = targetObject.AddComponent<ArcheryTarget>();
|
||||
archeryTarget.pointsText = archeryTargetPointsText;
|
||||
|
||||
Rigidbody rigidbody = targetObject.GetComponent<Rigidbody>();
|
||||
Rigidbody rigidbody = targetObject.AddComponent<Rigidbody>();
|
||||
rigidbody.useGravity = false;
|
||||
rigidbody.isKinematic = true;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ GameObject:
|
||||
- component: {fileID: 8764262191404547501}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_pinky0
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -68,7 +68,7 @@ GameObject:
|
||||
- component: {fileID: 1723365827026859764}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_thumb3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -123,7 +123,7 @@ GameObject:
|
||||
- component: {fileID: 2608288486353606751}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_grip
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -155,7 +155,7 @@ GameObject:
|
||||
- component: {fileID: 1944697586618938354}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_index1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -210,7 +210,7 @@ GameObject:
|
||||
- component: {fileID: 4543854955624006782}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_ring1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -243,7 +243,7 @@ GameObject:
|
||||
- component: {fileID: 4269470585016323320}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_index3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -298,7 +298,7 @@ GameObject:
|
||||
- component: {fileID: 5275753966706537763}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_thumb_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -329,7 +329,7 @@ GameObject:
|
||||
- component: {fileID: 2961322539409618699}
|
||||
m_Layer: 21
|
||||
m_Name: Hand transform target
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -361,7 +361,7 @@ GameObject:
|
||||
- component: {fileID: 6986205080506681598}
|
||||
m_Layer: 21
|
||||
m_Name: Thumb collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -415,7 +415,7 @@ GameObject:
|
||||
- component: {fileID: 1637212737629950891}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_hand_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -447,7 +447,7 @@ GameObject:
|
||||
- component: {fileID: 2120999288498951984}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_index2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -502,7 +502,7 @@ GameObject:
|
||||
- component: {fileID: 5750800257835108047}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_ring_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -534,7 +534,7 @@ GameObject:
|
||||
- component: {fileID: 716960368701313914}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_pinky2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -590,7 +590,7 @@ GameObject:
|
||||
- component: {fileID: 3386814274893541678}
|
||||
m_Layer: 21
|
||||
m_Name: hands:Lhand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -699,7 +699,7 @@ GameObject:
|
||||
- component: {fileID: 5919874647378539971}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_pinky_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -732,7 +732,7 @@ GameObject:
|
||||
- component: {fileID: 6957428246676485499}
|
||||
m_Layer: 21
|
||||
m_Name: hands:l_hand_world
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -804,7 +804,7 @@ GameObject:
|
||||
- component: {fileID: 5887795241378656881}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_middle_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -836,7 +836,7 @@ GameObject:
|
||||
- component: {fileID: 4322167853205774804}
|
||||
m_Layer: 21
|
||||
m_Name: Ring collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -890,7 +890,7 @@ GameObject:
|
||||
- component: {fileID: 7553050096824511736}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_index_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -922,7 +922,7 @@ GameObject:
|
||||
- component: {fileID: 1415566195781121907}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_pinky3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -978,7 +978,7 @@ GameObject:
|
||||
- component: {fileID: 4386306177358856345}
|
||||
m_Layer: 21
|
||||
m_Name: Index collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1033,7 +1033,7 @@ GameObject:
|
||||
- component: {fileID: 6789557385548509388}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_thumb2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1088,7 +1088,7 @@ GameObject:
|
||||
- component: {fileID: 2944632011470922523}
|
||||
m_Layer: 21
|
||||
m_Name: Palm colliders
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1125,7 +1125,7 @@ GameObject:
|
||||
- component: {fileID: 3014115217857052780}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_middle1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1181,7 +1181,7 @@ GameObject:
|
||||
- component: {fileID: 8109105434051733588}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_middle3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1237,7 +1237,7 @@ GameObject:
|
||||
- component: {fileID: 3769065761299449432}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_ring3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1293,7 +1293,7 @@ GameObject:
|
||||
- component: {fileID: 8506477102816967445}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_hand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1356,7 +1356,7 @@ GameObject:
|
||||
- component: {fileID: 1591964882275427419}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_ring2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1412,7 +1412,7 @@ GameObject:
|
||||
- component: {fileID: 8576740011717174536}
|
||||
m_Layer: 21
|
||||
m_Name: Left Hand Colliding Prefab
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1468,7 +1468,7 @@ GameObject:
|
||||
- component: {fileID: 1079438441252743571}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_thumb1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1524,7 +1524,7 @@ GameObject:
|
||||
- component: {fileID: 2798374626865133994}
|
||||
m_Layer: 21
|
||||
m_Name: Middle collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1579,7 +1579,7 @@ GameObject:
|
||||
- component: {fileID: 5949439093540659439}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_pinky1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1634,7 +1634,7 @@ GameObject:
|
||||
- component: {fileID: 8548538124938550778}
|
||||
m_Layer: 21
|
||||
m_Name: hands:hands_geom
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1667,7 +1667,7 @@ GameObject:
|
||||
- component: {fileID: 1579608193995075263}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_l_middle2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1723,7 +1723,7 @@ GameObject:
|
||||
- component: {fileID: 919376631072681037}
|
||||
m_Layer: 21
|
||||
m_Name: Pinky collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
|
||||
@@ -12,7 +12,7 @@ GameObject:
|
||||
- component: {fileID: 8052033317495986407}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_middle1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -67,7 +67,7 @@ GameObject:
|
||||
- component: {fileID: 2906946168806256316}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_thumb_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -99,7 +99,7 @@ GameObject:
|
||||
- component: {fileID: 3715643930745057324}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_middle2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -154,7 +154,7 @@ GameObject:
|
||||
- component: {fileID: 7300301753511705056}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_hand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -194,7 +194,7 @@ GameObject:
|
||||
- component: {fileID: 2690371468463167305}
|
||||
m_Layer: 21
|
||||
m_Name: Thumb collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -248,7 +248,7 @@ GameObject:
|
||||
- component: {fileID: 5327335418779228248}
|
||||
m_Layer: 21
|
||||
m_Name: Palm colliders
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -284,7 +284,7 @@ GameObject:
|
||||
- component: {fileID: 3590037039866930948}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_ring_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -316,7 +316,7 @@ GameObject:
|
||||
- component: {fileID: 7768949610396455723}
|
||||
m_Layer: 21
|
||||
m_Name: Right Hand Colliding Prefab
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -371,7 +371,7 @@ GameObject:
|
||||
- component: {fileID: 2252869937798432446}
|
||||
m_Layer: 21
|
||||
m_Name: Hand transform target
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -403,7 +403,7 @@ GameObject:
|
||||
- component: {fileID: 4819224731497084625}
|
||||
m_Layer: 21
|
||||
m_Name: Ring collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -458,7 +458,7 @@ GameObject:
|
||||
- component: {fileID: 5988830187266270822}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_index2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -514,7 +514,7 @@ GameObject:
|
||||
- component: {fileID: 3490267647208294616}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_pinky1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -569,7 +569,7 @@ GameObject:
|
||||
- component: {fileID: 6375747935274843628}
|
||||
m_Layer: 21
|
||||
m_Name: hands:hands_geom
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -603,7 +603,7 @@ GameObject:
|
||||
- component: {fileID: 5764046989862461349}
|
||||
m_Layer: 21
|
||||
m_Name: hands:r_hand_world
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -676,7 +676,7 @@ GameObject:
|
||||
- component: {fileID: 6416395892737682491}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_ring1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -732,7 +732,7 @@ GameObject:
|
||||
- component: {fileID: 2137975461030589968}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_thumb1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -788,7 +788,7 @@ GameObject:
|
||||
- component: {fileID: 3641471949121660872}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_middle3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -844,7 +844,7 @@ GameObject:
|
||||
- component: {fileID: 1533912411679244991}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_thumb2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -900,7 +900,7 @@ GameObject:
|
||||
- component: {fileID: 7674578750026270476}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_index3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -956,7 +956,7 @@ GameObject:
|
||||
- component: {fileID: 4783864064774963216}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_index1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1012,7 +1012,7 @@ GameObject:
|
||||
- component: {fileID: 8883393763632736373}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_pinky3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1068,7 +1068,7 @@ GameObject:
|
||||
- component: {fileID: 4631915003324200488}
|
||||
m_Layer: 21
|
||||
m_Name: Index collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1123,7 +1123,7 @@ GameObject:
|
||||
- component: {fileID: 5712925273267891514}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_ring3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1178,7 +1178,7 @@ GameObject:
|
||||
- component: {fileID: 4156920047406755595}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_middle_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1210,7 +1210,7 @@ GameObject:
|
||||
- component: {fileID: 6299028004636604754}
|
||||
m_Layer: 21
|
||||
m_Name: hands:Rhand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1320,7 +1320,7 @@ GameObject:
|
||||
- component: {fileID: 2117998936123800384}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_thumb3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1376,7 +1376,7 @@ GameObject:
|
||||
- component: {fileID: 4519742811004900486}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_ring2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1431,7 +1431,7 @@ GameObject:
|
||||
- component: {fileID: 2440932897317841026}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_grip
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1462,7 +1462,7 @@ GameObject:
|
||||
- component: {fileID: 8288052402374024699}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_hand_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1494,7 +1494,7 @@ GameObject:
|
||||
- component: {fileID: 2652303807040277245}
|
||||
m_Layer: 21
|
||||
m_Name: Pinky collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1548,7 +1548,7 @@ GameObject:
|
||||
- component: {fileID: 2250556033546852906}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_pinky_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1579,7 +1579,7 @@ GameObject:
|
||||
- component: {fileID: 9123958269350278631}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_index_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1610,7 +1610,7 @@ GameObject:
|
||||
- component: {fileID: 6538895829321691740}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_pinky0
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1643,7 +1643,7 @@ GameObject:
|
||||
- component: {fileID: 7691745531460669440}
|
||||
m_Layer: 21
|
||||
m_Name: hands:b_r_pinky2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -1699,7 +1699,7 @@ GameObject:
|
||||
- component: {fileID: 8227723562108441212}
|
||||
m_Layer: 21
|
||||
m_Name: Middle collider
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
|
||||
@@ -11,7 +11,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897185}
|
||||
m_Layer: 0
|
||||
m_Name: hands:hands_geom
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -43,7 +43,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897187}
|
||||
m_Layer: 0
|
||||
m_Name: hands:l_hand_world
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -76,7 +76,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025630685681}
|
||||
m_Layer: 0
|
||||
m_Name: hands:Lhand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -186,7 +186,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025634883377}
|
||||
m_Layer: 0
|
||||
m_Name: Left Hand Prefab
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -228,6 +228,7 @@ Animator:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &6766972025625408657
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -239,7 +240,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897201}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_ring1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -271,7 +272,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897203}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_ring2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -303,7 +304,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897205}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_ring3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -335,7 +336,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897207}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_ring_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -366,7 +367,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897209}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_thumb1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -398,7 +399,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897211}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_thumb2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -430,7 +431,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897213}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_thumb3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -462,7 +463,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897215}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_thumb_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -493,7 +494,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897153}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_middle2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -525,7 +526,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897155}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_middle3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -557,7 +558,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897157}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_middle_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -588,7 +589,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897159}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_pinky0
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -620,7 +621,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897161}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_pinky1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -652,7 +653,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897163}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_pinky2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -684,7 +685,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897165}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_pinky3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -716,7 +717,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897167}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_pinky_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -747,7 +748,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897169}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_grip
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -778,7 +779,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897171}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_hand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -816,7 +817,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897173}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_hand_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -847,7 +848,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897175}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_index1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -879,7 +880,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897177}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_index2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -911,7 +912,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897179}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_index3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -943,7 +944,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897181}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_index_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -974,7 +975,7 @@ GameObject:
|
||||
- component: {fileID: 6766972025625897183}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_l_middle1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
|
||||
@@ -11,7 +11,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058816}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_thumb2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -43,7 +43,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058818}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_thumb1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -75,7 +75,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058820}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_thumb_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -106,7 +106,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058822}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_thumb3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -138,7 +138,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058824}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_ring2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -170,7 +170,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058826}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_ring1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -202,7 +202,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058828}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_ring_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -233,7 +233,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058830}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_ring3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -265,7 +265,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058840}
|
||||
m_Layer: 0
|
||||
m_Name: hands:r_hand_world
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -297,7 +297,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058842}
|
||||
m_Layer: 0
|
||||
m_Name: hands:hands_geom
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -330,7 +330,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016367944842}
|
||||
m_Layer: 0
|
||||
m_Name: Right Hand Prefab
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -372,6 +372,7 @@ Animator:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &5553551016358545214
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -384,7 +385,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016372144714}
|
||||
m_Layer: 0
|
||||
m_Name: hands:Rhand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -493,7 +494,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058848}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_index3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -525,7 +526,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058850}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_index2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -557,7 +558,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058852}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_middle1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -589,7 +590,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058854}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_index_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -620,7 +621,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058856}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_hand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -658,7 +659,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058858}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_grip
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -689,7 +690,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058860}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_index1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -721,7 +722,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058862}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_hand_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -752,7 +753,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058864}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_pinky2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -784,7 +785,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058866}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_pinky1
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -816,7 +817,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058868}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_pinky_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -847,7 +848,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058870}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_pinky3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -879,7 +880,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058872}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_middle3
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -911,7 +912,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058874}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_middle2
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -943,7 +944,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058876}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_pinky0
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -975,7 +976,7 @@ GameObject:
|
||||
- component: {fileID: 5553551016358058878}
|
||||
m_Layer: 0
|
||||
m_Name: hands:b_r_middle_ignore
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
|
||||
@@ -3848,7 +3848,7 @@ GameObject:
|
||||
- component: {fileID: 6319035899684778083}
|
||||
m_Layer: 0
|
||||
m_Name: Left Hand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Left Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -6181,7 +6181,7 @@ GameObject:
|
||||
- component: {fileID: 2428925342826453737}
|
||||
m_Layer: 0
|
||||
m_Name: Right Hand
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Right Hand
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
|
||||
@@ -149,7 +149,7 @@ namespace _PROJECT.NewHandPresence
|
||||
{
|
||||
if (leftHand == null || rightHand == null)
|
||||
{
|
||||
Debug.Log("Left or right hand is null");
|
||||
//Debug.Log("Left or right hand is null");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
BIN
Assets/_PROJECT/Images/mic_off-transparent.png
LFS
Normal file
BIN
Assets/_PROJECT/Images/mic_off-transparent.png
LFS
Normal file
Binary file not shown.
148
Assets/_PROJECT/Images/mic_off-transparent.png.meta
Normal file
148
Assets/_PROJECT/Images/mic_off-transparent.png.meta
Normal file
@@ -0,0 +1,148 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 68669679d082ba94bb4a39c08fa91e0d
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Windows Store Apps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/_PROJECT/Images/mic_on-transparent.png
LFS
Normal file
BIN
Assets/_PROJECT/Images/mic_on-transparent.png
LFS
Normal file
Binary file not shown.
148
Assets/_PROJECT/Images/mic_on-transparent.png.meta
Normal file
148
Assets/_PROJECT/Images/mic_on-transparent.png.meta
Normal file
@@ -0,0 +1,148 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f2516f6ee1cb5c4ba7f85f24c3d4f43
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Windows Store Apps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
139
Assets/_PROJECT/Materials/Glass_NonClear_Green.mat
Normal file
139
Assets/_PROJECT/Materials/Glass_NonClear_Green.mat
Normal file
@@ -0,0 +1,139 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Glass_NonClear_Green
|
||||
m_Shader: {fileID: 4800000, guid: 0ca6dca7396eb48e5849247ffd444914, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _SURFACE_TYPE_TRANSPARENT
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- DepthOnly
|
||||
- SHADOWCASTER
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 10
|
||||
- _DstBlendAlpha: 10
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 1
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.36383638, g: 1, b: 0, a: 0.34509805}
|
||||
- _Color: {r: 0.5294118, g: 0.5647059, b: 0.57254905, a: 0.29411766}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!114 &3140964517369894785
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
8
Assets/_PROJECT/Materials/Glass_NonClear_Green.mat.meta
Normal file
8
Assets/_PROJECT/Materials/Glass_NonClear_Green.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e2ac8c5522bae5a4794c3cbdb7bee948
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
139
Assets/_PROJECT/Materials/Glass_NonClear_Red.mat
Normal file
139
Assets/_PROJECT/Materials/Glass_NonClear_Red.mat
Normal file
@@ -0,0 +1,139 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Glass_NonClear_Red
|
||||
m_Shader: {fileID: 4800000, guid: 0ca6dca7396eb48e5849247ffd444914, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _SURFACE_TYPE_TRANSPARENT
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- DepthOnly
|
||||
- SHADOWCASTER
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 10
|
||||
- _DstBlendAlpha: 10
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 1
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 0.53300416, b: 0, a: 0.4745098}
|
||||
- _Color: {r: 0.5294118, g: 0.5647059, b: 0.57254905, a: 0.29411766}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!114 &3140964517369894785
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
8
Assets/_PROJECT/Materials/Glass_NonClear_Red.mat.meta
Normal file
8
Assets/_PROJECT/Materials/Glass_NonClear_Red.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1892de3c798cec947bcabf6cfc693b8c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
138
Assets/_PROJECT/Materials/LaserBlack.mat
Normal file
138
Assets/_PROJECT/Materials/LaserBlack.mat
Normal file
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-2509310519420828263
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: LaserBlack
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHAPREMULTIPLY_ON
|
||||
- _EMISSION
|
||||
- _SURFACE_TYPE_TRANSPARENT
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 1
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- DepthOnly
|
||||
- SHADOWCASTER
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 10
|
||||
- _DstBlendAlpha: 10
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 1
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0, g: 0, b: 0, a: 0.44705883}
|
||||
- _Color: {r: 0, g: 0, b: 0, a: 0.44705883}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/_PROJECT/Materials/LaserBlack.mat.meta
Normal file
8
Assets/_PROJECT/Materials/LaserBlack.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 991fa2870324ba04aba7bec9e1168afa
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
138
Assets/_PROJECT/Materials/LaserGreen.mat
Normal file
138
Assets/_PROJECT/Materials/LaserGreen.mat
Normal file
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-2509310519420828263
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: LaserGreen
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHAPREMULTIPLY_ON
|
||||
- _EMISSION
|
||||
- _SURFACE_TYPE_TRANSPARENT
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 1
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- DepthOnly
|
||||
- SHADOWCASTER
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 10
|
||||
- _DstBlendAlpha: 10
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 1
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.30713266, g: 1, b: 0, a: 0.21176471}
|
||||
- _Color: {r: 0.30713263, g: 1, b: 0, a: 0.21176471}
|
||||
- _EmissionColor: {r: 0.073280446, g: 0.25953898, b: 0.0012242433, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/_PROJECT/Materials/LaserGreen.mat.meta
Normal file
8
Assets/_PROJECT/Materials/LaserGreen.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dccb608b252977047bd5848d6a497bfb
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
138
Assets/_PROJECT/Materials/LaserRed.mat
Normal file
138
Assets/_PROJECT/Materials/LaserRed.mat
Normal file
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-2509310519420828263
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: LaserRed
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHAPREMULTIPLY_ON
|
||||
- _EMISSION
|
||||
- _SURFACE_TYPE_TRANSPARENT
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 1
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- DepthOnly
|
||||
- SHADOWCASTER
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 10
|
||||
- _DstBlendAlpha: 10
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 1
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 0.084452756, b: 0, a: 0.21960784}
|
||||
- _Color: {r: 1, g: 0.084452726, b: 0, a: 0.21960784}
|
||||
- _EmissionColor: {r: 0.13397168, g: 0.007051141, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/_PROJECT/Materials/LaserRed.mat.meta
Normal file
8
Assets/_PROJECT/Materials/LaserRed.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c0707507abffb6149b19e60299403e82
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
138
Assets/_PROJECT/Materials/LaserWhite.mat
Normal file
138
Assets/_PROJECT/Materials/LaserWhite.mat
Normal file
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-2509310519420828263
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: LaserWhite
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHAPREMULTIPLY_ON
|
||||
- _EMISSION
|
||||
- _SURFACE_TYPE_TRANSPARENT
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 1
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- DepthOnly
|
||||
- SHADOWCASTER
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 10
|
||||
- _DstBlendAlpha: 10
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 1
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 0.21176471}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 0.21176471}
|
||||
- _EmissionColor: {r: 0.16493848, g: 0.16493848, b: 0.16493848, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/_PROJECT/Materials/LaserWhite.mat.meta
Normal file
8
Assets/_PROJECT/Materials/LaserWhite.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c7aad7ea05b9332478242744c9de52b9
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/_PROJECT/Models/ModelGeneration.meta
Normal file
8
Assets/_PROJECT/Models/ModelGeneration.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b178bdf9bc7865043be6b1d12e072b59
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/_PROJECT/Models/ModelGeneration/Button.fbx
LFS
Normal file
BIN
Assets/_PROJECT/Models/ModelGeneration/Button.fbx
LFS
Normal file
Binary file not shown.
108
Assets/_PROJECT/Models/ModelGeneration/Button.fbx.meta
Normal file
108
Assets/_PROJECT/Models/ModelGeneration/Button.fbx.meta
Normal file
@@ -0,0 +1,108 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8360cb58a6640db4fafae736bb1b0393
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cb5850db4a54143459f5726604c877d5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,133 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MicrophoneStand
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: ece692bd0a972854ca30e8e24bb5f635, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: ece692bd0a972854ca30e8e24bb5f635, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!114 &2216343319369955251
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 19c6f99eccf0c69469fd5c281f18b5c0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/_PROJECT/Models/ModelGeneration/MicrophoneStand/microphone_stand.fbx
LFS
Normal file
BIN
Assets/_PROJECT/Models/ModelGeneration/MicrophoneStand/microphone_stand.fbx
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,108 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7c81a7464d27596489f008c96d1971c8
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importVisibility: 0
|
||||
importBlendShapes: 1
|
||||
importCameras: 0
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/_PROJECT/Models/ModelGeneration/MicrophoneStand/microphone_stand.png
LFS
Normal file
BIN
Assets/_PROJECT/Models/ModelGeneration/MicrophoneStand/microphone_stand.png
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,148 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ece692bd0a972854ca30e8e24bb5f635
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Windows Store Apps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -11,9 +11,10 @@ GameObject:
|
||||
- component: {fileID: 4543634915546932302}
|
||||
- component: {fileID: 5893868613512797762}
|
||||
- component: {fileID: 2641940034920470259}
|
||||
- component: {fileID: 7343580558529594842}
|
||||
m_Layer: 0
|
||||
m_Name: Kyle Head
|
||||
m_TagString: Untagged
|
||||
m_TagString: Player Head
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@@ -83,3 +84,25 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &7343580558529594842
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5706508759349694606}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -3248716571764886803, guid: 0f6a9ca50b7cc814b97069156050165a, type: 3}
|
||||
|
||||
@@ -247,7 +247,7 @@ MonoBehaviour:
|
||||
<SpawnableCollectionId>k__BackingField: 0
|
||||
_scenePathHash: 0
|
||||
<SceneId>k__BackingField: 0
|
||||
<AssetPathHash>k__BackingField: 9749221921362668639
|
||||
<AssetPathHash>k__BackingField: 13803629248975202771
|
||||
_sceneNetworkObjects: []
|
||||
--- !u!114 &483845010817450077
|
||||
MonoBehaviour:
|
||||
380
Assets/_PROJECT/Prefabs/ModelGeneration/MicrophoneStand 1.prefab
Normal file
380
Assets/_PROJECT/Prefabs/ModelGeneration/MicrophoneStand 1.prefab
Normal file
@@ -0,0 +1,380 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4291579148315658230
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6761968278529855575}
|
||||
- component: {fileID: 4763701867718457502}
|
||||
- component: {fileID: 7203143526414218131}
|
||||
- component: {fileID: 2568780590385977406}
|
||||
- component: {fileID: 1523408157143897080}
|
||||
m_Layer: 0
|
||||
m_Name: MicrophoneStand 1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6761968278529855575
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4291579148315658230}
|
||||
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1850758373829337931}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &4763701867718457502
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4291579148315658230}
|
||||
m_Mesh: {fileID: -8524547844719368960, guid: 7c81a7464d27596489f008c96d1971c8, type: 3}
|
||||
--- !u!23 &7203143526414218131
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4291579148315658230}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 19c6f99eccf0c69469fd5c281f18b5c0, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!135 &2568780590385977406
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4291579148315658230}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Radius: 0.47
|
||||
m_Center: {x: 0, y: 0.48, z: 0}
|
||||
--- !u!114 &1523408157143897080
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4291579148315658230}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 357101b2cface4943b04dfd25d4944e3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
outputText: {fileID: 0}
|
||||
microphoneOffStatus: {fileID: 8977839985090371394}
|
||||
microphoneOnStatus: {fileID: 6537061652288108950}
|
||||
fmodWhisperBridge: {fileID: 0}
|
||||
--- !u!1 &5819798980962142350
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1850758373829337931}
|
||||
- component: {fileID: 2106466490739867277}
|
||||
- component: {fileID: 4587043586550884435}
|
||||
- component: {fileID: 8719646384572601803}
|
||||
m_Layer: 0
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1850758373829337931
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5819798980962142350}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -0.0405}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4321634455225286656}
|
||||
- {fileID: 3972028686577586524}
|
||||
m_Father: {fileID: 6761968278529855575}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0.6033}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!223 &2106466490739867277
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5819798980962142350}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_AdditionalShaderChannelsFlag: 25
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!114 &4587043586550884435
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5819798980962142350}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_UiScaleMode: 0
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 800, y: 600}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 1
|
||||
--- !u!114 &8719646384572601803
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5819798980962142350}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!1 &6537061652288108950
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3972028686577586524}
|
||||
- component: {fileID: 3263217202320683959}
|
||||
- component: {fileID: 6147207569465961459}
|
||||
m_Layer: 0
|
||||
m_Name: MicrophoneOnStatus
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &3972028686577586524
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6537061652288108950}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1850758373829337931}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 80, y: 80}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3263217202320683959
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6537061652288108950}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6147207569465961459
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6537061652288108950}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 3f2516f6ee1cb5c4ba7f85f24c3d4f43, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &8977839985090371394
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4321634455225286656}
|
||||
- component: {fileID: 1842889781999843329}
|
||||
- component: {fileID: 6304871477875013403}
|
||||
m_Layer: 0
|
||||
m_Name: MicrophoneOffStatus
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4321634455225286656
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8977839985090371394}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1850758373829337931}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 80, y: 80}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1842889781999843329
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8977839985090371394}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6304871477875013403
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8977839985090371394}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 68669679d082ba94bb4a39c08fa91e0d, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44b369698b4397b45b9424694c46f2f5
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -13,8 +13,7 @@ GameObject:
|
||||
- component: {fileID: 3363453355800186393}
|
||||
- component: {fileID: 2166102850012183631}
|
||||
- component: {fileID: 8356602476881383464}
|
||||
- component: {fileID: 4280129837482332964}
|
||||
- component: {fileID: 8105025160921831064}
|
||||
- component: {fileID: 5682436338090300270}
|
||||
m_Layer: 0
|
||||
m_Name: ModelGenerationManager
|
||||
m_TagString: Untagged
|
||||
@@ -64,6 +63,8 @@ MonoBehaviour:
|
||||
INVOKEAI_BASE_URL: http://ltat-cgvr9.domenis.ut.ee:9090
|
||||
DEFAULT_QUEUE_ID: default
|
||||
MODEL_KEY: 81d45960-08a0-4b8c-a48b-e7d73b21bfe2
|
||||
promptSuffix: ', single object, front and side fully visible, realistic style,
|
||||
plain neutral background, clear details, soft studio lighting, true-to-scale'
|
||||
--- !u!114 &2166102850012183631
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -110,7 +111,7 @@ MonoBehaviour:
|
||||
useVad: 1
|
||||
tokensTimestamps: 0
|
||||
audioCtx: 0
|
||||
--- !u!114 &4280129837482332964
|
||||
--- !u!114 &5682436338090300270
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@@ -119,65 +120,14 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 154411548685861447}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: a264cb5321d9f6741a2625b8c63c34a7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_componentIndexCache: 0
|
||||
_addedNetworkObject: {fileID: 8105025160921831064}
|
||||
_networkObjectCache: {fileID: 8105025160921831064}
|
||||
_synchronizeParent: 0
|
||||
_packing:
|
||||
Position: 1
|
||||
Rotation: 1
|
||||
Scale: 0
|
||||
_interpolation: 2
|
||||
_extrapolation: 2
|
||||
_enableTeleport: 0
|
||||
_teleportThreshold: 1
|
||||
_clientAuthoritative: 1
|
||||
_sendToOwner: 1
|
||||
_synchronizePosition: 1
|
||||
_positionSnapping:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
_synchronizeRotation: 1
|
||||
_rotationSnapping:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
_synchronizeScale: 1
|
||||
_scaleSnapping:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
--- !u!114 &8105025160921831064
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 154411548685861447}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
<IsNested>k__BackingField: 0
|
||||
<ComponentIndex>k__BackingField: 0
|
||||
<PredictedSpawn>k__BackingField: {fileID: 0}
|
||||
_networkBehaviours:
|
||||
- {fileID: 4280129837482332964}
|
||||
<ParentNetworkObject>k__BackingField: {fileID: 0}
|
||||
<ChildNetworkObjects>k__BackingField: []
|
||||
_isNetworked: 1
|
||||
_isGlobal: 0
|
||||
_initializeOrder: 0
|
||||
_defaultDespawnType: 0
|
||||
NetworkObserver: {fileID: 0}
|
||||
<PrefabId>k__BackingField: 0
|
||||
<SpawnableCollectionId>k__BackingField: 0
|
||||
_scenePathHash: 0
|
||||
<SceneId>k__BackingField: 0
|
||||
<AssetPathHash>k__BackingField: 17646158845367820466
|
||||
_sceneNetworkObjects: []
|
||||
whisper: {fileID: 8356602476881383464}
|
||||
useVadInStream: 0
|
||||
recordDriverId: 0
|
||||
desiredSampleRate: 48000
|
||||
channels: 1
|
||||
bufferLengthSec: 5
|
||||
playLoopback: 0
|
||||
loopbackVolume: 1
|
||||
|
||||
950
Assets/_PROJECT/Prefabs/ModelGeneration/PushableButton.prefab
Normal file
950
Assets/_PROJECT/Prefabs/ModelGeneration/PushableButton.prefab
Normal file
@@ -0,0 +1,950 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1169182471819634640
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4240401643028668239}
|
||||
- component: {fileID: 273463341747264742}
|
||||
- component: {fileID: 3692162826506377719}
|
||||
- component: {fileID: 2380080891026113594}
|
||||
m_Layer: 0
|
||||
m_Name: Cylinder001
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4240401643028668239
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1169182471819634640}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -0, y: 0.3, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 482679184226219918}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &273463341747264742
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1169182471819634640}
|
||||
m_Mesh: {fileID: -951608786083511892, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &3692162826506377719
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1169182471819634640}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: e91db078e551c294ebe28046b39b12e9, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &2380080891026113594
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1169182471819634640}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -951608786083511892, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!1 &2536833106027243940
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2207676128236083891}
|
||||
- component: {fileID: 2694329122806799587}
|
||||
- component: {fileID: 6056201921433813319}
|
||||
m_Layer: 0
|
||||
m_Name: Cylinder003
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2207676128236083891
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2536833106027243940}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0.17, y: 0.26500002, z: -0.17}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 482679184226219918}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &2694329122806799587
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2536833106027243940}
|
||||
m_Mesh: {fileID: 8245426573784773463, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &6056201921433813319
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2536833106027243940}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 8827041594150943702, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &3878322464778129187
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7076239066448273417}
|
||||
m_Layer: 0
|
||||
m_Name: MovingParts
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7076239066448273417
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3878322464778129187}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4336361997087478217}
|
||||
- {fileID: 6576810485851996243}
|
||||
m_Father: {fileID: 482679184226219918}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &4775535348344811059
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5562008773316150738}
|
||||
- component: {fileID: 877170626360368607}
|
||||
- component: {fileID: 4944163138911610293}
|
||||
- component: {fileID: 3699043554713949368}
|
||||
m_Layer: 0
|
||||
m_Name: ButtonTop
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5562008773316150738
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4775535348344811059}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -0.00000009689331, y: 0.14999992, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 482679184226219918}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &877170626360368607
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4775535348344811059}
|
||||
m_Mesh: {fileID: -5555371156602442440, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &4944163138911610293
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4775535348344811059}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: e91db078e551c294ebe28046b39b12e9, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &3699043554713949368
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4775535348344811059}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: -5555371156602442440, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!1 &5197025108969329577
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1893747331554953798}
|
||||
- component: {fileID: 2521276515104329971}
|
||||
- component: {fileID: 341820865862404799}
|
||||
m_Layer: 0
|
||||
m_Name: Cylinder005
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1893747331554953798
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5197025108969329577}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -0.17, y: 0.26500002, z: 0.17}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 482679184226219918}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &2521276515104329971
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5197025108969329577}
|
||||
m_Mesh: {fileID: -7816157650164661064, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &341820865862404799
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5197025108969329577}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 8827041594150943702, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &5819324442668357760
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 482679184226219918}
|
||||
m_Layer: 0
|
||||
m_Name: PushableButton
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &482679184226219918
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5819324442668357760}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 7076239066448273417}
|
||||
- {fileID: 4078966097693282274}
|
||||
- {fileID: 5562008773316150738}
|
||||
- {fileID: 4240401643028668239}
|
||||
- {fileID: 5194222186652980404}
|
||||
- {fileID: 2207676128236083891}
|
||||
- {fileID: 6308964038308262145}
|
||||
- {fileID: 1893747331554953798}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &6495126190302863702
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5194222186652980404}
|
||||
- component: {fileID: 8092211601091532622}
|
||||
- component: {fileID: 158914536223107651}
|
||||
m_Layer: 0
|
||||
m_Name: Cylinder002
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5194222186652980404
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6495126190302863702}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0.16999999, y: 0.26500002, z: 0.17}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 482679184226219918}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &8092211601091532622
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6495126190302863702}
|
||||
m_Mesh: {fileID: -2128599272216676504, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &158914536223107651
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6495126190302863702}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 8827041594150943702, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &6673437544611594859
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4336361997087478217}
|
||||
- component: {fileID: 6254159533804701904}
|
||||
- component: {fileID: 5949385500310894080}
|
||||
- component: {fileID: 5138955312328330918}
|
||||
m_Layer: 0
|
||||
m_Name: ButtonMid
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4336361997087478217
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6673437544611594859}
|
||||
m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 0.316, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7076239066448273417}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &6254159533804701904
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6673437544611594859}
|
||||
m_Mesh: {fileID: 3370307122583468558, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &5949385500310894080
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6673437544611594859}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 707a698b0ec80454a8c68700bca72941, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &5138955312328330918
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6673437544611594859}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 3370307122583468558, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!1 &7239982701835230558
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6308964038308262145}
|
||||
- component: {fileID: 5075223532662673685}
|
||||
- component: {fileID: 9209277692448190339}
|
||||
m_Layer: 0
|
||||
m_Name: Cylinder004
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6308964038308262145
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7239982701835230558}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -0.17, y: 0.26500002, z: -0.17}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 482679184226219918}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &5075223532662673685
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7239982701835230558}
|
||||
m_Mesh: {fileID: -5208879343037863941, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &9209277692448190339
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7239982701835230558}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 8827041594150943702, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &8106115827673679234
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4078966097693282274}
|
||||
- component: {fileID: 5363703099776344735}
|
||||
- component: {fileID: 5109974040983004693}
|
||||
- component: {fileID: 3851278602059192841}
|
||||
m_Layer: 0
|
||||
m_Name: ButtonBase
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4078966097693282274
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8106115827673679234}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 482679184226219918}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &5363703099776344735
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8106115827673679234}
|
||||
m_Mesh: {fileID: 6686689856544752723, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &5109974040983004693
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8106115827673679234}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: e91db078e551c294ebe28046b39b12e9, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &3851278602059192841
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8106115827673679234}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 6686689856544752723, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!1 &8708035160588895096
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6576810485851996243}
|
||||
- component: {fileID: 394584629206694651}
|
||||
- component: {fileID: 6368194004820412582}
|
||||
- component: {fileID: 913943368950141711}
|
||||
- component: {fileID: 2817281613977337957}
|
||||
m_Layer: 0
|
||||
m_Name: ButtonPress
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6576810485851996243
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8708035160588895096}
|
||||
m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 0.466, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7076239066448273417}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &394584629206694651
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8708035160588895096}
|
||||
m_Mesh: {fileID: 6565873828156177285, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!23 &6368194004820412582
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8708035160588895096}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 707a698b0ec80454a8c68700bca72941, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &913943368950141711
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8708035160588895096}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 1
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 6565873828156177285, guid: 8360cb58a6640db4fafae736bb1b0393, type: 3}
|
||||
--- !u!114 &2817281613977337957
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8708035160588895096}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 682848c63dbd4614880393ae570f719c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
movableParts: {fileID: 7076239066448273417}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4453f13d185929b4583c1274b082226c
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1009
Assets/_PROJECT/Prefabs/ModelGeneration/ShapeScanner.prefab
Normal file
1009
Assets/_PROJECT/Prefabs/ModelGeneration/ShapeScanner.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dec58165fd27e25469afad7e872a24e5
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
123
Assets/_PROJECT/Prefabs/ModelGeneration/ShapeScannerRay.prefab
Normal file
123
Assets/_PROJECT/Prefabs/ModelGeneration/ShapeScannerRay.prefab
Normal file
@@ -0,0 +1,123 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &8688612914795219519
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4811101795973932176}
|
||||
- component: {fileID: 8730629787356023745}
|
||||
- component: {fileID: 8273099278732009402}
|
||||
- component: {fileID: 5886598760312445559}
|
||||
- component: {fileID: 1303694035827653214}
|
||||
m_Layer: 0
|
||||
m_Name: ShapeScannerRay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4811101795973932176
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8688612914795219519}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0.259, y: 0.012, z: -0.26886}
|
||||
m_LocalScale: {x: 0.035, y: 0.5, z: 0.035}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &8730629787356023745
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8688612914795219519}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &8273099278732009402
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8688612914795219519}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &5886598760312445559
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8688612914795219519}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1303694035827653214
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8688612914795219519}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: db942dc95bda5a149b7e9358de43a923, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_activeMaterial: {fileID: 0}
|
||||
_passiveMaterial: {fileID: 0}
|
||||
scannableTag: ShapeScannable
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dfe698ad960ffbd47a7d0ff8f6b5baa3
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
Binary file not shown.
BIN
Assets/_PROJECT/Scenes/DeltaBuilding_base_copy_2.unity
LFS
Normal file
BIN
Assets/_PROJECT/Scenes/DeltaBuilding_base_copy_2.unity
LFS
Normal file
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8a90a45cf0824d14fb5a2b9f59951013
|
||||
guid: 9e16c783900f92a4c8942f7d34faa968
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
BIN
Assets/_PROJECT/Scenes/MicrophoneTestScene.unity
LFS
Normal file
BIN
Assets/_PROJECT/Scenes/MicrophoneTestScene.unity
LFS
Normal file
Binary file not shown.
7
Assets/_PROJECT/Scenes/MicrophoneTestScene.unity.meta
Normal file
7
Assets/_PROJECT/Scenes/MicrophoneTestScene.unity.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: df6aa17c908f8814a8a7abe743fdd28a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/_PROJECT/Scripts/ModeGeneration/ArcheryRange.meta
Normal file
8
Assets/_PROJECT/Scripts/ModeGeneration/ArcheryRange.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af360726de5c7f44bb1ea9ce40becf9c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,83 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ArcheryRangeModelGenerationController : MonoBehaviour
|
||||
{
|
||||
public MicrophoneStand microphoneStand;
|
||||
public PushableButton imageGenerationButton;
|
||||
public PushableButton modelGenerationButton;
|
||||
|
||||
public Texture2D GeneratedTexture { get; private set; }
|
||||
public Image imageDisplay;
|
||||
|
||||
public GameObject GeneratedModel { get; private set; }
|
||||
public float generatedObjectRotationSpeed = 10f;
|
||||
|
||||
public Transform modelDisplay;
|
||||
public Material modelDisplayActiveMaterial;
|
||||
public Transform wire;
|
||||
public Material wireActiveMaterial;
|
||||
|
||||
private bool modelGenerationInProgress;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
imageGenerationButton.OnButtonPressed += InvokeImageGeneration;
|
||||
modelGenerationButton.OnButtonPressed += InvokeModelGeneration;
|
||||
modelGenerationInProgress = false;
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
if (GeneratedModel != null)
|
||||
{
|
||||
GeneratedModel.transform.Rotate(Vector3.up, generatedObjectRotationSpeed * Time.deltaTime);
|
||||
}
|
||||
}
|
||||
|
||||
private async void InvokeImageGeneration()
|
||||
{
|
||||
string inputPrompt = microphoneStand.GetTextOutput();
|
||||
byte[] imageBytes = await InvokeAiClient.Instance.GenerateImage(inputPrompt);
|
||||
GeneratedTexture = ModelGenerationUtils.CreateTexture(imageBytes);
|
||||
Sprite sprite = ModelGenerationUtils.CreateSprite(GeneratedTexture);
|
||||
imageDisplay.sprite = sprite;
|
||||
|
||||
imageGenerationButton.Deactivate();
|
||||
if (!modelGenerationInProgress)
|
||||
{
|
||||
modelGenerationButton.Deactivate();
|
||||
}
|
||||
}
|
||||
|
||||
private async void InvokeModelGeneration()
|
||||
{
|
||||
modelGenerationInProgress = true;
|
||||
string encodedTexture = Convert.ToBase64String(GeneratedTexture.EncodeToJPG());
|
||||
byte[] encodedModel = await TrellisClient.Instance.GenerateModel(encodedTexture);
|
||||
|
||||
GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel);
|
||||
// Destroy previous generated object
|
||||
Destroy(GeneratedModel);
|
||||
spawnedObject.transform.parent = modelDisplay;
|
||||
spawnedObject.transform.position = modelDisplay.position;
|
||||
GeneratedModel = spawnedObject;
|
||||
|
||||
OnModelReady();
|
||||
modelGenerationButton.Deactivate();
|
||||
modelGenerationInProgress = false;
|
||||
}
|
||||
|
||||
private void OnModelReady()
|
||||
{
|
||||
foreach (MeshRenderer meshRenderer in wire.GetComponentsInChildren<MeshRenderer>())
|
||||
{
|
||||
meshRenderer.material = wireActiveMaterial;
|
||||
}
|
||||
|
||||
modelDisplay.GetComponent<MeshRenderer>().material = modelDisplayActiveMaterial;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 99e1fdda206b5d04082b6a45593a1e84
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,61 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class MicrophoneStand : MonoBehaviour
|
||||
{
|
||||
public TextMeshProUGUI outputText;
|
||||
|
||||
public GameObject microphoneOffStatus;
|
||||
public GameObject microphoneOnStatus;
|
||||
|
||||
public FMODWhisperBridge fmodWhisperBridge;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
fmodWhisperBridge.OnWhisperResultProcessed += OnWhisperResult;
|
||||
|
||||
microphoneOffStatus.SetActive(true);
|
||||
microphoneOnStatus.SetActive(false);
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void OnTriggerEnter(Collider other)
|
||||
{
|
||||
KbmController controller = other.GetComponent<KbmController>();
|
||||
Debug.Log("Mic stand collided with object " + other.gameObject.name);
|
||||
|
||||
if (controller != null || other.gameObject.tag == "Player Head")
|
||||
{
|
||||
microphoneOffStatus.SetActive(false);
|
||||
microphoneOnStatus.SetActive(true);
|
||||
fmodWhisperBridge.ActivateRecording();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
KbmController controller = other.GetComponent<KbmController>();
|
||||
if (controller != null | other.gameObject.tag == "Player Head")
|
||||
{
|
||||
microphoneOffStatus.SetActive(true);
|
||||
microphoneOnStatus.SetActive(false);
|
||||
fmodWhisperBridge.DeactivateRecording();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnWhisperResult(string result)
|
||||
{
|
||||
outputText.text = result;
|
||||
}
|
||||
|
||||
public string GetTextOutput()
|
||||
{
|
||||
return outputText.text;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 357101b2cface4943b04dfd25d4944e3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
39
Assets/_PROJECT/Scripts/ModeGeneration/ConfigManager.cs
Normal file
39
Assets/_PROJECT/Scripts/ModeGeneration/ConfigManager.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
public class ConfigManager : MonoBehaviour
|
||||
{
|
||||
public GameConfig Config { get; private set; }
|
||||
public static ConfigManager Instance { get; private set; }
|
||||
private static string configPath => Path.Combine(Application.persistentDataPath, "config.json");
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
LoadConfig();
|
||||
}
|
||||
|
||||
public void LoadConfig()
|
||||
{
|
||||
if (File.Exists(configPath))
|
||||
{
|
||||
string json = File.ReadAllText(configPath);
|
||||
Config = JsonUtility.FromJson<GameConfig>(json);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Create config with default values
|
||||
Config = new GameConfig();
|
||||
SaveConfig();
|
||||
}
|
||||
|
||||
Debug.Log("Loaded config from: " + configPath);
|
||||
}
|
||||
|
||||
public void SaveConfig()
|
||||
{
|
||||
string json = JsonUtility.ToJson(Config, true);
|
||||
File.WriteAllText(configPath, json);
|
||||
}
|
||||
}
|
||||
11
Assets/_PROJECT/Scripts/ModeGeneration/ConfigManager.cs.meta
Normal file
11
Assets/_PROJECT/Scripts/ModeGeneration/ConfigManager.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6a9ed26713a3c4c4f8f6be3bbd4af5c7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
122
Assets/_PROJECT/Scripts/ModeGeneration/FMODMicLoopback.cs
Normal file
122
Assets/_PROJECT/Scripts/ModeGeneration/FMODMicLoopback.cs
Normal file
@@ -0,0 +1,122 @@
|
||||
|
||||
using FMOD;
|
||||
using FMODUnity;
|
||||
using System.Runtime.InteropServices;
|
||||
using UnityEngine;
|
||||
|
||||
public class FMODMicLoopback : MonoBehaviour
|
||||
{
|
||||
private uint LATENCY_MS = 50;
|
||||
private uint DRIFT_MS = 1;
|
||||
|
||||
private uint samplesRecorded, samplesPlayed = 0;
|
||||
private int nativeRate, nativeChannels = 0;
|
||||
private uint recSoundLength = 0;
|
||||
uint lastPlayPos = 0;
|
||||
uint lastRecordPos = 0;
|
||||
private uint driftThreshold = 0;
|
||||
private uint desiredLatency = 0;
|
||||
private uint adjustLatency = 0;
|
||||
private int actualLatency = 0;
|
||||
uint minRecordDelta = 0xFFFFFFFF;
|
||||
|
||||
private FMOD.CREATESOUNDEXINFO exInfo = new FMOD.CREATESOUNDEXINFO();
|
||||
|
||||
private FMOD.Sound recSound;
|
||||
private FMOD.Channel channel;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
/*
|
||||
Determine latency in samples.
|
||||
*/
|
||||
FMODUnity.RuntimeManager.CoreSystem.getRecordDriverInfo(0, out _, 0, out _, out nativeRate, out _, out nativeChannels, out _);
|
||||
|
||||
driftThreshold = (uint)(nativeRate * DRIFT_MS) / 1000;
|
||||
desiredLatency = (uint)(nativeRate * LATENCY_MS) / 1000;
|
||||
adjustLatency = desiredLatency;
|
||||
actualLatency = (int)desiredLatency;
|
||||
|
||||
/*
|
||||
Create user sound to record into, then start recording.
|
||||
*/
|
||||
exInfo.cbsize = Marshal.SizeOf(typeof(FMOD.CREATESOUNDEXINFO));
|
||||
exInfo.numchannels = nativeChannels;
|
||||
exInfo.format = FMOD.SOUND_FORMAT.PCM16;
|
||||
exInfo.defaultfrequency = nativeRate;
|
||||
exInfo.length = (uint)(nativeRate * sizeof(short) * nativeChannels);
|
||||
|
||||
FMODUnity.RuntimeManager.CoreSystem.createSound("", FMOD.MODE.LOOP_NORMAL | FMOD.MODE.OPENUSER, ref exInfo, out recSound);
|
||||
|
||||
FMODUnity.RuntimeManager.CoreSystem.recordStart(0, recSound, true);
|
||||
|
||||
recSound.getLength(out recSoundLength, FMOD.TIMEUNIT.PCM);
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
/*
|
||||
Determine how much has been recorded since we last checked
|
||||
*/
|
||||
uint recordPos = 0;
|
||||
FMODUnity.RuntimeManager.CoreSystem.getRecordPosition(0, out recordPos);
|
||||
|
||||
uint recordDelta = (recordPos >= lastRecordPos) ? (recordPos - lastRecordPos) : (recordPos + recSoundLength - lastRecordPos);
|
||||
lastRecordPos = recordPos;
|
||||
samplesRecorded += recordDelta;
|
||||
|
||||
if (recordDelta != 0 && (recordDelta < minRecordDelta))
|
||||
{
|
||||
minRecordDelta = recordDelta; // Smallest driver granularity seen so far
|
||||
adjustLatency = (recordDelta <= desiredLatency) ? desiredLatency : recordDelta; // Adjust our latency if driver granularity is high
|
||||
}
|
||||
|
||||
/*
|
||||
Delay playback until our desired latency is reached.
|
||||
*/
|
||||
if (!channel.hasHandle() && samplesRecorded >= adjustLatency)
|
||||
{
|
||||
FMODUnity.RuntimeManager.CoreSystem.getMasterChannelGroup(out FMOD.ChannelGroup mCG);
|
||||
FMODUnity.RuntimeManager.CoreSystem.playSound(recSound, mCG, false, out channel);
|
||||
}
|
||||
|
||||
/*
|
||||
Determine how much has been played since we last checked.
|
||||
*/
|
||||
if (channel.hasHandle())
|
||||
{
|
||||
uint playPos = 0;
|
||||
channel.getPosition(out playPos, FMOD.TIMEUNIT.PCM);
|
||||
|
||||
uint playDelta = (playPos >= lastPlayPos) ? (playPos - lastPlayPos) : (playPos + recSoundLength - lastPlayPos);
|
||||
lastPlayPos = playPos;
|
||||
samplesPlayed += playDelta;
|
||||
|
||||
// Compensate for any drift.
|
||||
int latency = (int)(samplesRecorded - samplesPlayed);
|
||||
actualLatency = (int)((0.97f * actualLatency) + (0.03f * latency));
|
||||
|
||||
int playbackRate = nativeRate;
|
||||
if (actualLatency < (int)(adjustLatency - driftThreshold))
|
||||
{
|
||||
// Playback position is catching up to the record position, slow playback down by 2%
|
||||
playbackRate = nativeRate - (nativeRate / 50);
|
||||
}
|
||||
|
||||
else if (actualLatency > (int)(adjustLatency + driftThreshold))
|
||||
{
|
||||
// Playback is falling behind the record position, speed playback up by 2%
|
||||
playbackRate = nativeRate + (nativeRate / 50);
|
||||
}
|
||||
|
||||
channel.setFrequency((float)playbackRate);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
recSound.release();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 12623af3ff8b7df4abbaacd753e43555
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
238
Assets/_PROJECT/Scripts/ModeGeneration/FMODWhisperBridge.cs
Normal file
238
Assets/_PROJECT/Scripts/ModeGeneration/FMODWhisperBridge.cs
Normal file
@@ -0,0 +1,238 @@
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using UnityEngine;
|
||||
using FMOD;
|
||||
using FMODUnity;
|
||||
using Whisper; // WhisperManager, WhisperStream, WhisperResult
|
||||
using Whisper.Utils; // AudioChunk
|
||||
|
||||
/// <summary>
|
||||
/// Capture microphone with FMOD and feed chunks to WhisperStream (no Unity Microphone).
|
||||
/// Also (optionally) plays the recorded sound back via FMOD loopback.
|
||||
/// </summary>
|
||||
|
||||
public class FMODWhisperBridge : MonoBehaviour
|
||||
{
|
||||
[Header("Whisper")]
|
||||
[SerializeField] private WhisperManager whisper; // assign in Inspector
|
||||
[SerializeField] private bool useVadInStream = false; // let WhisperStream do VAD or not
|
||||
|
||||
[Header("FMOD capture")]
|
||||
[Tooltip("Recording device index (0 = default)")]
|
||||
public int recordDriverId = 0;
|
||||
[Tooltip("Set 48000 on Quest; falls back to device rate automatically")]
|
||||
public int desiredSampleRate = 48000;
|
||||
[Tooltip("Mono recommended for Whisper")]
|
||||
public int channels = 1;
|
||||
[Range(1, 10)] public int bufferLengthSec = 5;
|
||||
|
||||
[Header("Loopback (monitor your voice)")]
|
||||
public bool playLoopback = true;
|
||||
[Range(0f, 2f)] public float loopbackVolume = 1.0f;
|
||||
|
||||
public delegate void OnWhisperResultProcessedDelegate(string result);
|
||||
public event OnWhisperResultProcessedDelegate OnWhisperResultProcessed;
|
||||
|
||||
// FMOD
|
||||
private FMOD.System _core;
|
||||
private Sound _recSound;
|
||||
private Channel _playChannel;
|
||||
private ChannelGroup _masterGroup;
|
||||
private uint _soundPcmLength; // in samples
|
||||
private int _nativeRate;
|
||||
private int _nativeChannels;
|
||||
|
||||
// ring-buffer tracking
|
||||
private uint _lastRecordPos = 0;
|
||||
|
||||
// Whisper
|
||||
private WhisperStream _stream;
|
||||
private bool _streamStarted;
|
||||
|
||||
// temp conversion buffer
|
||||
private float[] _floatTmp = new float[0];
|
||||
|
||||
private bool isRecordingActivated = false;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (!whisper) whisper = FindObjectOfType<WhisperManager>();
|
||||
_core = RuntimeManager.CoreSystem; // FMOD core system
|
||||
}
|
||||
|
||||
private async void Start()
|
||||
{
|
||||
// Query device info to get native rate/channels.
|
||||
// (FMOD: getRecordDriverInfo gives you system rate & speaker mode)
|
||||
string name;
|
||||
Guid guid;
|
||||
SPEAKERMODE sm;
|
||||
int smChannels;
|
||||
DRIVER_STATE driverState;
|
||||
// signature: getRecordDriverInfo(id, out name, nameLen, out guid, out systemrate, out speakermode, out speakermodechannels, out driverState)
|
||||
_core.getRecordDriverInfo(recordDriverId, out name, 256, out guid, out _nativeRate, out sm, out smChannels, out driverState);
|
||||
_nativeChannels = channels > 0 ? channels : smChannels;
|
||||
UnityEngine.Debug.Log($"[FMOD→Whisper] Using input device #{recordDriverId}: \"{name}\" rate={_nativeRate} ch={_nativeChannels}");
|
||||
|
||||
// Build a user sound buffer that FMOD will fill (OPENUSER | LOOP_NORMAL).
|
||||
CREATESOUNDEXINFO ex = new CREATESOUNDEXINFO
|
||||
{
|
||||
cbsize = Marshal.SizeOf(typeof(CREATESOUNDEXINFO)),
|
||||
numchannels = _nativeChannels,
|
||||
defaultfrequency = (_nativeRate > 0) ? _nativeRate : desiredSampleRate,
|
||||
format = SOUND_FORMAT.PCM16,
|
||||
length = (uint)(((_nativeRate > 0 ? _nativeRate : desiredSampleRate) * _nativeChannels) * sizeof(short)) // seconds=1 (we loop)
|
||||
};
|
||||
|
||||
_core.createSound("", MODE.OPENUSER | MODE.LOOP_NORMAL | MODE.CREATESAMPLE, ref ex, out _recSound);
|
||||
_recSound.getLength(out _soundPcmLength, TIMEUNIT.PCM);
|
||||
|
||||
// Start FMOD recording into that sound (looping ring buffer).
|
||||
_core.recordStart(recordDriverId, _recSound, true);
|
||||
UnityEngine.Debug.Log("[FMOD→Whisper] Recording started.");
|
||||
|
||||
// Optional loopback playback using FMOD (plays same sound ring buffer).
|
||||
_core.getMasterChannelGroup(out _masterGroup);
|
||||
if (playLoopback)
|
||||
{
|
||||
_core.playSound(_recSound, _masterGroup, false, out _playChannel);
|
||||
_playChannel.setMode(MODE._2D);
|
||||
_playChannel.setVolume(loopbackVolume);
|
||||
UnityEngine.Debug.Log("[FMOD→Whisper] Loopback playback started.");
|
||||
}
|
||||
|
||||
// Create Whisper stream WITHOUT MicrophoneRecord, just from (freq, channels).
|
||||
// We'll push AudioChunk manually.
|
||||
// NOTE: WhisperStream’s sliding window is governed by manager’s stepSec/keepSec/lengthSec.
|
||||
_stream = await whisper.CreateStream(ex.defaultfrequency, _nativeChannels);
|
||||
_stream.OnResultUpdated += (txt) =>
|
||||
{
|
||||
//OnWhisperResultProcessed?.Invoke(txt);
|
||||
//UnityEngine.Debug.Log($"[Whisper] result updated: {txt}");
|
||||
};
|
||||
_stream.OnSegmentUpdated += (seg) =>
|
||||
{
|
||||
OnWhisperResultProcessed?.Invoke(seg.Result);
|
||||
//UnityEngine.Debug.Log($"[Whisper] Seg finished: {seg.Result}");
|
||||
};
|
||||
|
||||
// If you want Whisper to respect VAD, enable in manager or set useVad (manager controls stream params).
|
||||
whisper.useVad = useVadInStream;
|
||||
|
||||
_stream.StartStream();
|
||||
_streamStarted = true;
|
||||
|
||||
// prepare temp arrays roughly 100ms of audio
|
||||
EnsureTmpCapacity((ex.defaultfrequency / 10) * _nativeChannels);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!isRecordingActivated) return;
|
||||
if (_core.handle != IntPtr.Zero) _core.update();
|
||||
if (!_streamStarted || !_recSound.hasHandle()) return;
|
||||
|
||||
// How many samples recorded since last frame?
|
||||
uint recPos;
|
||||
_core.getRecordPosition(recordDriverId, out recPos);
|
||||
|
||||
uint deltaSamples = (recPos >= _lastRecordPos)
|
||||
? (recPos - _lastRecordPos)
|
||||
: (recPos + _soundPcmLength - _lastRecordPos);
|
||||
|
||||
if (deltaSamples == 0) return;
|
||||
|
||||
// We’ll read that region (16-bit) and convert to float[] [-1..1].
|
||||
// Calculate byte range to lock in sound buffer
|
||||
uint bytesToRead = deltaSamples * (uint)_nativeChannels * 2; // 16-bit = 2 bytes
|
||||
uint startBytes = _lastRecordPos * (uint)_nativeChannels * 2;
|
||||
|
||||
IntPtr p1, p2;
|
||||
uint len1, len2;
|
||||
// Lock can wrap — FMOD splits into p1/p2.
|
||||
_recSound.@lock(startBytes, bytesToRead, out p1, out p2, out len1, out len2);
|
||||
|
||||
try
|
||||
{
|
||||
// Convert both parts to float and push to Whisper
|
||||
if (len1 > 0) CopyPcm16ToFloatAndFeed(p1, len1);
|
||||
if (len2 > 0) CopyPcm16ToFloatAndFeed(p2, len2);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_recSound.unlock(p1, p2, len1, len2);
|
||||
}
|
||||
|
||||
_lastRecordPos = recPos;
|
||||
}
|
||||
|
||||
public void ActivateRecording()
|
||||
{
|
||||
isRecordingActivated = true;
|
||||
}
|
||||
|
||||
public void DeactivateRecording()
|
||||
{
|
||||
isRecordingActivated = false;
|
||||
}
|
||||
|
||||
private void CopyPcm16ToFloatAndFeed(IntPtr src, uint byteLen)
|
||||
{
|
||||
int samples = (int)(byteLen / 2); // 2 bytes per sample
|
||||
EnsureTmpCapacity(samples);
|
||||
|
||||
// Marshal the 16-bit PCM into managed space
|
||||
// We pin a short[] overlay to avoid copying twice
|
||||
int shorts = samples;
|
||||
int byteCount = (int)byteLen;
|
||||
|
||||
// Use Marshal.Copy into a short[] then convert to float[-1..1]
|
||||
// (You can also unsafe copy for speed if needed.)
|
||||
EnsureShortOverlay(shorts, out short[] sBuf);
|
||||
Marshal.Copy(src, sBuf, 0, shorts);
|
||||
|
||||
for (int i = 0; i < shorts; i++)
|
||||
{
|
||||
// 32768f avoids clipping at -32768
|
||||
_floatTmp[i] = Mathf.Clamp(sBuf[i] / 32768f, -1f, 1f);
|
||||
}
|
||||
|
||||
// Build a chunk for WhisperStream; with VAD off, IsVoiceDetected=true is fine.
|
||||
var chunk = new AudioChunk
|
||||
{
|
||||
Data = _floatTmp.AsSpan(0, shorts).ToArray(),
|
||||
Frequency = (_nativeRate > 0) ? _nativeRate : desiredSampleRate,
|
||||
Channels = _nativeChannels,
|
||||
IsVoiceDetected = true
|
||||
};
|
||||
|
||||
_stream.AddToStream(chunk);
|
||||
}
|
||||
|
||||
private short[] _shortOverlay;
|
||||
private void EnsureShortOverlay(int samples, out short[] buf)
|
||||
{
|
||||
if (_shortOverlay == null || _shortOverlay.Length < samples)
|
||||
_shortOverlay = new short[Mathf.NextPowerOfTwo(samples)];
|
||||
buf = _shortOverlay;
|
||||
}
|
||||
|
||||
private void EnsureTmpCapacity(int samples)
|
||||
{
|
||||
if (_floatTmp == null || _floatTmp.Length < samples)
|
||||
_floatTmp = new float[Mathf.NextPowerOfTwo(samples)];
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
if (_streamStarted)
|
||||
{
|
||||
_stream.StopStream();
|
||||
_streamStarted = false;
|
||||
}
|
||||
|
||||
if (_playChannel.hasHandle()) { _playChannel.stop(); _playChannel.clearHandle(); }
|
||||
if (_recSound.hasHandle()) { _core.recordStop(recordDriverId); _recSound.release(); _recSound.clearHandle(); }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a264cb5321d9f6741a2625b8c63c34a7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/_PROJECT/Scripts/ModeGeneration/GameConfig.cs
Normal file
8
Assets/_PROJECT/Scripts/ModeGeneration/GameConfig.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
[System.Serializable]
|
||||
public class GameConfig
|
||||
{
|
||||
public string invokeAIUrl = "http://192.168.0.53:9090";
|
||||
public string invokeAIModelKey = "81d45960-08a0-4b8c-a48b-e7d73b21bfe2";
|
||||
public string TrellisUrl = "http://192.168.0.53:7960";
|
||||
}
|
||||
11
Assets/_PROJECT/Scripts/ModeGeneration/GameConfig.cs.meta
Normal file
11
Assets/_PROJECT/Scripts/ModeGeneration/GameConfig.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5412d5465648e6c40bfe932c9098194b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -11,7 +11,6 @@ public class ImageGenerationBox : MonoBehaviour
|
||||
public VoiceTranscriptionBox voiceTranscriptionBox;
|
||||
public Image imageDisplay;
|
||||
public Texture2D LastTexture { get; private set; }
|
||||
public string promptSuffix = ", single object, front and side fully visible, realistic style, plain neutral background, clear details, soft studio lighting, true-to-scale";
|
||||
|
||||
private MeshRenderer meshRenderer;
|
||||
private bool isLoading;
|
||||
@@ -37,47 +36,17 @@ void Start()
|
||||
XROrigin playerOrigin = other.GetComponent<XROrigin>();
|
||||
if (controller != null || playerOrigin != null)
|
||||
{
|
||||
string inputPrompt = voiceTranscriptionBox.GetTextOutput();
|
||||
string refinedPrompt = inputPrompt + promptSuffix;
|
||||
|
||||
isLoading = true;
|
||||
meshRenderer.material = loadingMaterial;
|
||||
|
||||
byte[] imageBytes = await InvokeAiClient.Instance.GenerateImage(refinedPrompt);
|
||||
LastTexture = CreateTexture(imageBytes);
|
||||
Sprite sprite = CreateSprite(LastTexture);
|
||||
string inputPrompt = voiceTranscriptionBox.GetTextOutput();
|
||||
byte[] imageBytes = await InvokeAiClient.Instance.GenerateImage(inputPrompt);
|
||||
LastTexture = ModelGenerationUtils.CreateTexture(imageBytes);
|
||||
Sprite sprite = ModelGenerationUtils.CreateSprite(LastTexture);
|
||||
imageDisplay.sprite = sprite;
|
||||
|
||||
isLoading = false;
|
||||
meshRenderer.material = inactiveMaterial;
|
||||
}
|
||||
}
|
||||
|
||||
private Texture2D CreateTexture(byte[] imageBytes)
|
||||
{
|
||||
var tex = new Texture2D(2, 2, TextureFormat.RGBA32, false);
|
||||
// ImageConversion.LoadImage returns bool (true = success)
|
||||
if (!ImageConversion.LoadImage(tex, imageBytes, markNonReadable: false))
|
||||
{
|
||||
Destroy(tex);
|
||||
throw new InvalidOperationException("Failed to decode image bytes into Texture2D.");
|
||||
}
|
||||
|
||||
tex.filterMode = FilterMode.Bilinear;
|
||||
tex.wrapMode = TextureWrapMode.Clamp;
|
||||
|
||||
return tex;
|
||||
}
|
||||
|
||||
private Sprite CreateSprite(Texture2D tex)
|
||||
{
|
||||
var sprite = Sprite.Create(
|
||||
tex,
|
||||
new Rect(0, 0, tex.width, tex.height),
|
||||
new Vector2(0.5f, 0.5f),
|
||||
pixelsPerUnit: 100f
|
||||
);
|
||||
|
||||
return sprite;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,8 @@ public class InvokeAiClient : MonoBehaviour
|
||||
{
|
||||
public static InvokeAiClient Instance { get; private set; }
|
||||
|
||||
public string INVOKEAI_BASE_URL;
|
||||
public string DEFAULT_QUEUE_ID = "default";
|
||||
public string MODEL_KEY;
|
||||
public string promptSuffix = ", single object, front and side fully visible, realistic style, plain neutral background, clear details, soft studio lighting, true-to-scale";
|
||||
|
||||
private HttpClient httpClient;
|
||||
|
||||
@@ -26,7 +25,7 @@ public class InvokeAiClient : MonoBehaviour
|
||||
{
|
||||
Timeout = TimeSpan.FromSeconds(120)
|
||||
};
|
||||
httpClient.BaseAddress = new Uri(INVOKEAI_BASE_URL);
|
||||
httpClient.BaseAddress = new Uri(ConfigManager.Instance.Config.invokeAIUrl);
|
||||
|
||||
Instance = this;
|
||||
}
|
||||
@@ -519,12 +518,14 @@ public class InvokeAiClient : MonoBehaviour
|
||||
|
||||
public async Task<byte[]> GenerateImage(string prompt)
|
||||
{
|
||||
string modelKey = ConfigManager.Instance.Config.invokeAIModelKey;
|
||||
string refinedPrompt = prompt + promptSuffix;
|
||||
JObject args = new JObject()
|
||||
{
|
||||
["prompt"] = prompt,
|
||||
["prompt"] = refinedPrompt,
|
||||
["width"] = 512,
|
||||
["height"] = 512,
|
||||
["model_key"] = MODEL_KEY,
|
||||
["model_key"] = modelKey,
|
||||
};
|
||||
|
||||
UnityEngine.Debug.Log("Starting image generation...");
|
||||
|
||||
97
Assets/_PROJECT/Scripts/ModeGeneration/MicLoopback.cs
Normal file
97
Assets/_PROJECT/Scripts/ModeGeneration/MicLoopback.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(AudioSource))]
|
||||
public class MicLoopback : MonoBehaviour
|
||||
{
|
||||
[Header("Mic settings")]
|
||||
[Tooltip("Leave empty for default device")]
|
||||
public string deviceName = "";
|
||||
[Range(1, 60)] public int bufferLengthSec = 10; // rolling buffer for mic clip
|
||||
public int requestedSampleRate = 48000; // 48000 is best match for Quest & many headsets
|
||||
public bool playOnStart = true;
|
||||
|
||||
[Header("Runtime")]
|
||||
public bool isRecording;
|
||||
public bool isPlaying;
|
||||
|
||||
private AudioSource _src;
|
||||
private AudioClip _micClip;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
_src = GetComponent<AudioSource>();
|
||||
_src.loop = true; // continuous playback
|
||||
_src.playOnAwake = false; // we will start manually
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
if (playOnStart)
|
||||
StartLoopback();
|
||||
}
|
||||
|
||||
public void StartLoopback()
|
||||
{
|
||||
if (isRecording) return;
|
||||
|
||||
// Pick default mic if none specified
|
||||
string dev = deviceName;
|
||||
if (string.IsNullOrEmpty(dev) && Microphone.devices.Length > 0)
|
||||
dev = Microphone.devices[0];
|
||||
|
||||
// Optionally query supported sample range
|
||||
Microphone.GetDeviceCaps(dev, out int minFreq, out int maxFreq);
|
||||
int sampleRate = requestedSampleRate;
|
||||
if (minFreq != 0 && maxFreq != 0)
|
||||
{
|
||||
// Clamp to supported range
|
||||
sampleRate = Mathf.Clamp(requestedSampleRate, minFreq, maxFreq);
|
||||
}
|
||||
|
||||
// Start recording into an AudioClip Unity manages
|
||||
_micClip = Microphone.Start(dev, true, bufferLengthSec, sampleRate);
|
||||
isRecording = true;
|
||||
|
||||
Debug.Log("Recording started. device name:");
|
||||
Debug.Log(Microphone.GetPosition(deviceName));
|
||||
|
||||
// Wait until the mic has written at least one sample
|
||||
StartCoroutine(PlayWhenReady());
|
||||
}
|
||||
|
||||
System.Collections.IEnumerator PlayWhenReady()
|
||||
{
|
||||
// Ensure mic buffer has started writing
|
||||
Debug.Log("device name: " + deviceName);
|
||||
while (Microphone.GetPosition(deviceName) <= 0)
|
||||
{
|
||||
Debug.Log("Stuck in enumerator");
|
||||
yield return null;
|
||||
}
|
||||
|
||||
_src.clip = _micClip;
|
||||
Debug.Log("Playing clip " + _src.clip);
|
||||
_src.Play();
|
||||
isPlaying = true;
|
||||
}
|
||||
|
||||
public void StopLoopback()
|
||||
{
|
||||
if (!isRecording) return;
|
||||
|
||||
_src.Stop();
|
||||
if (_micClip != null)
|
||||
{
|
||||
Microphone.End(null); // stop default device
|
||||
_micClip = null;
|
||||
}
|
||||
isPlaying = false;
|
||||
isRecording = false;
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
StopLoopback();
|
||||
}
|
||||
}
|
||||
11
Assets/_PROJECT/Scripts/ModeGeneration/MicLoopback.cs.meta
Normal file
11
Assets/_PROJECT/Scripts/ModeGeneration/MicLoopback.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f0e7aa48ae4094e45b6f427987c2fc93
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -42,7 +42,7 @@ public class ModelGenerationBox : MonoBehaviour
|
||||
string encodedTexture = Convert.ToBase64String(inputTexture.EncodeToJPG());
|
||||
byte[] encodedModel = await TrellisClient.Instance.GenerateModel(encodedTexture);
|
||||
|
||||
GameObject spawnedObject = await PipelineManager.Instance.SpawnModel(encodedModel);
|
||||
GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel);
|
||||
spawnedObject.AddComponent<Rigidbody>();
|
||||
spawnedObject.transform.parent = modelSpawnPoint;
|
||||
spawnedObject.transform.position = modelSpawnPoint.position;
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
using GLTFast;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
|
||||
public class PipelineManager : MonoBehaviour
|
||||
public class ModelGenerationUtils : MonoBehaviour
|
||||
{
|
||||
public static PipelineManager Instance { get; private set; }
|
||||
public static ModelGenerationUtils Instance { get; private set; }
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@@ -27,7 +28,7 @@ public class PipelineManager : MonoBehaviour
|
||||
|
||||
/**
|
||||
* Generate model by starting a new Python subprocess
|
||||
* NOT USED ANYMORE
|
||||
* NOT USED IN LATEST VERSION
|
||||
**/
|
||||
public async Task<string> GenerateModelAsync(string inputPrompt)
|
||||
{
|
||||
@@ -82,7 +83,7 @@ public class PipelineManager : MonoBehaviour
|
||||
|
||||
/**
|
||||
* Spawn model stored on disk
|
||||
* NOT USED ANYMORE
|
||||
* NOT USED IN LATEST VERSION
|
||||
*
|
||||
**/
|
||||
public async Task<GameObject> SpawnModel(string modelPath)
|
||||
@@ -130,4 +131,33 @@ public class PipelineManager : MonoBehaviour
|
||||
|
||||
throw new System.Exception("Failed to spawn GameObject " + objectName);
|
||||
}
|
||||
|
||||
|
||||
public static Texture2D CreateTexture(byte[] imageBytes)
|
||||
{
|
||||
var tex = new Texture2D(2, 2, TextureFormat.RGBA32, false);
|
||||
// ImageConversion.LoadImage returns bool (true = success)
|
||||
if (!ImageConversion.LoadImage(tex, imageBytes, markNonReadable: false))
|
||||
{
|
||||
Destroy(tex);
|
||||
throw new InvalidOperationException("Failed to decode image bytes into Texture2D.");
|
||||
}
|
||||
|
||||
tex.filterMode = FilterMode.Bilinear;
|
||||
tex.wrapMode = TextureWrapMode.Clamp;
|
||||
|
||||
return tex;
|
||||
}
|
||||
|
||||
public static Sprite CreateSprite(Texture2D tex)
|
||||
{
|
||||
var sprite = Sprite.Create(
|
||||
tex,
|
||||
new Rect(0, 0, tex.width, tex.height),
|
||||
new Vector2(0.5f, 0.5f),
|
||||
pixelsPerUnit: 100f
|
||||
);
|
||||
|
||||
return sprite;
|
||||
}
|
||||
}
|
||||
83
Assets/_PROJECT/Scripts/ModeGeneration/PushableButton.cs
Normal file
83
Assets/_PROJECT/Scripts/ModeGeneration/PushableButton.cs
Normal file
@@ -0,0 +1,83 @@
|
||||
|
||||
using DG.Tweening;
|
||||
using UnityEngine;
|
||||
|
||||
public class PushableButton : MonoBehaviour
|
||||
{
|
||||
public delegate void OnButtonPressedDelegate();
|
||||
public event OnButtonPressedDelegate OnButtonPressed;
|
||||
|
||||
|
||||
public bool startDown;
|
||||
public Transform movableParts;
|
||||
public float moveDuration = 0.25f;
|
||||
|
||||
public Transform wire;
|
||||
public Material wireActiveMaterial;
|
||||
public Material wireInactiveMaterial;
|
||||
|
||||
private float upPositionY;
|
||||
private float downPositionY;
|
||||
private bool isButtonDown;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
upPositionY = movableParts.localPosition.y;
|
||||
downPositionY = movableParts.localPosition.y - 0.1f;
|
||||
isButtonDown = false;
|
||||
}
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
if (startDown)
|
||||
{
|
||||
// Dont call Activate, we dont want to change wire material here
|
||||
movableParts.DOLocalMoveY(downPositionY, moveDuration);
|
||||
isButtonDown = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void OnCollisionEnter(Collision collision)
|
||||
{
|
||||
if (!isButtonDown && collision.gameObject.tag.EndsWith("Hand"))
|
||||
{
|
||||
Activate();
|
||||
OnButtonPressed?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
private void Activate()
|
||||
{
|
||||
movableParts.DOLocalMoveY(downPositionY, moveDuration);
|
||||
isButtonDown = true;
|
||||
|
||||
if (wire != null)
|
||||
{
|
||||
foreach (MeshRenderer meshRenderer in wire.GetComponentsInChildren<MeshRenderer>())
|
||||
{
|
||||
meshRenderer.material = wireActiveMaterial;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Deactivate()
|
||||
{
|
||||
movableParts.DOLocalMoveY(upPositionY, moveDuration);
|
||||
isButtonDown = false;
|
||||
|
||||
if (wire != null)
|
||||
{
|
||||
foreach (MeshRenderer meshRenderer in wire.GetComponentsInChildren<MeshRenderer>())
|
||||
{
|
||||
meshRenderer.material = wireInactiveMaterial;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 682848c63dbd4614880393ae570f719c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 32cc0ecba4f62654583aca9fbc246706
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,87 @@
|
||||
using FishNet.Component.Transforming;
|
||||
using FishNet.Object;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.XR.Interaction.Toolkit;
|
||||
|
||||
public class ShapeDetectionMinigameController : MonoBehaviour
|
||||
{
|
||||
public MicrophoneStand microphoneStand;
|
||||
public PushableButton imageGenerationButton;
|
||||
public PushableButton modelGenerationButton;
|
||||
public Texture2D GeneratedTexture { get; private set; }
|
||||
public Image imageDisplay;
|
||||
|
||||
public GameObject GeneratedModel { get; private set; }
|
||||
public Transform modelSpawnPoint;
|
||||
public string shapeScannerTag = "ShapeScannable";
|
||||
|
||||
private bool modelGenerationInProgress;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
imageGenerationButton.OnButtonPressed += InvokeImageGeneration;
|
||||
modelGenerationButton.OnButtonPressed += InvokeModelGeneration;
|
||||
modelGenerationInProgress = false;
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private async void InvokeImageGeneration()
|
||||
{
|
||||
string inputPrompt = microphoneStand.GetTextOutput();
|
||||
byte[] imageBytes = await InvokeAiClient.Instance.GenerateImage(inputPrompt);
|
||||
GeneratedTexture = ModelGenerationUtils.CreateTexture(imageBytes);
|
||||
Sprite sprite = ModelGenerationUtils.CreateSprite(GeneratedTexture);
|
||||
imageDisplay.sprite = sprite;
|
||||
|
||||
imageGenerationButton.Deactivate();
|
||||
if (!modelGenerationInProgress)
|
||||
{
|
||||
modelGenerationButton.Deactivate();
|
||||
}
|
||||
}
|
||||
|
||||
private async void InvokeModelGeneration()
|
||||
{
|
||||
modelGenerationInProgress = true;
|
||||
string encodedTexture = Convert.ToBase64String(GeneratedTexture.EncodeToJPG());
|
||||
byte[] encodedModel = await TrellisClient.Instance.GenerateModel(encodedTexture);
|
||||
|
||||
GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel);
|
||||
InitializeSpawnedObject(spawnedObject);
|
||||
|
||||
// Destroy previous generated object
|
||||
Destroy(GeneratedModel);
|
||||
GeneratedModel = spawnedObject;
|
||||
|
||||
modelGenerationButton.Deactivate();
|
||||
modelGenerationInProgress = false;
|
||||
}
|
||||
|
||||
private void InitializeSpawnedObject(GameObject spawnedObject)
|
||||
{
|
||||
GameObject spawnedObjectParent = new GameObject("SpawnedModelParent");
|
||||
spawnedObjectParent.transform.parent = modelSpawnPoint;
|
||||
spawnedObjectParent.transform.position = modelSpawnPoint.transform.position;
|
||||
Rigidbody rigidbody = spawnedObjectParent.AddComponent<Rigidbody>();
|
||||
rigidbody.isKinematic = true;
|
||||
|
||||
//spawnedObject.AddComponent<NetworkObject>();
|
||||
//spawnedObject.AddComponent<NetworkTransform>();
|
||||
|
||||
MeshCollider spawnedObjectCollider = spawnedObject.GetComponent<MeshCollider>();
|
||||
spawnedObjectCollider.convex = false;
|
||||
spawnedObject.transform.parent = spawnedObjectParent.transform;
|
||||
spawnedObject.transform.position = spawnedObjectParent.transform.position;
|
||||
spawnedObject.tag = shapeScannerTag;
|
||||
|
||||
spawnedObjectParent.AddComponent<TwoHandScaleGrabInteractable>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7000d3fd17422c74e9f86757bc8529f0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,141 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
[Serializable]
|
||||
public class BoolRow
|
||||
{
|
||||
public List<bool> cells = new List<bool>();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class ShapeScannerConfiguration
|
||||
{
|
||||
public int columns = 6;
|
||||
public float requiredCorrectPercentage = 80.0f;
|
||||
public List<BoolRow> rows = new List<BoolRow>();
|
||||
}
|
||||
|
||||
|
||||
public class ShapeScanner : MonoBehaviour
|
||||
{
|
||||
public List<ShapeScannerConfiguration> configurations = new List<ShapeScannerConfiguration>();
|
||||
public ShapeScannerRay rayPrefab;
|
||||
public Transform raySpawnCorner1;
|
||||
public Transform raySpawnCorner2;
|
||||
public Transform rayParent;
|
||||
public TextMeshProUGUI currentConfigurationDisplay;
|
||||
public TextMeshProUGUI correctPercentageDisplay;
|
||||
|
||||
public Material requiredAndActive;
|
||||
public Material requiredAndPassive;
|
||||
public Material notRequiredAndActive;
|
||||
public Material notRequiredAndPassive;
|
||||
|
||||
private List<GameObject> existingRays;
|
||||
private float raySpawnDistanceX;
|
||||
private float raySpawnDistanceZ;
|
||||
private int currentConfiguration;
|
||||
private int rayCount;
|
||||
private int correctRayStates;
|
||||
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
existingRays = new List<GameObject>();
|
||||
raySpawnDistanceX = raySpawnCorner2.localPosition.x - raySpawnCorner1.localPosition.x;
|
||||
raySpawnDistanceZ = raySpawnCorner2.localPosition.z - raySpawnCorner1.localPosition.z;
|
||||
|
||||
currentConfiguration = 0;
|
||||
InitializeConfiguration();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void InitializeConfiguration()
|
||||
{
|
||||
// Delete all existing rays first
|
||||
foreach (GameObject ray in existingRays)
|
||||
{
|
||||
Destroy(ray);
|
||||
}
|
||||
|
||||
ShapeScannerConfiguration configuration = configurations[currentConfiguration];
|
||||
int rayRowCount = configuration.rows.Count;
|
||||
for (int i = 0; i < rayRowCount; i++)
|
||||
{
|
||||
float rayPosX = raySpawnCorner1.localPosition.x + i * raySpawnDistanceX / (rayRowCount - 1);
|
||||
for (int j = 0; j < rayRowCount; j++)
|
||||
{
|
||||
// Local position
|
||||
float rayPosZ = raySpawnCorner1.localPosition.z + j * raySpawnDistanceZ / (rayRowCount - 1);
|
||||
Vector3 rayPos = new Vector3(rayPosX, 0, rayPosZ);
|
||||
ShapeScannerRay ray = Instantiate(rayPrefab, rayParent);
|
||||
ray.transform.localPosition = rayPos;
|
||||
existingRays.Add(ray.gameObject);
|
||||
|
||||
bool rayCollisionRequired = configuration.rows[i].cells[j];
|
||||
if (rayCollisionRequired)
|
||||
{
|
||||
ray.Initialize(this, rayCollisionRequired, requiredAndActive, requiredAndPassive);
|
||||
}
|
||||
else
|
||||
{
|
||||
ray.Initialize(this, rayCollisionRequired, notRequiredAndActive, notRequiredAndPassive);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Count total rays and required collision rays
|
||||
rayCount = configuration.rows.SelectMany(row => row.cells).Count();
|
||||
correctRayStates = configuration.rows.SelectMany(row => row.cells).Count(cell => !cell);
|
||||
UpdateDisplay(calculateCorrectPercentage());
|
||||
}
|
||||
|
||||
private float calculateCorrectPercentage()
|
||||
{
|
||||
return Mathf.RoundToInt((float)correctRayStates / rayCount * 100);
|
||||
}
|
||||
|
||||
public void IncrementCorrectRayCount()
|
||||
{
|
||||
correctRayStates++;
|
||||
float correctPercentage = calculateCorrectPercentage();
|
||||
if (correctPercentage >= configurations[currentConfiguration].requiredCorrectPercentage)
|
||||
{
|
||||
UpdateCurrentConfigurationDisplay(currentConfiguration + 1);
|
||||
if (currentConfiguration + 1 < configurations.Count)
|
||||
{
|
||||
currentConfiguration++;
|
||||
InitializeConfiguration();
|
||||
} else
|
||||
{
|
||||
Debug.Log("Shape checker completed");
|
||||
}
|
||||
}
|
||||
UpdateDisplay(correctPercentage);
|
||||
}
|
||||
|
||||
public void DecrementCorrectRayCount()
|
||||
{
|
||||
correctRayStates--;
|
||||
UpdateDisplay(calculateCorrectPercentage());
|
||||
}
|
||||
|
||||
private void UpdateDisplay(float percentage)
|
||||
{
|
||||
correctPercentageDisplay.text = Mathf.Round(percentage).ToString() + " %";
|
||||
}
|
||||
|
||||
private void UpdateCurrentConfigurationDisplay(int confNumber)
|
||||
{
|
||||
currentConfigurationDisplay.text = confNumber.ToString() + " / " + configurations.Count;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b2226de466bbe814d8bfe0cb0fce83f6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,65 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class ShapeScannerRay : MonoBehaviour
|
||||
{
|
||||
public Material _activeMaterial;
|
||||
public Material _passiveMaterial;
|
||||
public string scannableTag = "ShapeScannable";
|
||||
|
||||
private ShapeScanner _scanner;
|
||||
private MeshRenderer meshRenderer;
|
||||
private bool _collisionRequired;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
meshRenderer = GetComponent<MeshRenderer>();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void Initialize(ShapeScanner scanner, bool collisionRequired, Material activeMaterial, Material passiveMaterial)
|
||||
{
|
||||
_scanner = scanner;
|
||||
_collisionRequired = collisionRequired;
|
||||
_activeMaterial = activeMaterial;
|
||||
_passiveMaterial = passiveMaterial;
|
||||
meshRenderer.material = _passiveMaterial;
|
||||
}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (other.gameObject.tag == scannableTag)
|
||||
{
|
||||
meshRenderer.material = _activeMaterial;
|
||||
if (_collisionRequired)
|
||||
{
|
||||
_scanner.IncrementCorrectRayCount();
|
||||
} else
|
||||
{
|
||||
_scanner.DecrementCorrectRayCount();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
if (other.gameObject.tag == "ShapeScannable")
|
||||
{
|
||||
meshRenderer.material = _passiveMaterial;
|
||||
if (_collisionRequired)
|
||||
{
|
||||
_scanner.DecrementCorrectRayCount();
|
||||
} else
|
||||
{
|
||||
_scanner.IncrementCorrectRayCount();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db942dc95bda5a149b7e9358de43a923
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,88 @@
|
||||
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using UnityEngine.XR.Interaction.Toolkit;
|
||||
|
||||
public class TwoHandScaleGrabInteractable : XRGrabInteractable
|
||||
{
|
||||
[Header("Two-Hand Scaling")]
|
||||
public float minScale = 0.1f;
|
||||
public float maxScale = 5f;
|
||||
public float scaleLerpSpeed = 0f;
|
||||
|
||||
private Transform scalingTransform;
|
||||
private float initialHandsDistance;
|
||||
private Vector3 initialScale;
|
||||
private bool twoHandsGrabbing;
|
||||
|
||||
void Start()
|
||||
{
|
||||
selectMode = InteractableSelectMode.Multiple;
|
||||
useDynamicAttach = true;
|
||||
reinitializeDynamicAttachEverySingleGrab = false;
|
||||
|
||||
scalingTransform = transform.GetChild(0);
|
||||
}
|
||||
|
||||
protected override void OnSelectEntered(SelectEnterEventArgs args)
|
||||
{
|
||||
base.OnSelectEntered(args);
|
||||
UpdateTwoHandState();
|
||||
}
|
||||
|
||||
protected override void OnSelectExited(SelectExitEventArgs args)
|
||||
{
|
||||
Debug.Log("current local scale: " + transform.localScale);
|
||||
base.OnSelectExited(args);
|
||||
UpdateTwoHandState();
|
||||
}
|
||||
|
||||
void UpdateTwoHandState()
|
||||
{
|
||||
if (interactorsSelecting.Count >= 2)
|
||||
{
|
||||
var a = interactorsSelecting[0];
|
||||
var b = interactorsSelecting[1];
|
||||
|
||||
var pA = a.GetAttachTransform(this).position;
|
||||
var pB = b.GetAttachTransform(this).position;
|
||||
|
||||
initialHandsDistance = Vector3.Distance(pA, pB);
|
||||
initialScale = scalingTransform.localScale;
|
||||
twoHandsGrabbing = initialHandsDistance > 0.0001f;
|
||||
}
|
||||
else
|
||||
{
|
||||
twoHandsGrabbing = false;
|
||||
}
|
||||
}
|
||||
|
||||
public override void ProcessInteractable(XRInteractionUpdateOrder.UpdatePhase updatePhase)
|
||||
{
|
||||
base.ProcessInteractable(updatePhase);
|
||||
|
||||
if (!twoHandsGrabbing || interactorsSelecting.Count < 2 || initialHandsDistance <= 0.0001f)
|
||||
return;
|
||||
var a = interactorsSelecting[0];
|
||||
var b = interactorsSelecting[1];
|
||||
|
||||
var pA = a.GetAttachTransform(this).position;
|
||||
var pB = b.GetAttachTransform(this).position;
|
||||
|
||||
float current = Vector3.Distance(pA, pB);
|
||||
if (current <= 0.0001f)
|
||||
return;
|
||||
|
||||
float ratio = current / initialHandsDistance;
|
||||
Debug.Log("distance ratio: " + ratio);
|
||||
|
||||
Vector3 desired = initialScale * ratio;
|
||||
float uniform = Mathf.Clamp(desired.x, minScale, maxScale);
|
||||
desired = new Vector3(uniform, uniform, uniform);
|
||||
|
||||
if (scaleLerpSpeed > 0f)
|
||||
desired = Vector3.Lerp(transform.localScale, desired, Time.deltaTime * scaleLerpSpeed);
|
||||
|
||||
scalingTransform.localScale = desired;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 22c2ea15df0386746b1b1bc7b58bced7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -2,7 +2,6 @@ using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -10,16 +9,16 @@ public class TrellisClient : MonoBehaviour
|
||||
{
|
||||
public static TrellisClient Instance { get; private set; }
|
||||
|
||||
public string TRELLIS_BASE_URL;
|
||||
|
||||
private HttpClient httpClient;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
httpClient = new HttpClient();
|
||||
httpClient.BaseAddress = new Uri(TRELLIS_BASE_URL);
|
||||
httpClient.BaseAddress = new Uri(ConfigManager.Instance.Config.TrellisUrl);
|
||||
|
||||
Instance = this;
|
||||
|
||||
TestConnection();
|
||||
}
|
||||
|
||||
// Start is called before the first frame update
|
||||
@@ -34,12 +33,19 @@ public class TrellisClient : MonoBehaviour
|
||||
|
||||
}
|
||||
|
||||
private async void TestConnection()
|
||||
{
|
||||
var statusResp = await httpClient.GetAsync("status");
|
||||
Debug.Log("Trellis status: " + statusResp.StatusCode);
|
||||
}
|
||||
|
||||
|
||||
public async Task<byte[]> GenerateModel(
|
||||
string imageBase64,
|
||||
int seed = 42,
|
||||
int pollIntervalMs = 1000)
|
||||
{
|
||||
int seed = UnityEngine.Random.Range(0, 999999);
|
||||
|
||||
// --- Set generation parameters (form-encoded, like Python requests.post(data=params)) ---
|
||||
var form = new Dictionary<string, string>
|
||||
{
|
||||
|
||||
@@ -35,7 +35,6 @@ public class NPCController : MonoBehaviour
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
Debug.Log("Collided with " + other);
|
||||
KbmController controller = other.GetComponent<KbmController>();
|
||||
XROrigin playerOrigin = other.GetComponent<XROrigin>();
|
||||
if (controller != null)
|
||||
|
||||
14
Assets/_PROJECT/glTFPbrMetallicRoughness.shadervariants
Normal file
14
Assets/_PROJECT/glTFPbrMetallicRoughness.shadervariants
Normal file
@@ -0,0 +1,14 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!200 &20000000
|
||||
ShaderVariantCollection:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: glTFPbrMetallicRoughness
|
||||
m_Shaders:
|
||||
- first: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122,
|
||||
type: 3}
|
||||
second:
|
||||
variants: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b852f2aeb9fb71a4aaab9e2d500dc3dc
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 20000000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
Binary file not shown.
@@ -169,7 +169,7 @@
|
||||
{
|
||||
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||
"key": "ShapeBuilder.ActiveShapeIndex",
|
||||
"value": "{\"m_Value\":2}"
|
||||
"value": "{\"m_Value\":11}"
|
||||
},
|
||||
{
|
||||
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||
@@ -189,7 +189,7 @@
|
||||
{
|
||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||
"key": "ShapeBuilder.LastSize",
|
||||
"value": "{\"m_Value\":{\"x\":49.08480453491211,\"y\":0.10000000149011612,\"z\":-30.85292625427246}}"
|
||||
"value": "{\"m_Value\":{\"x\":1.3506088256835938,\"y\":0.41489124298095705,\"z\":1.3857231140136719}}"
|
||||
},
|
||||
{
|
||||
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||
@@ -246,6 +246,21 @@
|
||||
"key": "ShapeBuilder.Plane",
|
||||
"value": "{}"
|
||||
},
|
||||
{
|
||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||
"key": "ShapeBuilder.Prism",
|
||||
"value": "{}"
|
||||
},
|
||||
{
|
||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||
"key": "ShapeBuilder.Torus",
|
||||
"value": "{}"
|
||||
},
|
||||
{
|
||||
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||
"key": "ShapeBuilder.Pipe",
|
||||
"value": "{}"
|
||||
},
|
||||
{
|
||||
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
|
||||
"key": "uv.uvEditorGridSnapIncrement",
|
||||
|
||||
Binary file not shown.
BIN
ProjectSettings/TagManager.asset
LFS
BIN
ProjectSettings/TagManager.asset
LFS
Binary file not shown.
Reference in New Issue
Block a user