Merge branch 'Add-New-Modules' into 'main'

Fully added gripper, distance, IMU, and display modules

See merge request capstone-group2/ui!11
This commit is contained in:
Christen Wong
2026-03-03 21:32:52 -05:00
583 changed files with 63336 additions and 50269 deletions

BIN
.DS_Store vendored

Binary file not shown.

BIN
Assets/.DS_Store vendored

Binary file not shown.

419
Assets/ControlPanel.cs Normal file
View File

@@ -0,0 +1,419 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class ControlPanel : MonoBehaviour
{
[Header("Core UI (assign in Inspector)")]
public TMP_InputField inputField;
public TMP_Dropdown directionDropdown;
public Button button; // existing Send/Rotate button in hierarchy
private enum Mode { None, DC, Display, Speaker }
private Mode _mode = Mode.None;
private DCMotorModule _dc;
private DisplayModule _display;
private SpeakerModule _speaker;
private string _savedDCInput = "";
private int _savedDirectionIndex = 0;
private string _savedDisplayInput = "";
// Found automatically (no hierarchy edits)
private TextMeshProUGUI _caption; // child "DegreesCaption"
private TextMeshProUGUI _buttonText; // child "RotateButton/Text (TMP)"
private GameObject _directionCaptionGO;
private GameObject _directionDropdownGO;
// Created in code (Speaker mode only)
private Button _uploadButton;
private TextMeshProUGUI _uploadButtonText;
private Button _playButton;
private TextMeshProUGUI _playButtonText;
private void Awake()
{
CacheUIFromHierarchy();
// Create these once; hide unless Speaker mode
CreateUploadButtonIfNeeded();
CreatePlayButtonIfNeeded();
if (button != null)
{
button.onClick.RemoveAllListeners();
button.onClick.AddListener(OnMainButtonClicked);
}
if (inputField != null)
{
inputField.onValueChanged.AddListener(_ => CacheCurrentInput());
inputField.onEndEdit.AddListener(_ => CacheCurrentInput());
}
if (directionDropdown != null)
{
directionDropdown.onValueChanged.AddListener(v =>
{
if (_mode == Mode.DC) _savedDirectionIndex = v;
});
}
}
public void Initialize(ModuleBase module)
{
CacheCurrentInput();
_dc = module as DCMotorModule;
_display = module as DisplayModule;
_speaker = module as SpeakerModule;
if (_dc != null) { SwitchMode(Mode.DC); gameObject.SetActive(true); return; }
if (_display != null) { SwitchMode(Mode.Display); gameObject.SetActive(true); return; }
if (_speaker != null) { SwitchMode(Mode.Speaker); gameObject.SetActive(true); return; }
HidePanel();
}
public void HidePanel()
{
CacheCurrentInput();
gameObject.SetActive(false);
_mode = Mode.None;
_dc = null;
_display = null;
_speaker = null;
SetUploadVisible(false);
SetPlayVisible(false);
}
private void CacheUIFromHierarchy()
{
var captionT = transform.Find("DegreesCaption");
if (captionT != null) _caption = captionT.GetComponent<TextMeshProUGUI>();
var buttonTextT = transform.Find("RotateButton/Text (TMP)");
if (buttonTextT != null) _buttonText = buttonTextT.GetComponent<TextMeshProUGUI>();
var dirCaptionT = transform.Find("DirectionCaption");
if (dirCaptionT != null) _directionCaptionGO = dirCaptionT.gameObject;
var dirDropdownT = transform.Find("DirectionDropdown");
if (dirDropdownT != null) _directionDropdownGO = dirDropdownT.gameObject;
}
private void SwitchMode(Mode newMode)
{
CacheCurrentInput();
_mode = newMode;
if (_mode == Mode.DC)
{
SetCaption("Degrees");
SetCaptionVisible(true);
SetMainButtonText("Rotate");
SetDirectionVisible(true);
SetInputVisible(true);
SetUploadVisible(false);
SetPlayVisible(false);
if (inputField != null)
{
inputField.readOnly = false;
inputField.SetTextWithoutNotify(_savedDCInput);
}
if (directionDropdown != null)
directionDropdown.SetValueWithoutNotify(_savedDirectionIndex);
}
else if (_mode == Mode.Display)
{
SetCaption("Text");
SetCaptionVisible(true);
SetMainButtonText("Send");
SetDirectionVisible(false);
SetInputVisible(true);
SetUploadVisible(false);
SetPlayVisible(false);
if (inputField != null)
{
inputField.readOnly = false;
string toShow = _savedDisplayInput;
if (_display != null && !string.IsNullOrEmpty(_display.displayText))
toShow = _display.displayText;
inputField.SetTextWithoutNotify(toShow);
}
}
else if (_mode == Mode.Speaker)
{
// Speaker UI: no input field (removes the white box behind buttons)
SetMainButtonText("Send Audio");
SetCaptionVisible(false);
SetDirectionVisible(false);
SetInputVisible(false);
// Show speaker buttons
SetUploadVisible(true);
SetPlayVisible(true);
}
}
private void SetCaption(string text)
{
if (_caption != null) _caption.text = text;
}
private void SetMainButtonText(string text)
{
if (_buttonText != null) _buttonText.text = text;
}
private void SetDirectionVisible(bool visible)
{
if (_directionCaptionGO != null) _directionCaptionGO.SetActive(visible);
if (_directionDropdownGO != null) _directionDropdownGO.SetActive(visible);
}
private void SetInputVisible(bool visible)
{
if (inputField != null && inputField.gameObject.activeSelf != visible)
inputField.gameObject.SetActive(visible);
}
private void CacheCurrentInput()
{
if (inputField == null) return;
if (_mode == Mode.DC)
{
_savedDCInput = inputField.text;
if (directionDropdown != null) _savedDirectionIndex = directionDropdown.value;
}
else if (_mode == Mode.Display)
{
_savedDisplayInput = inputField.text;
}
}
private void OnMainButtonClicked()
{
if (_mode == Mode.DC)
{
if (_dc == null) return;
if (!float.TryParse(inputField.text, out float degrees))
{
Debug.LogWarning("ControlPanel: Invalid degree input.");
return;
}
int direction = (directionDropdown != null && directionDropdown.value == 0) ? 1 : -1;
_dc.Rotate(degrees, direction);
}
else if (_mode == Mode.Display)
{
if (_display == null) return;
_display.SetDisplayText(inputField != null ? inputField.text : "");
}
else if (_mode == Mode.Speaker)
{
if (_speaker == null) return;
_speaker.SendAudioToHardware(); // Send Audio = upload to hardware (your implementation)
}
}
// -------------------------
// Styling helpers (copy Send button look)
// -------------------------
private void CopyButtonStyle(Button source, Button target)
{
if (source == null || target == null) return;
// Button settings
target.transition = source.transition;
target.colors = source.colors;
target.spriteState = source.spriteState;
target.navigation = source.navigation;
target.interactable = source.interactable;
// Image settings
var srcImg = source.GetComponent<Image>();
var dstImg = target.GetComponent<Image>();
if (srcImg != null && dstImg != null)
{
dstImg.sprite = srcImg.sprite;
dstImg.type = srcImg.type;
dstImg.pixelsPerUnitMultiplier = srcImg.pixelsPerUnitMultiplier;
dstImg.material = srcImg.material;
dstImg.color = srcImg.color;
dstImg.raycastTarget = srcImg.raycastTarget;
}
}
private void CopyTMPStyle(TextMeshProUGUI source, TextMeshProUGUI target)
{
if (source == null || target == null) return;
target.font = source.font;
target.fontSharedMaterial = source.fontSharedMaterial;
target.fontStyle = source.fontStyle;
target.fontSize = source.fontSize;
target.enableAutoSizing = source.enableAutoSizing;
target.color = source.color;
target.enableVertexGradient = source.enableVertexGradient;
target.alignment = source.alignment;
target.enableWordWrapping = source.enableWordWrapping;
target.richText = source.richText;
}
// -------------------------
// Upload button (code-created)
// -------------------------
private void CreateUploadButtonIfNeeded()
{
if (_uploadButton != null) return;
var go = new GameObject("UploadButton");
go.transform.SetParent(transform, false);
var img = go.AddComponent<Image>();
img.raycastTarget = true;
_uploadButton = go.AddComponent<Button>();
_uploadButton.onClick.AddListener(OnUploadClicked);
// Copy Send button look
CopyButtonStyle(button, _uploadButton);
var textGo = new GameObject("Text (TMP)");
textGo.transform.SetParent(go.transform, false);
_uploadButtonText = textGo.AddComponent<TextMeshProUGUI>();
_uploadButtonText.text = "Upload Audio";
// Copy Send text look
CopyTMPStyle(_buttonText, _uploadButtonText);
_uploadButtonText.alignment = TextAlignmentOptions.Center;
// Layout: above Play
var rt = go.GetComponent<RectTransform>();
rt.anchorMin = new Vector2(0.5f, 0f);
rt.anchorMax = new Vector2(0.5f, 0f);
rt.pivot = new Vector2(0.5f, 0f);
rt.sizeDelta = button != null ? button.GetComponent<RectTransform>().sizeDelta : new Vector2(180f, 40f);
rt.anchoredPosition = new Vector2(0f, 110f);
var trt = textGo.GetComponent<RectTransform>();
trt.anchorMin = Vector2.zero;
trt.anchorMax = Vector2.one;
trt.offsetMin = Vector2.zero;
trt.offsetMax = Vector2.zero;
go.SetActive(false);
}
private void SetUploadVisible(bool visible)
{
if (_uploadButton != null && _uploadButton.gameObject.activeSelf != visible)
_uploadButton.gameObject.SetActive(visible);
}
private void OnUploadClicked()
{
if (_speaker == null) return;
string path = OpenAudioFilePicker();
if (string.IsNullOrEmpty(path)) return;
_speaker.SetAudioFile(path);
// If you want to display filename somewhere without the input field,
// we can put it in the caption temporarily or add a TMP label in code.
}
// -------------------------
// Play button (code-created)
// -------------------------
private void CreatePlayButtonIfNeeded()
{
if (_playButton != null) return;
var go = new GameObject("PlayButton");
go.transform.SetParent(transform, false);
var img = go.AddComponent<Image>();
img.raycastTarget = true;
_playButton = go.AddComponent<Button>();
_playButton.onClick.AddListener(OnPlayClicked);
// Copy Send button look
CopyButtonStyle(button, _playButton);
var textGo = new GameObject("Text (TMP)");
textGo.transform.SetParent(go.transform, false);
_playButtonText = textGo.AddComponent<TextMeshProUGUI>();
_playButtonText.text = "Play Audio";
// Copy Send text look
CopyTMPStyle(_buttonText, _playButtonText);
_playButtonText.alignment = TextAlignmentOptions.Center;
// Layout: between Upload and Send
var rt = go.GetComponent<RectTransform>();
rt.anchorMin = new Vector2(0.5f, 0f);
rt.anchorMax = new Vector2(0.5f, 0f);
rt.pivot = new Vector2(0.5f, 0f);
rt.sizeDelta = button != null ? button.GetComponent<RectTransform>().sizeDelta : new Vector2(180f, 40f);
rt.anchoredPosition = new Vector2(0f, 60f);
var trt = textGo.GetComponent<RectTransform>();
trt.anchorMin = Vector2.zero;
trt.anchorMax = Vector2.one;
trt.offsetMin = Vector2.zero;
trt.offsetMax = Vector2.zero;
go.SetActive(false);
}
private void SetPlayVisible(bool visible)
{
if (_playButton != null && _playButton.gameObject.activeSelf != visible)
_playButton.gameObject.SetActive(visible);
}
private void OnPlayClicked()
{
if (_speaker == null) return;
_speaker.PlayAudioOnHardware();
}
// -------------------------
// File Picker (Editor + builds via SFB)
// -------------------------
private string OpenAudioFilePicker()
{
#if UNITY_EDITOR
return UnityEditor.EditorUtility.OpenFilePanel("Select audio file", "", "wav,mp3,ogg");
#else
var extensions = new[]
{
new SFB.ExtensionFilter("Audio Files", "wav", "mp3", "ogg"),
new SFB.ExtensionFilter("All Files", "*")
};
string[] paths = SFB.StandaloneFileBrowser.OpenFilePanel("Select audio file", "", extensions, false);
return (paths != null && paths.Length > 0) ? paths[0] : "";
#endif
}
private void SetCaptionVisible(bool visible)
{
if (_caption != null && _caption.gameObject.activeSelf != visible)
_caption.gameObject.SetActive(visible);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a8cea04e2e0d1409ab7a37c54fa2c98e

View File

@@ -1,41 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class DCMotorControlPanel : MonoBehaviour
{
public TMP_InputField degreesInputField;
public TMP_Dropdown directionDropdown;
public Button rotateButton;
private DCMotorModule currentDCModule;
public void Initialize(DCMotorModule DCModule)
{
currentDCModule = DCModule;
gameObject.SetActive(true);
rotateButton.onClick.RemoveAllListeners();
rotateButton.onClick.AddListener(HandleRotateClicked);
}
public void HandleRotateClicked()
{
// Parse degrees
if (!float.TryParse(degreesInputField.text, out float degrees))
{
Debug.LogWarning("Invalid degree input");
return;
}
// Determine direction
int direction = directionDropdown.value == 0 ? 1 : -1;
currentDCModule.Rotate(degrees, direction);
}
public void HidePanel()
{
gameObject.SetActive(false);
}
}

View File

@@ -6,31 +6,13 @@ using UnityEngine.UI;
public class DCMotorModule : ModuleBase public class DCMotorModule : ModuleBase
{ {
private static DCMotorControlPanel motorControlPanel; private static ControlPanel motorControlPanel;
public Transform motorShaft; public Transform motorShaft;
public float rotationSpeed = 90f; public float rotationSpeed = 90f;
private float targetPosition = 0f; private float targetPosition = 0f;
public override string moduleType => "DC";
public void Start() public override string moduleName => "DC Module";
{
if (motorControlPanel == null)
{
motorControlPanel = FindObjectOfType<DCMotorControlPanel>(true);
}
}
public override void OnSelect()
{
if (motorControlPanel != null)
motorControlPanel.Initialize(this);
}
public override void DeSelect()
{
if (motorControlPanel != null)
motorControlPanel.HidePanel();
}
public void Rotate(float degrees, int direction) public void Rotate(float degrees, int direction)
{ {

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: DefaultVolumeProfile
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Runtime::UnityEngine.Rendering.VolumeProfile
components: []

View File

@@ -1,8 +1,8 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 3f0fd52466ec6464187d4ea1c8b6f6f9 guid: ea11c74be460e4a5a8c584373e7ef78a
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 2100000 mainObjectFileID: 11400000
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:

21
Assets/DisplayModule.cs Normal file
View File

@@ -0,0 +1,21 @@
using UnityEngine;
public class DisplayModule : ModuleBase
{
public string displayText = "";
public override string moduleType => "Display";
public override string moduleName => "Display Module";
public void SetDisplayText(string text)
{
displayText = text;
SendToDisplayHardware(text);
}
private void SendToDisplayHardware(string text)
{
// Replace with actual hardware communication logic
Debug.Log($"[DisplayModule] Sending display text: {text}");
// Example: ControlLibrary.send_display_text(Int32.Parse(moduleID), text);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 784f95ab01dbf4561a8608c4b0d20705

View File

@@ -0,0 +1,21 @@
public class DistanceSensorModule : ModuleBase
{
public bool objectDetected;
public float distanceMeters;
public string[] infoLines = new string[0];
public override string moduleType => "Distance";
public override string moduleName => "Distance Sensor Module";
void Update()
{
// Replace with your ControlLibrary call pattern
// var reading = ControlLibrary.get_distance(...)
if (!objectDetected)
infoLines = new[] {"Object: Not detected" };
else
infoLines = new[] { "Object: Detected", $"Distance: {distanceMeters:F2} m" };
}
public string[] GetInfoLines() => infoLines;
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e4735e9a5ae30490bba1dc35e4603bce

View File

@@ -21,5 +21,6 @@ public enum ModuleType : sbyte
SPLITTER_6 = 14, SPLITTER_6 = 14,
SPLITTER_7 = 15, SPLITTER_7 = 15,
SPLITTER_8 = 16, SPLITTER_8 = 16,
POWER = 17,
}; };

89
Assets/GripperModule.cs Normal file
View File

@@ -0,0 +1,89 @@
using UnityEngine;
public class GripperModule : ServoMotorModule
{
[Header("Pincer Pivots")]
public Transform leftPincerPivot;
public Transform rightPincerPivot;
[Header("Gripper Settings")]
[Tooltip("Max separation between pincers (meters). 0.04 = 4 cm")]
public float maxPincerDistance = 0.02f;
public override string servoType => "Gripper";
public override string moduleType => "Gripper";
public override string moduleName => "Gripper Module";
// Cache the original local positions so we don't stomp Y/Z (or any authored offsets).
private Vector3 _leftStartLocalPos;
private Vector3 _rightStartLocalPos;
private Transform _cachedLeft;
private Transform _cachedRight;
private bool _hasCached;
private void CacheStartPositionsIfNeeded()
{
// Re-cache if pivots changed, or we haven't cached yet.
if (!_hasCached || _cachedLeft != leftPincerPivot || _cachedRight != rightPincerPivot)
{
if (leftPincerPivot != null)
_leftStartLocalPos = leftPincerPivot.localPosition;
if (rightPincerPivot != null)
_rightStartLocalPos = rightPincerPivot.localPosition;
_cachedLeft = leftPincerPivot;
_cachedRight = rightPincerPivot;
_hasCached = true;
}
}
public override void MoveArmPivot(float currentAngle)
{
CacheStartPositionsIfNeeded();
// Map angle 0..180 to 0..1
float normalized = Mathf.InverseLerp(0f, 180f, currentAngle);
// We move each pincer half the total distance, in opposite directions.
float halfDistance = normalized * (maxPincerDistance * 0.5f);
if (leftPincerPivot != null)
{
Vector3 target = _leftStartLocalPos;
target.x += -halfDistance; // only change local X
leftPincerPivot.localPosition = target;
}
if (rightPincerPivot != null)
{
Vector3 target = _rightStartLocalPos;
target.x += halfDistance; // only change local X
rightPincerPivot.localPosition = target;
}
}
public override void SetAngle(float angle)
{
currentAngle = Mathf.Clamp(angle, 0f, 180f);
MoveArmPivot(currentAngle);
}
public override void InitialSetAngle(float angle)
{
currentAngle = Mathf.Clamp(angle, 0f, 180f);
lastSentAngle = currentAngle;
// Ensure we cache before first move so we preserve the authored offsets.
CacheStartPositionsIfNeeded();
MoveArmPivot(currentAngle);
}
#if UNITY_EDITOR
// Optional but handy: if you tweak pivots/positions in the editor, this helps keep cache accurate.
private void OnValidate()
{
_hasCached = false;
}
#endif
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1a6db86b533054de7ab8e70e45d902c7

8
Assets/HubModule_MMMF.cs Normal file
View File

@@ -0,0 +1,8 @@
using UnityEngine;
public class HubModule_MMMF : HubModule
{
public override string moduleType => "HubMMMF";
public override string moduleName => "Hub Module MMMF";
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1165e4f8774c6497799cf8ca9f3be91d

7
Assets/HubModule_MMMM.cs Normal file
View File

@@ -0,0 +1,7 @@
using UnityEngine;
public class HubModule_MMMM : HubModule
{
public override string moduleType => "HubMMMM";
public override string moduleName => "Hub Module MMMM";
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 010c197661ed94ba09e4fd1451016466

View File

@@ -272,7 +272,7 @@ public class InverseKinematicsController : MonoBehaviour
ModuleBase module = child.GetComponent<ModuleBase>(); ModuleBase module = child.GetComponent<ModuleBase>();
if (module != null) if (module != null)
{ {
BatteryModule battery = child.GetComponent<BatteryModule>(); PowerModule battery = child.GetComponent<PowerModule>();
HubModule hub = child.GetComponent<HubModule>(); HubModule hub = child.GetComponent<HubModule>();
if (battery != null || hub != null) if (battery != null || hub != null)

46
Assets/IMUSensorModule.cs Normal file
View File

@@ -0,0 +1,46 @@
using UnityEngine;
public class IMUSensorModule : ModuleBase
{
[Header("Latest IMU reading (from hardware)")]
public bool hasReading;
public Vector3 eulerDeg; // roll/pitch/yaw or x/y/z depending on your sensor
public Vector3 gyroRadPerSec; // angular velocity
public Vector3 accelMS2; // acceleration
[Header("UI Lines")]
public string[] infoLines = new string[0];
public override string moduleType => "IMU";
public override string moduleName => "IMU Sensor Module";
void Update()
{
// 1) Pull latest reading from your ControlLibrary (pseudo-code)
// Replace this with your real call:
// var reading = ControlLibrary.get_imu(Int32.Parse(moduleID));
// hasReading = reading.valid;
// eulerDeg = reading.eulerDeg;
// gyroRadPerSec = reading.gyro;
// accelMS2 = reading.accel;
// 2) Build UI lines (always safe even if no reading)
if (!hasReading)
{
infoLines = new[]
{
"Status: No data"
};
return;
}
infoLines = new[]
{
"Status: OK",
$"Orientation (deg): X {eulerDeg.x:F1} Y {eulerDeg.y:F1} Z {eulerDeg.z:F1}",
$"Gyro (rad/s): X {gyroRadPerSec.x:F2} Y {gyroRadPerSec.y:F2} Z {gyroRadPerSec.z:F2}",
$"Accel (m/s²): X {accelMS2.x:F2} Y {accelMS2.y:F2} Z {accelMS2.z:F2}",
};
}
public string[] GetInfoLines() => infoLines;
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e530c3065ae04493fad4024b68ecb6d1

View File

@@ -3,10 +3,6 @@ using UnityEngine.UI;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using TMPro; using TMPro;
/// <summary>
/// Unified side panel for LiveView: shows module info and either servo (vertical slider) or DC controls.
/// Attach to ModuleControlSidePanel in the scene; assign refs in inspector.
/// </summary>
public class LiveViewModulePanel : MonoBehaviour public class LiveViewModulePanel : MonoBehaviour
{ {
[Header("Module Info")] [Header("Module Info")]
@@ -17,118 +13,48 @@ public class LiveViewModulePanel : MonoBehaviour
public Slider servoAngleSlider; public Slider servoAngleSlider;
public TextMeshProUGUI servoAngleLabel; public TextMeshProUGUI servoAngleLabel;
[Header("DC Control")] [Header("DC + Display Control (Reused)")]
public GameObject dcControlSection; public GameObject moduleControlSection;
[Header("Panel Layout")] [Header("Panel Layout")]
[Tooltip("Width of the side panel")]
public float panelWidth = 260f; public float panelWidth = 260f;
[Tooltip("Corner radius for rounded corners (0-0.5)")]
[Range(0f, 0.5f)] [Range(0f, 0.5f)]
public float cornerRadius = 0.12f; public float cornerRadius = 0.12f;
[Header("Slider Styling")]
public Color sliderTrackColor = new Color(0.4f, 0.4f, 0.45f, 0.9f);
public Color sliderFillColor = new Color(0.75f, 0.75f, 0.8f, 1f);
public Color sliderHandleColor = new Color(0.95f, 0.95f, 0.98f, 1f);
public Color sliderTextColor = new Color(0.92f, 0.92f, 0.95f, 1f);
private bool _sliderDragging; private bool _sliderDragging;
private DCMotorControlPanel _dcPanel; private ControlPanel panel;
private GameObject sensorTextContainer;
private readonly System.Collections.Generic.List<TextMeshProUGUI> sensorTextLines = new System.Collections.Generic.List<TextMeshProUGUI>();
void Start() void Start()
{ {
CreateSensorTextUI();
if (servoAngleSlider != null) if (servoAngleSlider != null)
{ {
servoAngleSlider.minValue = 0f; servoAngleSlider.minValue = 0f;
servoAngleSlider.maxValue = 180f; servoAngleSlider.maxValue = 180f;
servoAngleSlider.direction = Slider.Direction.BottomToTop; servoAngleSlider.direction = Slider.Direction.BottomToTop;
servoAngleSlider.onValueChanged.AddListener(OnServoSliderChanged); servoAngleSlider.onValueChanged.AddListener(OnServoSliderChanged);
ConfigureSliderForVertical(servoAngleSlider);
var et = servoAngleSlider.GetComponent<EventTrigger>() ?? servoAngleSlider.gameObject.AddComponent<EventTrigger>(); var et = servoAngleSlider.GetComponent<EventTrigger>() ?? servoAngleSlider.gameObject.AddComponent<EventTrigger>();
var begin = new EventTrigger.Entry { eventID = EventTriggerType.BeginDrag }; var begin = new EventTrigger.Entry { eventID = EventTriggerType.BeginDrag };
begin.callback.AddListener(_ => OnServoSliderBeginDrag()); begin.callback.AddListener(_ => _sliderDragging = true);
et.triggers.Add(begin); et.triggers.Add(begin);
var end = new EventTrigger.Entry { eventID = EventTriggerType.EndDrag }; var end = new EventTrigger.Entry { eventID = EventTriggerType.EndDrag };
end.callback.AddListener(_ => OnServoSliderEndDrag()); end.callback.AddListener(_ => _sliderDragging = false);
et.triggers.Add(end); et.triggers.Add(end);
} }
var oldController = FindObjectOfType<ServoModuleUISliderController>(true); // Get ControlPanel from the reused section
if (oldController != null) oldController.enabled = false; panel = moduleControlSection != null ? moduleControlSection.GetComponent<ControlPanel>() : null;
if (panel == null)
panel = FindObjectOfType<ControlPanel>(true);
_dcPanel = dcControlSection != null ? dcControlSection.GetComponent<DCMotorControlPanel>() : null;
if (_dcPanel == null)
_dcPanel = FindObjectOfType<DCMotorControlPanel>(true);
ApplyRoundedMaterial();
UpdatePanel(); UpdatePanel();
} }
void ApplyRoundedMaterial()
{
var img = GetComponent<Image>();
if (img == null || (img.material != null && img.material.shader != null && img.material.shader.name == "UI/RoundedRect")) return;
var shader = Shader.Find("UI/RoundedRect");
if (shader == null) return;
var mat = new Material(shader);
mat.SetFloat("_Radius", cornerRadius);
img.material = mat;
}
void ConfigureSliderForVertical(Slider slider)
{
if (slider == null || servoControlSection == null) return;
var sectionRect = servoControlSection.GetComponent<RectTransform>();
if (sectionRect != null)
EnsureDegreeLabels(sectionRect);
}
void EnsureDegreeLabels(RectTransform sectionRect)
{
SetDegreeLabel(sectionRect, "0deg", "0°", 0, 14);
SetDegreeLabel(sectionRect, "180deg", "180°", 1, -14);
}
void SetDegreeLabel(RectTransform sectionRect, string goName, string text, float anchorY, float posY)
{
var t = sectionRect.Find(goName);
if (t == null)
{
var go = new GameObject(goName);
go.transform.SetParent(sectionRect, false);
var tmp = go.AddComponent<TextMeshProUGUI>();
tmp.text = text;
tmp.fontSize = 16;
tmp.color = Color.white;
tmp.alignment = TextAlignmentOptions.MidlineLeft;
var r = go.GetComponent<RectTransform>();
r.anchorMin = new Vector2(1f, anchorY);
r.anchorMax = new Vector2(1f, anchorY);
r.pivot = new Vector2(0f, 0.5f);
r.anchoredPosition = new Vector2(20, posY);
r.sizeDelta = new Vector2(50, 24);
}
else
{
var tmp = t.GetComponent<TextMeshProUGUI>();
if (tmp != null)
{
tmp.color = Color.white;
tmp.fontSize = 16;
}
var r = t.GetComponent<RectTransform>();
if (r != null)
{
r.anchorMin = new Vector2(1f, anchorY);
r.anchorMax = new Vector2(1f, anchorY);
r.pivot = new Vector2(0f, 0.5f);
r.anchoredPosition = new Vector2(20, posY);
r.sizeDelta = new Vector2(50, 24);
}
}
}
void Update() void Update()
{ {
UpdatePanel(); UpdatePanel();
@@ -142,55 +68,79 @@ public class LiveViewModulePanel : MonoBehaviour
{ {
SetModuleInfo("No module selected"); SetModuleInfo("No module selected");
SetServoSectionActive(false); SetServoSectionActive(false);
SetDCSectionActive(false); SetModuleControlSectionActive(false);
SetSensorTextActive(false);
return; return;
} }
// Info text
string typeName = GetModuleTypeName(selected); string typeName = GetModuleTypeName(selected);
string degreeInfo = GetDegreeInfo(selected); string degreeInfo = GetDegreeInfo(selected);
string info = string.IsNullOrEmpty(degreeInfo) SetModuleInfo(string.IsNullOrEmpty(degreeInfo) ? $"Type: {typeName}" : $"Type: {typeName}\n{degreeInfo}");
? $"Type: {typeName}"
: $"Type: {typeName}\n{degreeInfo}";
SetModuleInfo(info);
var servo = selected as ServoMotorModule; var servo = selected as ServoMotorModule;
var dc = selected as DCMotorModule; var dc = selected as DCMotorModule;
var display = selected as DisplayModule;
var distance = selected as DistanceSensorModule;
var imu = selected as IMUSensorModule;
var speaker = selected as SpeakerModule;
if (servo != null) if (servo != null)
{ {
SetServoSectionActive(true); SetServoSectionActive(true);
SetDCSectionActive(false); SetModuleControlSectionActive(false);
SetSensorTextActive(false);
if (servoAngleSlider != null && !_sliderDragging) if (servoAngleSlider != null && !_sliderDragging)
servoAngleSlider.SetValueWithoutNotify(servo.currentAngle); servoAngleSlider.SetValueWithoutNotify(servo.currentAngle);
return;
} }
else if (dc != null)
if (distance != null)
{ {
SetServoSectionActive(false); SetServoSectionActive(false);
SetDCSectionActive(true); SetModuleControlSectionActive(false);
SetSensorTextActive(true);
SetSensorLines(distance.GetInfoLines()); // implement like IMU or build here
return;
} }
if (imu != null)
{
SetServoSectionActive(false);
SetModuleControlSectionActive(false);
SetSensorTextActive(true);
SetSensorLines(imu.GetInfoLines());
return;
}
// DC or Display both use the same control section
if (dc != null || display != null || speaker != null)
{
SetServoSectionActive(false);
SetModuleControlSectionActive(true);
panel?.Initialize(selected);
return;
}
// Other types
SetServoSectionActive(false);
SetModuleControlSectionActive(false);
SetSensorTextActive(false);
}
void SetModuleControlSectionActive(bool active)
{
if (moduleControlSection == null || panel == null) return;
if (active)
panel.gameObject.SetActive(true);
else else
{ panel.HidePanel();
SetServoSectionActive(false);
SetDCSectionActive(false);
}
}
string GetModuleTypeName(ModuleBase m)
{
if (m is ServoBendModule) return "Servo Bend";
if (m is ServoStraightModule) return "Servo Straight";
if (m is DCMotorModule) return "DC";
if (m is HubModule) return "Hub";
if (m is BatteryModule) return "Battery";
return m.GetType().Name;
}
string GetDegreeInfo(ModuleBase m)
{
var servo = m as ServoMotorModule;
if (servo != null)
return $"Joint: {servo.currentAngle:F1}°";
return "";
} }
void SetModuleInfo(string text) void SetModuleInfo(string text)
@@ -205,30 +155,104 @@ public class LiveViewModulePanel : MonoBehaviour
servoControlSection.SetActive(active); servoControlSection.SetActive(active);
} }
void SetDCSectionActive(bool active)
{
if (dcControlSection != null)
{
if (active && _dcPanel != null)
_dcPanel.gameObject.SetActive(true);
else if (!active && _dcPanel != null)
_dcPanel.HidePanel();
}
}
void OnServoSliderChanged(float value) void OnServoSliderChanged(float value)
{ {
if (ServoMotorModule.selectedModule != null) if (ServoMotorModule.selectedModule != null)
ServoMotorModule.selectedModule.SetAngleAndSendControlLibrary(value); ServoMotorModule.selectedModule.SetAngleAndSendControlLibrary(value);
} }
public void OnServoSliderBeginDrag() void CreateSensorTextUI()
{ {
_sliderDragging = true; if (moduleInfoText == null) return;
var parent = moduleInfoText.transform.parent;
if (parent == null) return;
sensorTextContainer = new GameObject("SensorTextContainer");
sensorTextContainer.transform.SetParent(parent, false);
var src = moduleInfoText.rectTransform;
var rt = sensorTextContainer.AddComponent<RectTransform>();
// Place under the moduleInfoText
rt.anchorMin = src.anchorMin;
rt.anchorMax = src.anchorMax;
rt.pivot = src.pivot;
rt.anchoredPosition = src.anchoredPosition + new Vector2(0f, -70f);
rt.sizeDelta = new Vector2(src.sizeDelta.x, 220f);
sensorTextContainer.SetActive(false);
} }
public void OnServoSliderEndDrag() void SetSensorTextActive(bool active)
{ {
_sliderDragging = false; if (sensorTextContainer != null && sensorTextContainer.activeSelf != active)
sensorTextContainer.SetActive(active);
} }
}
void EnsureSensorLineCount(int count)
{
if (sensorTextContainer == null) return;
while (sensorTextLines.Count < count)
{
var go = new GameObject($"SensorLine{sensorTextLines.Count}");
go.transform.SetParent(sensorTextContainer.transform, false);
var tmp = go.AddComponent<TextMeshProUGUI>();
// Match your UI font + material
tmp.font = moduleInfoText.font;
tmp.fontSharedMaterial = moduleInfoText.fontSharedMaterial;
// Your requested style (like screenshot)
tmp.fontStyle = FontStyles.Bold;
tmp.fontSize = 22f;
tmp.enableAutoSizing = false;
tmp.color = Color.white;
tmp.enableVertexGradient = false;
tmp.alignment = TextAlignmentOptions.TopLeft;
tmp.enableWordWrapping = true;
// Layout: stacked lines
var rt = tmp.rectTransform;
rt.anchorMin = new Vector2(0f, 1f);
rt.anchorMax = new Vector2(1f, 1f);
rt.pivot = new Vector2(0f, 1f);
float lineH = 26f;
float y = -sensorTextLines.Count * lineH;
rt.anchoredPosition = new Vector2(0f, y);
rt.sizeDelta = new Vector2(0f, lineH);
sensorTextLines.Add(tmp);
}
// Hide extras
for (int i = 0; i < sensorTextLines.Count; i++)
sensorTextLines[i].gameObject.SetActive(i < count);
}
void SetSensorLines(string[] lines)
{
if (lines == null) lines = new string[0];
EnsureSensorLineCount(lines.Length);
for (int i = 0; i < lines.Length; i++)
sensorTextLines[i].text = lines[i];
}
string GetModuleTypeName(ModuleBase m)
{
return m != null ? m.moduleName : "Unknown";
}
string GetDegreeInfo(ModuleBase m)
{
var servo = m as ServoMotorModule;
if (servo != null)
return $"Joint: {servo.currentAngle:F1}°";
return "";
}
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: d8d3857da1397e04ea87ea9de7049cc0 guid: ffba4c85108684a0389509888dbb6582
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@@ -0,0 +1,39 @@
%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: ConcreteWall
m_Shader: {fileID: 4800000, guid: 0335a1d8a6f92a5418f172da855570ad, 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: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _Grid:
m_Texture: {fileID: 2800000, guid: 28d78c5517421f047b88352f3b18e8e7, type: 3}
m_Scale: {x: 3, y: 3}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _Falloff: 50
- _GridScale: 3
- _OverlayAmount: 0.876
- __dirty: 1
m_Colors:
- _BaseColor: {r: 0.4745098, g: 0.4745098, b: 0.4745098, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 6d06b159dba9d8d4b89a380ed0742f8b guid: e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 2100000 mainObjectFileID: 2100000

View File

@@ -0,0 +1,110 @@
%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: DarkGreyPlane
m_Shader: {fileID: 4800000, guid: f7ada0af4f174f0694ca6a487b8f543d, 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: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AlphaTex:
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}
- _Cube:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FaceTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Grid:
m_Texture: {fileID: 2800000, guid: 42371d4bc75f5ec43bac646ab93992f9, type: 3}
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}
- _OutlineTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _Bevel: 0.5
- _BevelClamp: 0
- _BevelOffset: 0
- _BevelRoundness: 0
- _BevelWidth: 0
- _BumpFace: 0.5
- _BumpOutline: 0.5
- _CullMode: 0
- _EnableExternalAlpha: 0
- _FaceDilate: 0
- _FaceShininess: 0
- _FaceUVSpeedX: 0
- _FaceUVSpeedY: 0
- _Falloff: 50
- _GlowInner: 0.05
- _GlowOffset: 0
- _GlowOuter: 0.05
- _GlowPower: 0.75
- _GradientScale: 5
- _GridScale: 1
- _OutlineShininess: 0
- _OutlineSoftness: 0
- _OutlineUVSpeedX: 0
- _OutlineUVSpeedY: 0
- _OutlineWidth: 0
- _OverlayAmount: 0
- _PerspectiveFilter: 0.875
- _ScaleRatioA: 1
- _ScaleRatioB: 1
- _ScaleRatioC: 1
- _ScaleX: 1
- _ScaleY: 1
- _ShaderFlags: 0
- _Sharpness: 0
- _TextureHeight: 512
- _TextureWidth: 512
- _VertexOffsetX: 0
- _VertexOffsetY: 0
- _WeightBold: 0.5
- _WeightNormal: 0
- __dirty: 1
m_Colors:
- _BaseColor: {r: 0.9622642, g: 0.27687788, b: 0.27687788, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
- _FaceColor: {r: 0.014150947, g: 0.014150947, b: 0.014150947, a: 1}
- _Flip: {r: 1, g: 1, b: 1, a: 1}
- _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
- _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: e4a69b62e9cf11349b8f27cf46068210 guid: b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 2100000 mainObjectFileID: 2100000

View File

@@ -0,0 +1,31 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WallPanel
m_Shader: {fileID: 4800000, guid: 0335a1d8a6f92a5418f172da855570ad, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _Grid:
m_Texture: {fileID: 2800000, guid: 42371d4bc75f5ec43bac646ab93992f9, type: 3}
m_Scale: {x: 4, y: 4}
m_Offset: {x: 0, y: 0}
m_Floats:
- _Falloff: 50
- _GridScale: 2
- _OverlayAmount: 0.25
- __dirty: 1
m_Colors:
- _BaseColor: {r: 0.88, g: 0.85, b: 0.82, a: 1}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 7d987591a0751784e8e80fb1f73fbf56 guid: 89685fdd28e9649348cebbe3f4081709
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 2100000 mainObjectFileID: 2100000

View File

@@ -1,9 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BatteryModule : ModuleBase
{
public override void OnSelect() { }
public override void DeSelect() { }
}

View File

@@ -25,7 +25,7 @@ Transform:
m_GameObject: {fileID: 3292419760055380793} m_GameObject: {fileID: 3292419760055380793}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0.010896653, y: -0.010896653, z: 0.7070228, w: 0.70702285} m_LocalRotation: {x: 0.010896653, y: -0.010896653, z: 0.7070228, w: 0.70702285}
m_LocalPosition: {x: 0.00030999756, y: -0.050009932, z: -0.0014218215} m_LocalPosition: {x: 0.0003, y: -0.0603, z: -0.0017}
m_LocalScale: {x: 0.049999997, y: 0.049999997, z: 0.05} m_LocalScale: {x: 0.049999997, y: 0.049999997, z: 0.05}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -90,6 +90,11 @@ MeshRenderer:
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
m_RayTracingMode: 2 m_RayTracingMode: 2
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
@@ -111,9 +116,11 @@ MeshRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0} m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &182848113984496985 --- !u!65 &182848113984496985
BoxCollider: BoxCollider:
@@ -226,7 +233,7 @@ MeshFilter:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8274056087524456700} m_GameObject: {fileID: 8274056087524456700}
m_Mesh: {fileID: 8604045607132181640, guid: 02370d6fa17f742f393ad699c6e30f40, type: 3} m_Mesh: {fileID: 8604045607132181640, guid: 119e4c1cb9d084a1fb57a05adbd9f2f2, type: 3}
--- !u!23 &5298970936615407170 --- !u!23 &5298970936615407170
MeshRenderer: MeshRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -244,10 +251,15 @@ MeshRenderer:
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
m_RayTracingMode: 2 m_RayTracingMode: 2
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 7397659539795428015, guid: 02370d6fa17f742f393ad699c6e30f40, type: 3} - {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@@ -265,9 +277,11 @@ MeshRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0} m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &8075788923889194193 --- !u!65 &8075788923889194193
BoxCollider: BoxCollider:

View File

@@ -0,0 +1,305 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &616179061990084746
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3894785354260400709}
- component: {fileID: 946923412110361469}
- component: {fileID: 6264653304202275716}
- component: {fileID: 4130537894133755688}
m_Layer: 0
m_Name: Body1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3894785354260400709
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 616179061990084746}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2783627326708914609}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &946923412110361469
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 616179061990084746}
m_Mesh: {fileID: 8604045607132181640, guid: 0a21c9a89ba814d51b7c11d9863939c3, type: 3}
--- !u!23 &6264653304202275716
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 616179061990084746}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &4130537894133755688
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 616179061990084746}
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: 3
m_Size: {x: 0.004, y: 0.004, z: 0.0032000002}
m_Center: {x: -0.002, y: 0.002, z: 0.0016000001}
--- !u!1 &3750495549667916488
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4779010569454455282}
m_Layer: 0
m_Name: FemaleSocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4779010569454455282
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3750495549667916488}
serializedVersion: 2
m_LocalRotation: {x: -0.001865366, y: 0.7114844, z: -0.0014647663, w: 0.70269793}
m_LocalPosition: {x: -0.0183, y: 0.0191, z: 0.0327}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2783627326708914609}
m_LocalEulerAnglesHint: {x: -0.031, y: 90.712, z: -0.27}
--- !u!1 &6135103762386709878
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5527446418008408362}
- component: {fileID: 3680605652396354334}
- component: {fileID: 8271514092310552988}
- component: {fileID: 599672583422969030}
m_Layer: 0
m_Name: Body2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5527446418008408362
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6135103762386709878}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2783627326708914609}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3680605652396354334
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6135103762386709878}
m_Mesh: {fileID: 5358915128574053833, guid: 0a21c9a89ba814d51b7c11d9863939c3, type: 3}
--- !u!23 &8271514092310552988
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6135103762386709878}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &599672583422969030
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6135103762386709878}
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: 3
m_Size: {x: 0.00374, y: 0.00374, z: 0.00032999998}
m_Center: {x: -0.002, y: 0.002, z: 0.00048500003}
--- !u!1 &9087040773434933035
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2783627326708914609}
- component: {fileID: 310858662465425306}
m_Layer: 0
m_Name: DisplayModule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2783627326708914609
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9087040773434933035}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 2.16157, y: 0.02421, z: 2.26308}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3894785354260400709}
- {fileID: 5527446418008408362}
- {fileID: 4779010569454455282}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &310858662465425306
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9087040773434933035}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 784f95ab01dbf4561a8608c4b0d20705, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
displayText:

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 2521cc0a674dd3d4a9ced7eb5dfc0aa8 guid: 1d13960332e6840458c2d63f616e2774
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@@ -0,0 +1,194 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1299373927565291857
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2969460634438690069}
m_Layer: 0
m_Name: FemaleSocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2969460634438690069
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1299373927565291857}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
m_LocalPosition: {x: -0.0201, y: 0.0142, z: 0.03192}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2462776687001758128}
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
--- !u!1 &4820635649742989172
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2462776687001758128}
- component: {fileID: 3433509114075692554}
m_Layer: 0
m_Name: DistanceSensorModule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2462776687001758128
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4820635649742989172}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3659181811125808760}
- {fileID: 2969460634438690069}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3433509114075692554
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4820635649742989172}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e4735e9a5ae30490bba1dc35e4603bce, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
objectDetected: 0
distanceMeters: 0
infoLines: []
--- !u!1 &5041994602013865196
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3659181811125808760}
- component: {fileID: 6330165846110032911}
- component: {fileID: 1205810105819239206}
- component: {fileID: 6779547454045528934}
m_Layer: 0
m_Name: Body1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3659181811125808760
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5041994602013865196}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2462776687001758128}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &6330165846110032911
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5041994602013865196}
m_Mesh: {fileID: 8604045607132181640, guid: 7e681772ef5614e68a73639cbbae6f05, type: 3}
--- !u!23 &1205810105819239206
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5041994602013865196}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &6779547454045528934
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5041994602013865196}
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: 3
m_Size: {x: 0.0040000007, y: 0.0030000005, z: 0.0032000006}
m_Center: {x: -0.001992371, y: 0.0015000002, z: 0.0016000003}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: e2640158a51d3f140b9a300b124fee3c guid: 71a1ec0b30283422eafea6e72a83d947
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@@ -0,0 +1,424 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3270690827030321342
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2131882659809976159}
- component: {fileID: 3893056113307247657}
m_Layer: 0
m_Name: GripperModule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2131882659809976159
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3270690827030321342}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4055238879951325494}
- {fileID: 4618234774146162606}
- {fileID: 7842677316760799744}
- {fileID: 1416480911444550018}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
--- !u!114 &3893056113307247657
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3270690827030321342}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1a6db86b533054de7ab8e70e45d902c7, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::GripperModule
armPivot: {fileID: 0}
highlightVisual: {fileID: 0}
currentAngle: 0
lastSentAngle: 0
leftPincerPivot: {fileID: 7842677316760799744}
rightPincerPivot: {fileID: 4618234774146162606}
maxPincerDistance: 0.03
--- !u!1 &5982535948374576841
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4055238879951325494}
- component: {fileID: 8420390543342755202}
- component: {fileID: 474393286543427699}
- component: {fileID: 3312004064573752247}
m_Layer: 0
m_Name: Body1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4055238879951325494
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5982535948374576841}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2131882659809976159}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8420390543342755202
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5982535948374576841}
m_Mesh: {fileID: 8604045607132181640, guid: ff94de509dce74d96bc3d1e8d35c56a7, type: 3}
--- !u!23 &474393286543427699
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5982535948374576841}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &3312004064573752247
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5982535948374576841}
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: 3
m_Size: {x: 0.0033000007, y: 0.0026000654, z: 0.0044863285}
m_Center: {x: -0.0016500008, y: 0.0015000071, z: 0.003756836}
--- !u!1 &7913655097161076628
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4618234774146162606}
- component: {fileID: 8675390278053138313}
- component: {fileID: 1869285066420281250}
- component: {fileID: 264498542232158262}
m_Layer: 0
m_Name: Arm1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4618234774146162606
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7913655097161076628}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.0354, y: -0.0006, z: 0.0004}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2131882659809976159}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8675390278053138313
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7913655097161076628}
m_Mesh: {fileID: 5358915128574053833, guid: 4ab1ba74d3fd045f0a6d3d2b6451892b, type: 3}
--- !u!23 &1869285066420281250
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7913655097161076628}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &264498542232158262
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7913655097161076628}
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: 3
m_Size: {x: 0.0032000009, y: 0.0017200008, z: 0.00367}
m_Center: {x: 0.0018000007, y: 0.0015000005, z: -0.00045025878}
--- !u!1 &8525483865450655611
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1416480911444550018}
m_Layer: 0
m_Name: FemaleSocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1416480911444550018
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8525483865450655611}
serializedVersion: 2
m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
m_LocalPosition: {x: -0.01608, y: 0.01436, z: 0.0609}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2131882659809976159}
m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0}
--- !u!1 &9129792589286900196
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7842677316760799744}
- component: {fileID: 4869529897079594387}
- component: {fileID: 6941514631495707207}
- component: {fileID: 535791799247773399}
m_Layer: 0
m_Name: Arm2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7842677316760799744
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9129792589286900196}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 1, w: 0}
m_LocalPosition: {x: 0.0083, y: 0.0296, z: 0.0003}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2131882659809976159}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
--- !u!33 &4869529897079594387
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9129792589286900196}
m_Mesh: {fileID: 5358915128574053833, guid: 4ab1ba74d3fd045f0a6d3d2b6451892b, type: 3}
--- !u!23 &6941514631495707207
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9129792589286900196}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &535791799247773399
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9129792589286900196}
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: 3
m_Size: {x: 0.0032000009, y: 0.0017200008, z: 0.00367}
m_Center: {x: 0.0018000007, y: 0.0015000005, z: -0.00045025878}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: c471d926dd14df447b0b20fa3cb102a0 guid: 839ceb4bec3e147af8e11f2cbe38405e
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@@ -2,8 +2,6 @@ using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class HubModule : ModuleBase public abstract class HubModule : ModuleBase
{ {
public override void OnSelect() { }
public override void DeSelect() { }
} }

View File

@@ -1,11 +1,2 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8f2f97cf35ba04c2692842afd44fa995 guid: 8f2f97cf35ba04c2692842afd44fa995
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,287 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1722399615818003324
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4587194206261523046}
m_Layer: 0
m_Name: MaleSocket3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4587194206261523046
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1722399615818003324}
serializedVersion: 2
m_LocalRotation: {x: 0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: -0.0201, y: -0.0202, z: 0.045}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3170080666506033130}
m_LocalEulerAnglesHint: {x: 90, y: -90, z: 0}
--- !u!1 &3832956782768222763
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3198895037803607166}
m_Layer: 0
m_Name: MaleSocket4
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3198895037803607166
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3832956782768222763}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.7071068, z: -0.7071068, w: 0}
m_LocalPosition: {x: -0.045, y: -0.02029, z: 0.02006}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3170080666506033130}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: -180}
--- !u!1 &4643042175922059076
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2699515204743532535}
m_Layer: 0
m_Name: MaleSocket2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2699515204743532535
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4643042175922059076}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0.0049, y: -0.0196, z: 0.0191}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3170080666506033130}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!1 &6210873077440843193
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3170080666506033130}
- component: {fileID: -480505059275901349}
m_Layer: 0
m_Name: HubModule_MMMM
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3170080666506033130
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6210873077440843193}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8423141809489016840}
- {fileID: 8327258240500989920}
- {fileID: 2699515204743532535}
- {fileID: 4587194206261523046}
- {fileID: 3198895037803607166}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-480505059275901349
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6210873077440843193}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 010c197661ed94ba09e4fd1451016466, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
--- !u!1 &6215686394367246164
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8327258240500989920}
m_Layer: 0
m_Name: MaleSocket1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8327258240500989920
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6215686394367246164}
serializedVersion: 2
m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
m_LocalPosition: {x: -0.0202, y: -0.0197, z: -0.0051}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3170080666506033130}
m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0}
--- !u!1 &6422506334253418019
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8423141809489016840}
- component: {fileID: 4916887436287976360}
- component: {fileID: 5488067890827508766}
- component: {fileID: 8788637569486670128}
m_Layer: 0
m_Name: Body1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8423141809489016840
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6422506334253418019}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3170080666506033130}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!33 &4916887436287976360
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6422506334253418019}
m_Mesh: {fileID: 8604045607132181640, guid: 75fcb9600b53b4feba38c37c6f59c6b1, type: 3}
--- !u!23 &5488067890827508766
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6422506334253418019}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &8788637569486670128
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6422506334253418019}
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: 3
m_Size: {x: 0.005911351, y: 0.0057138843, z: 0.004000001}
m_Center: {x: -0.002014174, y: 0.0019173399, z: 0.0020000006}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 568900de41fc3c6439f6a95cff422d4d guid: 56513ce62d2504919b218e5c1c59b7fe
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@@ -0,0 +1,196 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2509557023265789845
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6613322917549835148}
- component: {fileID: 3028689277512797874}
- component: {fileID: 863393389303865126}
- component: {fileID: 7207123878257967127}
m_Layer: 0
m_Name: Body1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6613322917549835148
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2509557023265789845}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5688845362549546494}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3028689277512797874
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2509557023265789845}
m_Mesh: {fileID: 8604045607132181640, guid: 649bbc984493b417e91518e26718e83c, type: 3}
--- !u!23 &863393389303865126
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2509557023265789845}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &7207123878257967127
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2509557023265789845}
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: 3
m_Size: {x: 0.004, y: 0.003, z: 0.0032000002}
m_Center: {x: -0.002, y: 0.002, z: 0.0016000001}
--- !u!1 &2881032224326081021
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8027982634136713129}
m_Layer: 0
m_Name: FemaleSocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8027982634136713129
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2881032224326081021}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
m_LocalPosition: {x: -0.0199, y: 0.02029, z: 0.0309}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5688845362549546494}
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
--- !u!1 &7670757311786442011
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5688845362549546494}
- component: {fileID: -7379237883156888760}
m_Layer: 0
m_Name: IMUSensorModule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5688845362549546494
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7670757311786442011}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6613322917549835148}
- {fileID: 8027982634136713129}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-7379237883156888760
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7670757311786442011}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e530c3065ae04493fad4024b68ecb6d1, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
hasReading: 0
eulerDeg: {x: 0, y: 0, z: 0}
gyroRadPerSec: {x: 0, y: 0, z: 0}
accelMS2: {x: 0, y: 0, z: 0}
infoLines: []

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 78f1dcd3d1ad14720bec24368d935b13
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,223 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &266408585238236575
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4821719273987100255}
m_Layer: 0
m_Name: FemaleSocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4821719273987100255
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 266408585238236575}
serializedVersion: 2
m_LocalRotation: {x: 0.006214511, y: 0.006214511, z: 0.70707947, w: 0.70707947}
m_LocalPosition: {x: -0.0219, y: -0.0059, z: 0.02312}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2917815422892282183}
m_LocalEulerAnglesHint: {x: 0, y: 1.007, z: 90}
--- !u!1 &345754696597093027
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2121160668400849063}
m_Layer: 0
m_Name: MaleSocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2121160668400849063
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 345754696597093027}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0.7071068, z: -0, w: 0}
m_LocalPosition: {x: -0.0232, y: 0.0399, z: 0.02402}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2917815422892282183}
m_LocalEulerAnglesHint: {x: 180, y: 0, z: -90}
--- !u!1 &5681477249120589453
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2917815422892282183}
- component: {fileID: -8777375893921437079}
m_Layer: 0
m_Name: PowerModule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2917815422892282183
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5681477249120589453}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068}
m_LocalPosition: {x: -0.89659035, y: -0.003384322, z: 0}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2640250676474912634}
- {fileID: 4821719273987100255}
- {fileID: 2121160668400849063}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
--- !u!114 &-8777375893921437079
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5681477249120589453}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 49a8b93f7e3164531b9e4b2818846a49, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
--- !u!1 &8268068020519066474
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2640250676474912634}
- component: {fileID: 7771497960902486818}
- component: {fileID: 6922944829566013587}
- component: {fileID: 95829305916229069}
m_Layer: 0
m_Name: Body1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2640250676474912634
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8268068020519066474}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2917815422892282183}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7771497960902486818
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8268068020519066474}
m_Mesh: {fileID: 8604045607132181640, guid: b8a656ee45f5c4b31b1abf520cd3e327, type: 3}
--- !u!23 &6922944829566013587
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8268068020519066474}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &95829305916229069
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8268068020519066474}
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: 3
m_Size: {x: 0.0045000003, y: 0.0045915223, z: 0.0048}
m_Center: {x: -0.0022500001, y: 0.0017957613, z: 0.0024}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2d0654bf410fb459196f824c861fff6b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -12,10 +12,18 @@ PrefabInstance:
propertyPath: m_Enabled propertyPath: m_Enabled
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 121341841303482219, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
propertyPath: m_Mesh
value:
objectReference: {fileID: 4529524283109666172, guid: e757f7c766a48416c874309da8cac589, type: 3}
- target: {fileID: 3109829847073703039, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3} - target: {fileID: 3109829847073703039, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: ServoBendModuleFinal value: ServoBendModuleFinal
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3298615727327907093, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
propertyPath: m_LocalPosition.x
value: -0.0461
objectReference: {fileID: 0}
- target: {fileID: 3298615727327907093, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3} - target: {fileID: 3298615727327907093, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: 0.012000001 value: 0.012000001
@@ -44,6 +52,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.y propertyPath: m_LocalEulerAnglesHint.y
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4210207941902691209, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, type: 2}
- target: {fileID: 4339017592679235832, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3} - target: {fileID: 4339017592679235832, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: 0.0000024074689 value: 0.0000024074689
@@ -128,6 +140,14 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7917741975462694213, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
propertyPath: m_Mesh
value:
objectReference: {fileID: 4984428347700313237, guid: 927560849e7774691befcadd99ea32af, type: 3}
- target: {fileID: 8899048465141289349, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, type: 2}
m_RemovedComponents: m_RemovedComponents:
- {fileID: 6143875053036137561, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3} - {fileID: 6143875053036137561, guid: 4b60ff46518f54cdea157ba10a27703b, type: 3}
m_RemovedGameObjects: [] m_RemovedGameObjects: []

View File

@@ -41,7 +41,7 @@ MeshFilter:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1585740000427266238} m_GameObject: {fileID: 1585740000427266238}
m_Mesh: {fileID: 8130605235924166793, guid: b250372aec9eb4e9ca58beb5ffff56f2, type: 3} m_Mesh: {fileID: 8130605235924166793, guid: 306af31f5b8794d0798abcbc86000266, type: 3}
--- !u!23 &1094123167717167487 --- !u!23 &1094123167717167487
MeshRenderer: MeshRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -59,10 +59,15 @@ MeshRenderer:
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
m_RayTracingMode: 2 m_RayTracingMode: 2
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 7397659539795428015, guid: b250372aec9eb4e9ca58beb5ffff56f2, type: 3} - {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@@ -80,9 +85,11 @@ MeshRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0} m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &5379513518535446921 --- !u!65 &5379513518535446921
BoxCollider: BoxCollider:
@@ -145,7 +152,7 @@ MeshFilter:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1718181999778927011} m_GameObject: {fileID: 1718181999778927011}
m_Mesh: {fileID: 9193857513607778490, guid: 80d7debcd48164452b7dc26bbb63dd91, type: 3} m_Mesh: {fileID: 4529524283109666172, guid: f50dcf4ddd7d14c829ff862612891d8d, type: 3}
--- !u!23 &5092065077190790493 --- !u!23 &5092065077190790493
MeshRenderer: MeshRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -163,10 +170,15 @@ MeshRenderer:
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
m_RayTracingMode: 2 m_RayTracingMode: 2
m_RayTraceProcedural: 0 m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 7397659539795428015, guid: 80d7debcd48164452b7dc26bbb63dd91, type: 3} - {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@@ -184,9 +196,11 @@ MeshRenderer:
m_AutoUVMaxDistance: 0.5 m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89 m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0} m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &2054521181450425562 --- !u!1 &2054521181450425562
GameObject: GameObject:
@@ -246,7 +260,7 @@ Transform:
m_GameObject: {fileID: 4137737942048637088} m_GameObject: {fileID: 4137737942048637088}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0.04, y: 0, z: 0} m_LocalPosition: {x: 0.0412, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -361,8 +375,8 @@ BoxCollider:
m_ProvidesContacts: 0 m_ProvidesContacts: 0
m_Enabled: 1 m_Enabled: 1
serializedVersion: 3 serializedVersion: 3
m_Size: {x: 0.08327585, y: 0.031800803, z: 0.048330326} m_Size: {x: 0.06908275, y: 0.031800807, z: 0.037269842}
m_Center: {x: 0.007901405, y: -0.0111633865, z: -0.015733082} m_Center: {x: 0.015508813, y: -0.011163387, z: -0.01878771}
--- !u!114 &3409835012615339945 --- !u!114 &3409835012615339945
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -404,7 +418,7 @@ Transform:
m_GameObject: {fileID: 7437332450220906117} m_GameObject: {fileID: 7437332450220906117}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0.5, y: -0.5, z: 0.5, w: 0.5} m_LocalRotation: {x: 0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: -0.01846024, y: 0.011742475, z: -0.027799964} m_LocalPosition: {x: -0.0185, y: 0.011742475, z: -0.0198}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []

View File

@@ -0,0 +1,194 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2129132915235679198
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4518296261177981408}
m_Layer: 0
m_Name: FemaleSocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4518296261177981408
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2129132915235679198}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
m_LocalPosition: {x: -0.0202, y: 0.01977, z: 0.03219}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6865122621445020434}
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
--- !u!1 &7364806464279017071
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6865122621445020434}
- component: {fileID: 6165004530198508495}
m_Layer: 0
m_Name: SpeakerModule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6865122621445020434
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7364806464279017071}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3476968620267983768}
- {fileID: 4518296261177981408}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6165004530198508495
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7364806464279017071}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20afe4b54fe7b42cb97881ff62dd6797, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
audioFilePath:
audioFileName:
audioBytes:
--- !u!1 &8692649955752510689
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3476968620267983768}
- component: {fileID: 4175202012497613128}
- component: {fileID: 4754481417108555804}
- component: {fileID: 2797191861453826670}
m_Layer: 0
m_Name: Body3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3476968620267983768
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8692649955752510689}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6865122621445020434}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4175202012497613128
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8692649955752510689}
m_Mesh: {fileID: 6679289703562662588, guid: 394e8674d183843c0a846fc96e6f793a, type: 3}
--- !u!23 &4754481417108555804
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8692649955752510689}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &2797191861453826670
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8692649955752510689}
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: 3
m_Size: {x: 0.004, y: 0.004, z: 0.0032000002}
m_Center: {x: -0.002, y: 0.002, z: 0.0016000001}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8bcdcbcb5a03245248cb7f883e80d948
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -17,11 +17,11 @@ public class TopologyBuilder : MonoBehaviour
[Header("Topology Selection")] [Header("Topology Selection")]
[Tooltip("Set to true to load from JSON file (for local testing). Set to false to use ControlLibrary.")] [Tooltip("Set to true to load from JSON file (for local testing). Set to false to use ControlLibrary.")]
public bool useJsonFile = false; public bool useJsonFile = true;
[Tooltip("When true, angle commands are not sent to native ControlLibrary - use only for local testing without hardware.")] [Tooltip("When true, angle commands are not sent to native ControlLibrary - use only for local testing without hardware.")]
public bool skipControlLibraryCalls = false; public bool skipControlLibraryCalls = false;
[Tooltip("JSON file name (without .json) in Resources folder. e.g. 'mockData' or 'mockDataSimple'")] [Tooltip("JSON file name (without .json) in Resources folder. e.g. 'mockData' or 'mockDataSimple'")]
public string jsonFileName = "mockData"; public string jsonFileName = "mockDataNewConfig";
public static Dictionary<string, GameObject> idToInstance = new(); public static Dictionary<string, GameObject> idToInstance = new();
public static bool _skipControlLibraryCalls = false; public static bool _skipControlLibraryCalls = false;
@@ -114,6 +114,15 @@ public class TopologyBuilder : MonoBehaviour
case "DC": return ModuleType.DC_MOTOR; case "DC": return ModuleType.DC_MOTOR;
case "Hub": return ModuleType.SPLITTER; case "Hub": return ModuleType.SPLITTER;
case "Battery": return ModuleType.BATTERY; case "Battery": return ModuleType.BATTERY;
case "Power": return ModuleType.POWER;
case "Gripper": return ModuleType.GRIPPER;
case "Display": return ModuleType.DISPLAY;
case "Distance": return ModuleType.DISTANCE_SENSOR;
case "IMU": return ModuleType.IMU;
case "Speaker": return ModuleType.SPEAKER;
case "Splitter2": return ModuleType.SPLITTER_2;
case "Splitter3": return ModuleType.SPLITTER_3;
case "Splitter4": return ModuleType.SPLITTER_4;
default: return ModuleType.SPLITTER; default: return ModuleType.SPLITTER;
} }
} }
@@ -178,6 +187,12 @@ public class TopologyBuilder : MonoBehaviour
} }
servo.InitialSetAngle(module.Degree); servo.InitialSetAngle(module.Degree);
} }
else if (parsedType == ModuleType.GRIPPER)
{
var gripper = instance.GetComponent<GripperModule>();
if (gripper != null)
gripper.InitialSetAngle(module.Degree);
}
} }
} }

View File

@@ -0,0 +1,255 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &846410004111697396
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6809418524322847815}
m_Layer: 0
m_Name: MaleSocket1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6809418524322847815
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 846410004111697396}
serializedVersion: 2
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: -0.5}
m_LocalPosition: {x: -0.0249, y: -0.0201, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9070761514222156572}
m_LocalEulerAnglesHint: {x: -270, y: 0, z: -90}
--- !u!1 &1157775305034889420
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 669914388288028600}
- component: {fileID: 3326025928589534052}
- component: {fileID: 3055859658575305633}
- component: {fileID: 8638843879408219513}
m_Layer: 0
m_Name: Body1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &669914388288028600
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1157775305034889420}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9070761514222156572}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!33 &3326025928589534052
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1157775305034889420}
m_Mesh: {fileID: 8604045607132181640, guid: 3391117caae0f4704980f79e4353d042, type: 3}
--- !u!23 &3055859658575305633
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1157775305034889420}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &8638843879408219513
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1157775305034889420}
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: 3
m_Size: {x: 0.0060000014, y: 0.006000002, z: 0.004000001}
m_Center: {x: -0.0020000003, y: 0.0020000006, z: 0.0020000006}
--- !u!1 &2170111422313532261
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7136602692355227156}
m_Layer: 0
m_Name: MaleSocket2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7136602692355227156
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2170111422313532261}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: -0.00008, y: -0.02004, z: 0.02506}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9070761514222156572}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!1 &6179327418151690771
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8323787083687447362}
m_Layer: 0
m_Name: FemaleSocket
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8323787083687447362
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6179327418151690771}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.38268343, z: 0, w: 0.92387956}
m_LocalPosition: {x: -0.0294, y: -0.0202, z: 0.0306}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9070761514222156572}
m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0}
--- !u!1 &8675105343656750386
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9070761514222156572}
- component: {fileID: -6168186220265721152}
m_Layer: 0
m_Name: TriangleHubModule_MMF
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &9070761514222156572
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8675105343656750386}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 669914388288028600}
- {fileID: 8323787083687447362}
- {fileID: 6809418524322847815}
- {fileID: 7136602692355227156}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-6168186220265721152
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8675105343656750386}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 88b5ad85b06fb47ac93dca899676153f, type: 3}
m_Name:
m_EditorClassIdentifier: '::'

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2748c7e04600640029ca885671ec6d66
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,255 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1359582472002982618
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6011220920484988972}
- component: {fileID: -3574282061814459875}
m_Layer: 0
m_Name: TriangleHubModule_MMM
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6011220920484988972
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1359582472002982618}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 20, y: 20, z: 20}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 9089225325295319878}
- {fileID: 6022533245124769196}
- {fileID: 6536188895589835460}
- {fileID: 2750178671996957933}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-3574282061814459875
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1359582472002982618}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2cfeb37d023b04c51b94140d88ca98c3, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
--- !u!1 &1686988774109676497
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6022533245124769196}
m_Layer: 0
m_Name: MaleSocket1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6022533245124769196
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1686988774109676497}
serializedVersion: 2
m_LocalRotation: {x: 0.18301274, y: -0.6830127, z: 0.6830127, w: 0.18301274}
m_LocalPosition: {x: -0.0448, y: -0.01983, z: 0.0259}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6011220920484988972}
m_LocalEulerAnglesHint: {x: 90, y: -150, z: 0}
--- !u!1 &4578939476945980058
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6536188895589835460}
m_Layer: 0
m_Name: MaleSocket2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6536188895589835460
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4578939476945980058}
serializedVersion: 2
m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
m_LocalPosition: {x: -0.0301, y: -0.0201, z: -0.00015}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6011220920484988972}
m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0}
--- !u!1 &7814513479612737229
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9089225325295319878}
- component: {fileID: 3776802690824132999}
- component: {fileID: 1214841820157806948}
- component: {fileID: 297685854225934990}
m_Layer: 0
m_Name: Body1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &9089225325295319878
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7814513479612737229}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 10, y: 10, z: 10}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6011220920484988972}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!33 &3776802690824132999
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7814513479612737229}
m_Mesh: {fileID: 8604045607132181640, guid: 659134740ef3f45d2be46c6aec1f3682, type: 3}
--- !u!23 &1214841820157806948
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7814513479612737229}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, 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_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &297685854225934990
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7814513479612737229}
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: 3
m_Size: {x: 0.0057071806, y: 0.005996154, z: 0.004000001}
m_Center: {x: -0.0030000005, y: 0.0019980767, z: 0.0020000006}
--- !u!1 &8673038549157016336
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2750178671996957933}
m_Layer: 0
m_Name: MaleSocket3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2750178671996957933
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8673038549157016336}
serializedVersion: 2
m_LocalRotation: {x: 0.67437977, y: -0.21263108, z: 0.21263108, w: 0.67437977}
m_LocalPosition: {x: -0.01593, y: -0.01961, z: 0.02736}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6011220920484988972}
m_LocalEulerAnglesHint: {x: 90, y: -35, z: 0}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b87552d1aa0cd4b5c96106c3dffdc572
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,7 +1,7 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: c9bb9c26ce95f4c38b0975e4796d7c84 guid: c9bb9c26ce95f4c38b0975e4796d7c84
ModelImporter: ModelImporter:
serializedVersion: 22200 serializedVersion: 24200
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
materials: materials:
@@ -16,8 +16,6 @@ ModelImporter:
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0 removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
@@ -58,6 +56,9 @@ ModelImporter:
maxBonesPerVertex: 4 maxBonesPerVertex: 4
minBoneWeight: 0.001 minBoneWeight: 0.001
optimizeBones: 1 optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1 meshOptimizationFlags: -1
indexFormat: 0 indexFormat: 0
secondaryUVAngleDistortion: 8 secondaryUVAngleDistortion: 8

View File

@@ -100,7 +100,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3} - target: {fileID: -8679921383154817045, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
propertyPath: m_LocalRotation.x propertyPath: m_LocalRotation.x
value: -0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3} - target: {fileID: -8679921383154817045, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
propertyPath: m_LocalRotation.y propertyPath: m_LocalRotation.y
@@ -108,7 +108,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3} - target: {fileID: -8679921383154817045, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
propertyPath: m_LocalRotation.z propertyPath: m_LocalRotation.z
value: 0.7071068 value: -0.7071068
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3} - target: {fileID: -8679921383154817045, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
propertyPath: m_LocalEulerAnglesHint.x propertyPath: m_LocalEulerAnglesHint.x
@@ -126,6 +126,10 @@ PrefabInstance:
propertyPath: m_ConstrainProportionsScale propertyPath: m_ConstrainProportionsScale
value: 1 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -3855335175272487014, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 567bd52a381732c47bcc7dc4ca57e203, type: 2}
- target: {fileID: 919132149155446097, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3} - target: {fileID: 919132149155446097, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: battery_module_mf_unity value: battery_module_mf_unity
@@ -140,9 +144,6 @@ PrefabInstance:
insertIndex: -1 insertIndex: -1
addedObject: {fileID: 6174788492104592851} addedObject: {fileID: 6174788492104592851}
m_AddedComponents: m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
insertIndex: -1
addedObject: {fileID: 8539805925341693153}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3} - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
insertIndex: -1 insertIndex: -1
addedObject: {fileID: 1972764005790451530} addedObject: {fileID: 1972764005790451530}
@@ -155,18 +156,6 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3} m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: c9bb9c26ce95f4c38b0975e4796d7c84, type: 3}
m_PrefabInstance: {fileID: 4547805183318821893} m_PrefabInstance: {fileID: 4547805183318821893}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!114 &8539805925341693153
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3736973296473420116}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f0d44e50b94d44bf6b87f9db5a07981c, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!65 &1972764005790451530 --- !u!65 &1972764005790451530
BoxCollider: BoxCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

BIN
Assets/Module/dc_module.fbx Normal file

Binary file not shown.

View File

@@ -1,7 +1,7 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 12d1ef25e12704c91a01e61fcd524aa9 guid: 119e4c1cb9d084a1fb57a05adbd9f2f2
ModelImporter: ModelImporter:
serializedVersion: 22200 serializedVersion: 24200
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
materials: materials:
@@ -16,8 +16,6 @@ ModelImporter:
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0 removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
@@ -58,6 +56,9 @@ ModelImporter:
maxBonesPerVertex: 4 maxBonesPerVertex: 4
minBoneWeight: 0.001 minBoneWeight: 0.001
optimizeBones: 1 optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1 meshOptimizationFlags: -1
indexFormat: 0 indexFormat: 0
secondaryUVAngleDistortion: 8 secondaryUVAngleDistortion: 8

Binary file not shown.

View File

@@ -1,7 +1,7 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: fcd100dfd51114dd7a35f8d38a9289e2 guid: 0a21c9a89ba814d51b7c11d9863939c3
ModelImporter: ModelImporter:
serializedVersion: 22200 serializedVersion: 24200
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
materials: materials:
@@ -16,8 +16,6 @@ ModelImporter:
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0 removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
@@ -58,6 +56,9 @@ ModelImporter:
maxBonesPerVertex: 4 maxBonesPerVertex: 4
minBoneWeight: 0.001 minBoneWeight: 0.001
optimizeBones: 1 optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1 meshOptimizationFlags: -1
indexFormat: 0 indexFormat: 0
secondaryUVAngleDistortion: 8 secondaryUVAngleDistortion: 8

Binary file not shown.

View File

@@ -1,7 +1,7 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: ee7ca1ffe413e467dac9c9eb2cf377f7 guid: 7e681772ef5614e68a73639cbbae6f05
ModelImporter: ModelImporter:
serializedVersion: 22200 serializedVersion: 24200
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
materials: materials:
@@ -16,8 +16,6 @@ ModelImporter:
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0 removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
@@ -58,6 +56,9 @@ ModelImporter:
maxBonesPerVertex: 4 maxBonesPerVertex: 4
minBoneWeight: 0.001 minBoneWeight: 0.001
optimizeBones: 1 optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1 meshOptimizationFlags: -1
indexFormat: 0 indexFormat: 0
secondaryUVAngleDistortion: 8 secondaryUVAngleDistortion: 8

Binary file not shown.

View File

@@ -1,7 +1,7 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 80d7debcd48164452b7dc26bbb63dd91 guid: 4ab1ba74d3fd045f0a6d3d2b6451892b
ModelImporter: ModelImporter:
serializedVersion: 22200 serializedVersion: 24200
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
materials: materials:
@@ -16,8 +16,6 @@ ModelImporter:
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0 removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
@@ -58,6 +56,9 @@ ModelImporter:
maxBonesPerVertex: 4 maxBonesPerVertex: 4
minBoneWeight: 0.001 minBoneWeight: 0.001
optimizeBones: 1 optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1 meshOptimizationFlags: -1
indexFormat: 0 indexFormat: 0
secondaryUVAngleDistortion: 8 secondaryUVAngleDistortion: 8

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: ff94de509dce74d96bc3d1e8d35c56a7
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 659134740ef3f45d2be46c6aec1f3682
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: e0053319def084084aea8f8ccebb68ce
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

View File

@@ -1,7 +1,7 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 78fb54ff1ce8d48b9886d9638992bd2e guid: 78fb54ff1ce8d48b9886d9638992bd2e
ModelImporter: ModelImporter:
serializedVersion: 22200 serializedVersion: 24200
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
materials: materials:
@@ -16,8 +16,6 @@ ModelImporter:
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0 removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
@@ -58,6 +56,9 @@ ModelImporter:
maxBonesPerVertex: 4 maxBonesPerVertex: 4
minBoneWeight: 0.001 minBoneWeight: 0.001
optimizeBones: 1 optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1 meshOptimizationFlags: -1
indexFormat: 0 indexFormat: 0
secondaryUVAngleDistortion: 8 secondaryUVAngleDistortion: 8

View File

@@ -25,7 +25,7 @@ Transform:
m_GameObject: {fileID: 816366772234525515} m_GameObject: {fileID: 816366772234525515}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.7071068, z: -0.7071068, w: 0} m_LocalRotation: {x: 0, y: 0.7071068, z: -0.7071068, w: 0}
m_LocalPosition: {x: 0, y: 0.02, z: 0.02} m_LocalPosition: {x: 0.0045, y: 0.02, z: 0.02}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -56,7 +56,7 @@ Transform:
m_GameObject: {fileID: 908797085272381567} m_GameObject: {fileID: 908797085272381567}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: -0, y: 0, z: 0.7071068, w: -0.7071068} m_LocalRotation: {x: -0, y: 0, z: 0.7071068, w: -0.7071068}
m_LocalPosition: {x: -0.02, y: 0, z: 0.02} m_LocalPosition: {x: -0.02, y: -0.0046, z: 0.02}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -87,7 +87,7 @@ Transform:
m_GameObject: {fileID: 3261303101102666895} m_GameObject: {fileID: 3261303101102666895}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_LocalPosition: {x: -0.02, y: 0.04, z: 0.02} m_LocalPosition: {x: -0.02, y: 0.0439, z: 0.02}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -118,7 +118,7 @@ Transform:
m_GameObject: {fileID: 3625850589448981915} m_GameObject: {fileID: 3625850589448981915}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} m_LocalRotation: {x: 0, y: 0, z: 1, w: 0}
m_LocalPosition: {x: -0.04, y: 0.02, z: 0.02} m_LocalPosition: {x: -0.0455, y: 0.02, z: 0.02}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -188,10 +188,18 @@ PrefabInstance:
propertyPath: m_ConstrainProportionsScale propertyPath: m_ConstrainProportionsScale
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -2189848377777591530, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3}
propertyPath: m_Mesh
value:
objectReference: {fileID: 8604045607132181640, guid: e0053319def084084aea8f8ccebb68ce, type: 3}
- target: {fileID: 919132149155446097, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3} - target: {fileID: 919132149155446097, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: hub_module_mmmf_unity value: hub_module_mmmf_unity
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1797760339730403953, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 66bb025986bd66c479f0fe7e007798b0, type: 2}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: m_AddedGameObjects:
@@ -210,7 +218,7 @@ PrefabInstance:
m_AddedComponents: m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3} - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3}
insertIndex: -1 insertIndex: -1
addedObject: {fileID: 402289775238470357} addedObject: {fileID: 9120493990586592008}
- targetCorrespondingSourceObject: {fileID: -1817752537321972114, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3} - targetCorrespondingSourceObject: {fileID: -1817752537321972114, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3}
insertIndex: -1 insertIndex: -1
addedObject: {fileID: 6551029816721060232} addedObject: {fileID: 6551029816721060232}
@@ -225,7 +233,7 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3} m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3}
m_PrefabInstance: {fileID: 1191710716976541967} m_PrefabInstance: {fileID: 1191710716976541967}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!114 &402289775238470357 --- !u!114 &9120493990586592008
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
@@ -234,9 +242,9 @@ MonoBehaviour:
m_GameObject: {fileID: 2038062744777034846} m_GameObject: {fileID: 2038062744777034846}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8f2f97cf35ba04c2692842afd44fa995, type: 3} m_Script: {fileID: 11500000, guid: 1165e4f8774c6497799cf8ca9f3be91d, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier: '::'
--- !u!1 &8525249395010203489 stripped --- !u!1 &8525249395010203489 stripped
GameObject: GameObject:
m_CorrespondingSourceObject: {fileID: -1817752537321972114, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3} m_CorrespondingSourceObject: {fileID: -1817752537321972114, guid: 78fb54ff1ce8d48b9886d9638992bd2e, type: 3}

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 75fcb9600b53b4feba38c37c6f59c6b1
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 3391117caae0f4704980f79e4353d042
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 649bbc984493b417e91518e26718e83c
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: b8a656ee45f5c4b31b1abf520cd3e327
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 927560849e7774691befcadd99ea32af
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: e757f7c766a48416c874309da8cac589
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: f50dcf4ddd7d14c829ff862612891d8d
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 306af31f5b8794d0798abcbc86000266
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

Binary file not shown.

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 394e8674d183843c0a846fc96e6f793a
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
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
importPhysicalCameras: 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
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -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:

View File

@@ -5,23 +5,23 @@ public abstract class ModuleBase : MonoBehaviour
{ {
public string moduleID { get; set; } = ""; public string moduleID { get; set; } = "";
public double angle { get; set; } = 0; // also optional, for Servo/DC angle public double angle { get; set; } = 0; // also optional, for Servo/DC angle
public abstract string moduleType { get; }
public abstract void OnSelect(); public abstract string moduleName { get; }
public abstract void DeSelect();
public void SendToControlLibrary(string moduleType, float currentAngle) public void SendToControlLibrary(string moduleType, float currentAngle)
{ {
int angleRounded = Mathf.RoundToInt(currentAngle);
var json = ""; var json = "";
if (moduleType.Contains("Servo")) if (moduleType.Contains("Servo") || moduleType == "Gripper")
{ {
json = JsonUtility.ToJson(new ServoCommand json = JsonUtility.ToJson(new ServoCommand
{ {
ModuleId = moduleID, ModuleId = moduleID,
Type = moduleType, Type = moduleType,
TargetAngle = currentAngle TargetAngle = angleRounded
}); });
} }
else if(moduleType == "DC") else if (moduleType == "DC")
{ {
string direction = "Forwards"; string direction = "Forwards";
if (currentAngle < 0) if (currentAngle < 0)
@@ -32,7 +32,7 @@ public abstract class ModuleBase : MonoBehaviour
{ {
ModuleId = moduleID, ModuleId = moduleID,
Type = moduleType, Type = moduleType,
RotateByDegrees = Math.Abs(currentAngle), RotateByDegrees = Math.Abs(angleRounded),
Direction = direction Direction = direction
}); });
} }
@@ -41,7 +41,7 @@ public abstract class ModuleBase : MonoBehaviour
{ {
return; return;
} }
if (0 != ControlLibrary.send_angle_control(Int32.Parse(moduleID), (int)currentAngle)) if (0 != ControlLibrary.send_angle_control(Int32.Parse(moduleID), angleRounded))
{ {
Debug.Log("Control library exited with error"); Debug.Log("Control library exited with error");
} }

View File

@@ -51,7 +51,6 @@ public class ModuleSelector : MonoBehaviour
ModuleBase module = hit.collider.GetComponentInParent<ModuleBase>(); ModuleBase module = hit.collider.GetComponentInParent<ModuleBase>();
if (module != null) if (module != null)
{ {
module.OnSelect();
prevModule = module; prevModule = module;
// Servo highlighting support // Servo highlighting support
@@ -76,7 +75,6 @@ public class ModuleSelector : MonoBehaviour
{ {
if (prevModule != null) if (prevModule != null)
{ {
prevModule.DeSelect();
prevModule = null; prevModule = null;
} }

View File

@@ -5,10 +5,18 @@ using UnityEngine;
public class ModuleSpawner : MonoBehaviour public class ModuleSpawner : MonoBehaviour
{ {
public GameObject batteryModulePrefab; public GameObject batteryModulePrefab;
public GameObject hubModulePrefab; public GameObject hubModuleMMMFPrefab;
public GameObject hubModuleMMMMPrefab;
public GameObject triangleHubMMFPrefab;
public GameObject triangleHubMMMPrefab;
public GameObject dcMotorModulePrefab; public GameObject dcMotorModulePrefab;
public GameObject servoBendModulePrefab; public GameObject servoBendModulePrefab;
public GameObject servoStraightModulePrefab; public GameObject servoStraightModulePrefab;
public GameObject gripperModulePrefab;
public GameObject displayModulePrefab;
public GameObject distanceSensorModulePrefab;
public GameObject imuSensorModulePrefab;
public GameObject speakerModulePrefab;
public GameObject GetPrefabForType(ModuleType type) public GameObject GetPrefabForType(ModuleType type)
{ {
@@ -18,13 +26,29 @@ public class ModuleSpawner : MonoBehaviour
case ModuleType.BATTERY: case ModuleType.BATTERY:
return batteryModulePrefab; return batteryModulePrefab;
case ModuleType.SPLITTER: case ModuleType.SPLITTER:
return hubModulePrefab; return hubModuleMMMFPrefab;
case ModuleType.DC_MOTOR: case ModuleType.DC_MOTOR:
return dcMotorModulePrefab; return dcMotorModulePrefab; // DC module deactivated
case ModuleType.SERVO_1: case ModuleType.SERVO_1:
return servoBendModulePrefab; return servoBendModulePrefab;
case ModuleType.SERVO_2: case ModuleType.SERVO_2:
return servoStraightModulePrefab; return servoStraightModulePrefab;
case ModuleType.GRIPPER:
return gripperModulePrefab;
case ModuleType.DISPLAY:
return displayModulePrefab;
case ModuleType.DISTANCE_SENSOR:
return distanceSensorModulePrefab;
case ModuleType.IMU:
return imuSensorModulePrefab;
case ModuleType.SPEAKER:
return speakerModulePrefab;
case ModuleType.SPLITTER_2:
return hubModuleMMMMPrefab;
case ModuleType.SPLITTER_3:
return triangleHubMMFPrefab;
case ModuleType.SPLITTER_4:
return triangleHubMMMPrefab;
default: default:
Debug.LogError("Unknown module type: " + type); Debug.LogError("Unknown module type: " + type);
return null; return null;

9
Assets/PowerModule.cs Normal file
View File

@@ -0,0 +1,9 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PowerModule : ModuleBase
{
public override string moduleType => "Battery";
public override string moduleName => "Power Module";
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 49a8b93f7e3164531b9e4b2818846a49

View File

@@ -1 +1 @@
{"Modules":[{"Id":"battery1","Type":"Battery","Degree":null},{"Id":"servo1","Type":"Servo1","Degree":45},{"Id":"servo2","Type":"Servo2","Degree":60},{"Id":"servo3","Type":"Servo1","Degree":90},{"Id":"servo4","Type":"Servo2","Degree":45},{"Id":"servo5","Type":"Servo1","Degree":120},{"Id":"servo6","Type":"Servo2","Degree":30},{"Id":"endModule","Type":"DC","Degree":null}],"Connections":[{"FromModuleId":"battery1","ToModuleId":"servo1","FromSocket":"MaleSocket","ToSocket":"BodySocket","Orientation":0},{"FromModuleId":"servo1","ToModuleId":"servo2","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":90},{"FromModuleId":"servo2","ToModuleId":"servo3","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":0},{"FromModuleId":"servo3","ToModuleId":"servo4","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":90},{"FromModuleId":"servo4","ToModuleId":"servo5","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":0},{"FromModuleId":"servo5","ToModuleId":"servo6","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":90},{"FromModuleId":"servo6","ToModuleId":"endModule","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":0}]} {"Modules":[{"Id": "splitter1","Type":"Splitter4","Degree":null},{"Id":"battery1","Type":"Battery","Degree":null},{"Id":"servo1","Type":"Servo1","Degree":45},{"Id":"servo2","Type":"Servo2","Degree":60},{"Id":"servo3","Type":"Servo1","Degree":90},{"Id":"servo4","Type":"Servo2","Degree":45},{"Id":"servo5","Type":"Servo1","Degree":120},{"Id":"servo6","Type":"Servo2","Degree":30},{"Id":"endModule","Type":"Distance","Degree":null}],"Connections":[{"FromModuleId":"splitter1","ToModuleId":"battery1","FromSocket":"MaleSocket1","ToSocket":"FemaleSocket","Orientation":0},{"FromModuleId":"battery1","ToModuleId":"servo1","FromSocket":"MaleSocket","ToSocket":"BodySocket","Orientation":0},{"FromModuleId":"servo1","ToModuleId":"servo2","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":90},{"FromModuleId":"servo2","ToModuleId":"servo3","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":0},{"FromModuleId":"servo3","ToModuleId":"servo4","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":90},{"FromModuleId":"servo4","ToModuleId":"servo5","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":0},{"FromModuleId":"servo5","ToModuleId":"servo6","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":90},{"FromModuleId":"servo6","ToModuleId":"endModule","FromSocket":"MaleSocket","ToSocket":"FemaleSocket","Orientation":0}]}

View File

@@ -0,0 +1,80 @@
{
"Modules": [
{ "Id": "servo1", "Type": "Servo1", "Degree": 34 },
{ "Id": "servo2", "Type": "Servo1", "Degree": 130 },
{ "Id": "dc1", "Type": "DC", "Degree": null },
{ "Id": "dc2", "Type": "DC", "Degree": null },
{ "Id": "hub1", "Type": "Hub", "Degree": null },
{ "Id": "hub2", "Type": "Hub", "Degree": null },
{ "Id": "battery1", "Type": "Battery", "Degree": null },
{ "Id": "battery2", "Type": "Battery", "Degree": null },
{ "Id": "servo3", "Type": "Servo2", "Degree": 32 },
{ "Id": "battery3", "Type": "Battery", "Degree": null }
],
"Connections": [
{
"FromModuleId": "servo1",
"ToModuleId": "servo2",
"FromSocket": "MaleSocket",
"ToSocket": "FemaleSocket",
"Orientation": 90
},
{
"FromModuleId": "servo2",
"ToModuleId": "dc1",
"FromSocket": "MaleSocket",
"ToSocket": "FemaleSocket",
"Orientation": 180
},
{
"FromModuleId": "hub1",
"ToModuleId": "battery1",
"FromSocket": "MaleSocket2",
"ToSocket": "FemaleSocket",
"Orientation": 0
},
{
"FromModuleId": "hub1",
"ToModuleId": "battery2",
"FromSocket": "MaleSocket3",
"ToSocket": "FemaleSocket",
"Orientation": 90
},
{
"FromModuleId": "hub1",
"ToModuleId": "dc2",
"FromSocket": "MaleSocket1",
"ToSocket": "FemaleSocket",
"Orientation": 0
},
{
"FromModuleId": "servo1",
"ToModuleId": "battery1",
"FromSocket": "BodySocket",
"ToSocket": "MaleSocket",
"Orientation": 0
},
{
"FromModuleId": "servo3",
"ToModuleId": "battery3",
"FromSocket": "MaleSocket",
"ToSocket": "FemaleSocket",
"Orientation": 90
},
{
"FromModuleId": "hub1",
"ToModuleId": "battery3",
"FromSocket": "FemaleSocket",
"ToSocket": "MaleSocket",
"Orientation": 0
},
{
"FromModuleId": "servo3",
"ToModuleId": "hub2",
"FromSocket": "FemaleSocket",
"ToSocket": "MaleSocket1",
"Orientation": 90
}
]
}

Some files were not shown because too many files have changed in this diff Show More