master
Jake 2025-12-16 19:34:49 +08:00
commit 6330048115
390 changed files with 3324083 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 052faaac586de48259a63d0c4782560b
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
generateWrapperCode: 0
wrapperCodePath:
wrapperClassName:
wrapperCodeNamespace:

34
Readme.asset Normal file
View File

@ -0,0 +1,34 @@
%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: fcf7219bab7fe46a1ad266029b2fee19, type: 3}
m_Name: Readme
m_EditorClassIdentifier:
icon: {fileID: 2800000, guid: 727a75301c3d24613a3ebcec4a24c2c8, type: 3}
title: URP Empty Template
sections:
- heading: Welcome to the Universal Render Pipeline
text: This template includes the settings and assets you need to start creating with the Universal Render Pipeline.
linkText:
url:
- heading: URP Documentation
text:
linkText: Read more about URP
url: https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest
- heading: Forums
text:
linkText: Get answers and support
url: https://forum.unity.com/forums/universal-render-pipeline.383/
- heading: Report bugs
text:
linkText: Submit a report
url: https://unity3d.com/unity/qa/bug-reporting
loadedLayout: 1

8
Readme.asset.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8105016687592461f977c054a80ce2f2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

8
Scenes.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 07b11e0258c9dd340a09a2251c964710
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

5857
Scenes/SampleScene.unity Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 99c9720ab356a0642a771bea13969a05
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Scripts.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 07473074538c5194aa2e23fee2bee009
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Scripts/Editor.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f3ad3d6e7315e5741bd30c477da26241
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,190 @@
using UnityEngine;
using UnityEditor;
using System.IO;
using URDF;
public class URDFImporterEditor : EditorWindow
{
private string urdfFilePath = "";
private Object selectedURDF;
private bool ignoreURDFScale = true; // Default to true - assume models are already in meters
private float jointPositionScale = 1.0f; // Scale joint positions - default 1.0 (no scaling)
[MenuItem("Assets/Import URDF")]
public static void ShowWindow()
{
URDFImporterEditor window = GetWindow<URDFImporterEditor>("URDF Importer");
window.Show();
}
[MenuItem("Assets/Import URDF", true)]
public static bool ValidateImportURDF()
{
// Only enable if we're in the editor
return true;
}
void OnGUI()
{
GUILayout.Label("URDF Robot Importer", EditorStyles.boldLabel);
EditorGUILayout.Space();
EditorGUILayout.HelpBox(
"Select a URDF file to import. The importer will create a GameObject hierarchy " +
"with correct parent-child relationships and pivot points.",
MessageType.Info);
EditorGUILayout.Space();
// File selection
EditorGUILayout.BeginHorizontal();
EditorGUILayout.LabelField("URDF File:", GUILayout.Width(100));
selectedURDF = EditorGUILayout.ObjectField(
selectedURDF,
typeof(Object),
false,
GUILayout.ExpandWidth(true));
if (selectedURDF != null)
{
string assetPath = AssetDatabase.GetAssetPath(selectedURDF);
if (assetPath.EndsWith(".urdf"))
{
urdfFilePath = Path.Combine(Application.dataPath, assetPath.Substring("Assets/".Length));
}
else
{
EditorGUILayout.HelpBox("Please select a .urdf file", MessageType.Warning);
selectedURDF = null;
}
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.Space();
// Scale options
ignoreURDFScale = EditorGUILayout.Toggle(
new GUIContent("Ignore URDF Scale",
"If checked, models are assumed to be already scaled to meters. " +
"If unchecked, URDF scale values (typically 0.001 for millimeter models) will be applied."),
ignoreURDFScale);
if (ignoreURDFScale)
{
jointPositionScale = EditorGUILayout.FloatField(
new GUIContent("Joint Position Scale",
"Scale factor for joint positions. Use 1000 if models were scaled from millimeters to meters. " +
"Use 1.0 if joint positions are already correct."),
jointPositionScale);
}
EditorGUILayout.Space();
// Import button
GUI.enabled = !string.IsNullOrEmpty(urdfFilePath) && File.Exists(urdfFilePath);
if (GUILayout.Button("Import URDF", GUILayout.Height(30)))
{
ImportURDF();
}
GUI.enabled = true;
EditorGUILayout.Space();
// Quick import from context menu
if (Event.current.type == EventType.ContextClick)
{
GenericMenu menu = new GenericMenu();
menu.AddItem(new GUIContent("Import Selected URDF"), false, () =>
{
if (Selection.activeObject != null)
{
string path = AssetDatabase.GetAssetPath(Selection.activeObject);
if (path.EndsWith(".urdf"))
{
selectedURDF = Selection.activeObject;
urdfFilePath = Path.Combine(Application.dataPath, path.Substring("Assets/".Length));
ImportURDF();
}
}
});
menu.ShowAsContext();
}
}
[MenuItem("Assets/Import URDF (Selected)", true)]
public static bool ValidateImportSelectedURDF()
{
if (Selection.activeObject == null)
return false;
string path = AssetDatabase.GetAssetPath(Selection.activeObject);
return path.EndsWith(".urdf");
}
[MenuItem("Assets/Import URDF (Selected)")]
public static void ImportSelectedURDF()
{
if (Selection.activeObject == null)
{
Debug.LogError("No URDF file selected");
return;
}
string assetPath = AssetDatabase.GetAssetPath(Selection.activeObject);
if (!assetPath.EndsWith(".urdf"))
{
Debug.LogError("Selected file is not a URDF file");
return;
}
string fullPath = Path.Combine(Application.dataPath, assetPath.Substring("Assets/".Length));
// Default to ignoring scale (assuming models are in meters) with no joint position scaling
ImportURDFFile(fullPath, ignoreScale: true, jointPositionScale: 1.0f);
}
private void ImportURDF()
{
if (string.IsNullOrEmpty(urdfFilePath) || !File.Exists(urdfFilePath))
{
EditorUtility.DisplayDialog("Error", "Please select a valid URDF file", "OK");
return;
}
ImportURDFFile(urdfFilePath, ignoreURDFScale, ignoreURDFScale ? jointPositionScale : 1.0f);
}
private static void ImportURDFFile(string urdfFilePath, bool ignoreScale = true, float jointPositionScale = 1.0f)
{
try
{
EditorUtility.DisplayProgressBar("Importing URDF", "Parsing URDF file...", 0f);
GameObject robotRoot = URDFImporter.ImportURDF(urdfFilePath, null, ignoreScale, jointPositionScale);
if (robotRoot != null)
{
// Select the imported robot in the hierarchy
Selection.activeGameObject = robotRoot;
EditorGUIUtility.PingObject(robotRoot);
Debug.Log($"Successfully imported URDF robot: {robotRoot.name}");
}
else
{
EditorUtility.DisplayDialog("Import Failed", "Failed to import URDF file. Check console for errors.", "OK");
}
}
catch (System.Exception e)
{
Debug.LogError($"Error importing URDF: {e.Message}\n{e.StackTrace}");
EditorUtility.DisplayDialog("Import Error", $"Error importing URDF: {e.Message}", "OK");
}
finally
{
EditorUtility.ClearProgressBar();
}
}
}

View File

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

8
Scripts/UI.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5d7472498ac15b849a1c8cd0e99aa567
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

122
Scripts/UI/UIInitializer.cs Normal file
View File

@ -0,0 +1,122 @@
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
namespace UI
{
/// <summary>
/// Automatically sets up a full-screen Canvas and creates a Window on scene start.
/// Attach this component to any GameObject in the scene.
/// </summary>
public class UIInitializer : MonoBehaviour
{
[Header("Window Settings")]
[SerializeField] private string windowTitle = "Window";
[SerializeField] private Vector2 windowSize = new Vector2(600, 400);
[SerializeField] private Vector2 windowPosition = Vector2.zero;
private void Start()
{
SetupCanvas();
SetupEventSystem();
CreateWindow();
}
/// <summary>
/// Creates a full-screen Canvas if one doesn't exist
/// </summary>
private void SetupCanvas()
{
Canvas existingCanvas = FindObjectOfType<Canvas>();
if (existingCanvas != null)
{
Debug.Log("Canvas already exists, using existing canvas.");
return;
}
// Create Canvas GameObject
GameObject canvasObj = new GameObject("Canvas");
Canvas canvas = canvasObj.AddComponent<Canvas>();
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
canvas.sortingOrder = 0;
// Add CanvasScaler
CanvasScaler scaler = canvasObj.AddComponent<CanvasScaler>();
scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
scaler.referenceResolution = new Vector2(1920, 1080);
scaler.matchWidthOrHeight = 0.5f;
// Add GraphicRaycaster
canvasObj.AddComponent<GraphicRaycaster>();
Debug.Log("Canvas created successfully.");
}
/// <summary>
/// Sets up EventSystem with InputSystemUIInputModule for new Input System
/// </summary>
private void SetupEventSystem()
{
EventSystem existingEventSystem = FindObjectOfType<EventSystem>();
if (existingEventSystem != null)
{
Debug.Log("EventSystem already exists, checking InputSystemUIInputModule...");
// Check if InputSystemUIInputModule exists
if (existingEventSystem.GetComponent<UnityEngine.InputSystem.UI.InputSystemUIInputModule>() == null)
{
// Remove old StandaloneInputModule if it exists
var oldModule = existingEventSystem.GetComponent<StandaloneInputModule>();
if (oldModule != null)
{
DestroyImmediate(oldModule);
}
// Add InputSystemUIInputModule
existingEventSystem.gameObject.AddComponent<UnityEngine.InputSystem.UI.InputSystemUIInputModule>();
Debug.Log("Added InputSystemUIInputModule to existing EventSystem.");
}
return;
}
// Create EventSystem GameObject
GameObject eventSystemObj = new GameObject("EventSystem");
EventSystem eventSystem = eventSystemObj.AddComponent<EventSystem>();
// Add InputSystemUIInputModule for new Input System
eventSystemObj.AddComponent<UnityEngine.InputSystem.UI.InputSystemUIInputModule>();
Debug.Log("EventSystem with InputSystemUIInputModule created successfully.");
}
/// <summary>
/// Creates and positions a Window
/// </summary>
private void CreateWindow()
{
Canvas canvas = FindObjectOfType<Canvas>();
if (canvas == null)
{
Debug.LogError("Cannot create window: Canvas not found!");
return;
}
// Create Window GameObject
GameObject windowObj = new GameObject("Window");
windowObj.transform.SetParent(canvas.transform, false);
// Add Window component
Window window = windowObj.AddComponent<Window>();
window.SetTitle(windowTitle);
// Set window position
RectTransform windowRect = windowObj.GetComponent<RectTransform>();
if (windowRect != null)
{
windowRect.anchoredPosition = windowPosition;
}
Debug.Log($"Window '{windowTitle}' created successfully.");
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7148f74c3b1729044bcac6e24618c7c6

308
Scripts/UI/Window.cs Normal file
View File

@ -0,0 +1,308 @@
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
namespace UI
{
/// <summary>
/// A draggable window component with title bar dragging and close button functionality.
/// Automatically creates UI structure on Awake.
/// </summary>
public class Window : MonoBehaviour
{
[Header("Window Settings")]
[SerializeField] private Vector2 windowSize = new Vector2(600, 400);
[SerializeField] private string windowTitle = "Window";
[SerializeField] private Color backgroundColor = new Color(0.2f, 0.2f, 0.2f, 1f);
[SerializeField] private Color titleBarColor = new Color(0.3f, 0.3f, 0.3f, 1f);
[SerializeField] private float titleBarHeight = 30f;
private RectTransform rectTransform;
private RectTransform titleBarRect;
private Image titleBarImage;
private bool isDragging = false;
private Vector2 dragOffset;
private bool wasMouseDownLastFrame = false;
private void Awake()
{
rectTransform = GetComponent<RectTransform>();
if (rectTransform == null)
{
rectTransform = gameObject.AddComponent<RectTransform>();
}
CreateUIStructure();
}
private void Update()
{
// Fallback: Check for mouse down on title bar if interface didn't fire
bool isMouseDown = Mouse.current.leftButton.isPressed;
if (isMouseDown && !wasMouseDownLastFrame && !isDragging)
{
CheckTitleBarClick();
}
wasMouseDownLastFrame = isMouseDown;
HandleDragging();
}
/// <summary>
/// Fallback method to check if mouse clicked on title bar using raycasting
/// </summary>
private void CheckTitleBarClick()
{
Debug.Log("CheckTitleBarClick");
if (EventSystem.current == null) return;
Vector2 mousePosition = Mouse.current.position.ReadValue();
// Use EventSystem to raycast
PointerEventData pointerData = new PointerEventData(EventSystem.current);
pointerData.position = mousePosition;
var results = new System.Collections.Generic.List<RaycastResult>();
EventSystem.current.RaycastAll(pointerData, results);
foreach (var result in results)
{
// Check if we hit the title bar (but not the close button or its children)
Transform hitTransform = result.gameObject.transform;
if (hitTransform.name == "TitleBar" && hitTransform.IsChildOf(transform))
{
OnTitleBarPointerDown(mousePosition);
break;
}
// If we hit a child of TitleBar, check if it's not the close button
else if (hitTransform.IsChildOf(transform.Find("TitleBar")))
{
// Skip if it's the close button or its children
if (!hitTransform.name.Contains("CloseButton") && hitTransform.parent != null && hitTransform.parent.name != "CloseButton")
{
OnTitleBarPointerDown(mousePosition);
break;
}
}
}
}
/// <summary>
/// Creates the UI structure: background, title bar, close button, and content area
/// </summary>
private void CreateUIStructure()
{
// Set up root RectTransform
rectTransform.anchorMin = new Vector2(0.5f, 0.5f);
rectTransform.anchorMax = new Vector2(0.5f, 0.5f);
rectTransform.pivot = new Vector2(0.5f, 0.5f);
rectTransform.sizeDelta = windowSize;
rectTransform.anchoredPosition = Vector2.zero;
// Create Background
GameObject backgroundObj = new GameObject("Background");
backgroundObj.transform.SetParent(transform, false);
Image backgroundImage = backgroundObj.AddComponent<Image>();
backgroundImage.color = backgroundColor;
RectTransform backgroundRect = backgroundObj.GetComponent<RectTransform>();
backgroundRect.anchorMin = Vector2.zero;
backgroundRect.anchorMax = Vector2.one;
backgroundRect.sizeDelta = Vector2.zero;
backgroundRect.anchoredPosition = Vector2.zero;
// Create Title Bar
GameObject titleBarObj = new GameObject("TitleBar");
titleBarObj.transform.SetParent(transform, false);
Image titleBarImage = titleBarObj.AddComponent<Image>();
titleBarImage.color = titleBarColor;
titleBarRect = titleBarObj.GetComponent<RectTransform>();
titleBarRect.anchorMin = new Vector2(0, 1);
titleBarRect.anchorMax = new Vector2(1, 1);
titleBarRect.pivot = new Vector2(0.5f, 1);
titleBarRect.sizeDelta = new Vector2(0, titleBarHeight);
titleBarRect.anchoredPosition = new Vector2(0, 0);
this.titleBarImage = titleBarImage;
// Add TitleBarDragHandler component for dragging
TitleBarDragHandler dragHandler = titleBarObj.AddComponent<TitleBarDragHandler>();
dragHandler.Initialize(this);
// Create Title Text
GameObject titleTextObj = new GameObject("TitleText");
titleTextObj.transform.SetParent(titleBarObj.transform, false);
Text titleText = titleTextObj.AddComponent<Text>();
titleText.text = windowTitle;
titleText.color = Color.white;
titleText.font = Resources.GetBuiltinResource<Font>("LegacyRuntime.ttf");
titleText.fontSize = 14;
titleText.alignment = TextAnchor.MiddleLeft;
RectTransform titleTextRect = titleTextObj.GetComponent<RectTransform>();
titleTextRect.anchorMin = new Vector2(0, 0);
titleTextRect.anchorMax = new Vector2(1, 1);
titleTextRect.sizeDelta = new Vector2(-60, 0); // Leave space for close button
titleTextRect.anchoredPosition = new Vector2(10, 0);
// Create Close Button
GameObject closeButtonObj = new GameObject("CloseButton");
closeButtonObj.transform.SetParent(titleBarObj.transform, false);
Image closeButtonImage = closeButtonObj.AddComponent<Image>();
closeButtonImage.color = new Color(0.5f, 0.5f, 0.5f, 1f);
Button closeButton = closeButtonObj.AddComponent<Button>();
ColorBlock colors = closeButton.colors;
colors.normalColor = new Color(0.5f, 0.5f, 0.5f, 1f);
colors.highlightedColor = new Color(0.8f, 0.2f, 0.2f, 1f);
colors.pressedColor = new Color(0.6f, 0.1f, 0.1f, 1f);
closeButton.colors = colors;
closeButton.onClick.AddListener(OnCloseButtonClicked);
RectTransform closeButtonRect = closeButtonObj.GetComponent<RectTransform>();
closeButtonRect.anchorMin = new Vector2(1, 0);
closeButtonRect.anchorMax = new Vector2(1, 1);
closeButtonRect.pivot = new Vector2(1, 0.5f);
closeButtonRect.sizeDelta = new Vector2(30, 0);
closeButtonRect.anchoredPosition = new Vector2(0, 0);
// Create Close Button Text (X)
GameObject closeButtonTextObj = new GameObject("Text");
closeButtonTextObj.transform.SetParent(closeButtonObj.transform, false);
Text closeButtonText = closeButtonTextObj.AddComponent<Text>();
closeButtonText.text = "X";
closeButtonText.color = Color.white;
closeButtonText.font = Resources.GetBuiltinResource<Font>("LegacyRuntime.ttf");
closeButtonText.fontSize = 16;
closeButtonText.alignment = TextAnchor.MiddleCenter;
closeButtonText.fontStyle = FontStyle.Bold;
RectTransform closeButtonTextRect = closeButtonTextObj.GetComponent<RectTransform>();
closeButtonTextRect.anchorMin = Vector2.zero;
closeButtonTextRect.anchorMax = Vector2.one;
closeButtonTextRect.sizeDelta = Vector2.zero;
closeButtonTextRect.anchoredPosition = Vector2.zero;
// Create Content Area
GameObject contentAreaObj = new GameObject("ContentArea");
contentAreaObj.transform.SetParent(transform, false);
RectTransform contentAreaRect = contentAreaObj.AddComponent<RectTransform>();
contentAreaRect.anchorMin = new Vector2(0, 0);
contentAreaRect.anchorMax = new Vector2(1, 1);
contentAreaRect.sizeDelta = new Vector2(0, -titleBarHeight);
contentAreaRect.anchoredPosition = new Vector2(0, 0);
// Create Placeholder Text
GameObject placeholderTextObj = new GameObject("PlaceholderText");
placeholderTextObj.transform.SetParent(contentAreaObj.transform, false);
Text placeholderText = placeholderTextObj.AddComponent<Text>();
placeholderText.text = "Content Area";
placeholderText.color = new Color(0.8f, 0.8f, 0.8f, 1f);
placeholderText.font = Resources.GetBuiltinResource<Font>("LegacyRuntime.ttf");
placeholderText.fontSize = 12;
placeholderText.alignment = TextAnchor.MiddleCenter;
RectTransform placeholderTextRect = placeholderTextObj.GetComponent<RectTransform>();
placeholderTextRect.anchorMin = Vector2.zero;
placeholderTextRect.anchorMax = Vector2.one;
placeholderTextRect.sizeDelta = Vector2.zero;
placeholderTextRect.anchoredPosition = Vector2.zero;
}
/// <summary>
/// Called when pointer is pressed down on the title bar
/// </summary>
public void OnTitleBarPointerDown(Vector2 screenPosition)
{
isDragging = true;
RectTransform parentRect = rectTransform.parent as RectTransform;
if (parentRect != null)
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(
parentRect,
screenPosition,
null,
out Vector2 localPoint
);
// Calculate offset from mouse position to window's current position
dragOffset = localPoint - rectTransform.anchoredPosition;
}
}
/// <summary>
/// Handles window dragging in Update loop
/// </summary>
private void HandleDragging()
{
if (isDragging)
{
if (Mouse.current.leftButton.isPressed)
{
Vector2 mousePosition = Mouse.current.position.ReadValue();
RectTransform parentRect = rectTransform.parent as RectTransform;
if (parentRect != null)
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(
parentRect,
mousePosition,
null,
out Vector2 localPoint
);
rectTransform.anchoredPosition = localPoint - dragOffset;
}
}
else
{
isDragging = false;
}
}
}
/// <summary>
/// Called when close button is clicked
/// </summary>
private void OnCloseButtonClicked()
{
Destroy(gameObject);
}
/// <summary>
/// Sets the window title
/// </summary>
public void SetTitle(string title)
{
windowTitle = title;
Transform titleTextTransform = transform.Find("TitleBar/TitleText");
if (titleTextTransform != null)
{
Text titleText = titleTextTransform.GetComponent<Text>();
if (titleText != null)
{
titleText.text = title;
}
}
}
}
/// <summary>
/// Helper component for handling title bar drag events
/// </summary>
public class TitleBarDragHandler : MonoBehaviour, IPointerDownHandler
{
private Window window;
public void Initialize(Window windowComponent)
{
window = windowComponent;
}
public void OnPointerDown(PointerEventData eventData)
{
if (window != null)
{
window.OnTitleBarPointerDown(eventData.position);
}
}
}
}

View File

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

8
Scripts/URDF.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f5f15d11aa8ee414a8666922b45f56d5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,65 @@
using UnityEngine;
namespace URDF
{
/// <summary>
/// Utility class for converting between URDF coordinate system (right-handed, Z-up)
/// and Unity coordinate system (left-handed, Y-up)
/// </summary>
public static class URDFCoordinateConverter
{
/// <summary>
/// Convert URDF position (right-handed, Z-up) to Unity position (left-handed, Y-up)
/// Conversion: (x, y, z) -> (x, -z, y)
/// </summary>
public static Vector3 ConvertPosition(Vector3 urdfPosition)
{
return new Vector3(urdfPosition.x, -urdfPosition.z, urdfPosition.y);
}
/// <summary>
/// Convert URDF rotation (RPY in right-handed, Z-up) to Unity rotation (left-handed, Y-up)
/// </summary>
public static Quaternion ConvertRotation(Vector3 rpy)
{
// Convert RPY to Euler angles in Unity coordinate system
// RPY: Roll (around X), Pitch (around Y), Yaw (around Z)
// Unity: X, Y, Z rotations in left-handed system
// First convert RPY to quaternion in URDF system, then convert to Unity
Quaternion roll = Quaternion.AngleAxis(rpy.x * Mathf.Rad2Deg, Vector3.right);
Quaternion pitch = Quaternion.AngleAxis(rpy.y * Mathf.Rad2Deg, Vector3.up);
Quaternion yaw = Quaternion.AngleAxis(rpy.z * Mathf.Rad2Deg, Vector3.forward);
// In URDF: rotation order is typically Roll-Pitch-Yaw
Quaternion urdfRotation = yaw * pitch * roll;
// Convert from URDF (right-handed, Z-up) to Unity (left-handed, Y-up)
// This is a coordinate system transformation
Matrix4x4 urdfToUnity = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, Vector3.one);
urdfToUnity.m00 = 1; urdfToUnity.m01 = 0; urdfToUnity.m02 = 0;
urdfToUnity.m10 = 0; urdfToUnity.m11 = 0; urdfToUnity.m12 = -1;
urdfToUnity.m20 = 0; urdfToUnity.m21 = 1; urdfToUnity.m22 = 0;
// Alternative approach: directly convert Euler angles
// URDF: X=right, Y=forward, Z=up
// Unity: X=right, Y=up, Z=forward
// So: Unity X = URDF X, Unity Y = URDF Z, Unity Z = -URDF Y
float unityX = rpy.x * Mathf.Rad2Deg; // Roll stays the same
float unityY = rpy.z * Mathf.Rad2Deg; // Yaw becomes Y rotation
float unityZ = -rpy.y * Mathf.Rad2Deg; // Pitch becomes -Z rotation
return Quaternion.Euler(unityX, unityY, unityZ);
}
/// <summary>
/// Convert URDF axis (right-handed, Z-up) to Unity axis (left-handed, Y-up)
/// </summary>
public static Vector3 ConvertAxis(Vector3 urdfAxis)
{
return new Vector3(urdfAxis.x, -urdfAxis.z, urdfAxis.y);
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 356a7ce62aadb3b4e9442b0cf21f3bf5

View File

@ -0,0 +1,313 @@
using System.Collections.Generic;
using System.IO;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace URDF
{
/// <summary>
/// Main URDF importer that creates Unity GameObjects from URDF data
/// </summary>
public static class URDFImporter
{
/// <summary>
/// Import a URDF file and create a GameObject hierarchy in the scene
/// </summary>
/// <param name="urdfFilePath">Path to the URDF file</param>
/// <param name="parentTransform">Parent transform to attach the robot to (null = scene root)</param>
/// <param name="ignoreURDFScale">If true, ignores URDF scale values (useful if models are already scaled to meters)</param>
/// <param name="jointPositionScale">Scale factor to apply to joint positions (default 1.0). Use 1000 if models were scaled from mm to m.</param>
/// <returns>Root GameObject of the imported robot</returns>
public static GameObject ImportURDF(string urdfFilePath, Transform parentTransform = null, bool ignoreURDFScale = false, float jointPositionScale = 1.0f)
{
// Parse URDF
URDFRobot robot = URDFParser.ParseURDF(urdfFilePath);
if (robot == null)
{
Debug.LogError("Failed to parse URDF file");
return null;
}
// Create root GameObject
GameObject rootObject = new GameObject(robot.name);
if (parentTransform != null)
{
rootObject.transform.SetParent(parentTransform);
}
// Create a dictionary to store link GameObjects
Dictionary<string, GameObject> linkGameObjects = new Dictionary<string, GameObject>();
// First pass: Create all link GameObjects
foreach (var linkPair in robot.links)
{
string linkName = linkPair.Key;
URDFLink link = linkPair.Value;
GameObject linkObject = new GameObject(linkName);
linkGameObjects[linkName] = linkObject;
// Set as child of root for now (will be reparented based on joints)
linkObject.transform.SetParent(rootObject.transform);
}
// Second pass: Set up joint hierarchy and apply transforms
foreach (var jointPair in robot.joints)
{
URDFJoint joint = jointPair.Value;
if (!linkGameObjects.ContainsKey(joint.parentLink) ||
!linkGameObjects.ContainsKey(joint.childLink))
{
Debug.LogWarning($"Joint {joint.name} references missing links: parent={joint.parentLink}, child={joint.childLink}");
continue;
}
GameObject parentObject = linkGameObjects[joint.parentLink];
GameObject childObject = linkGameObjects[joint.childLink];
// Parent child to parent
childObject.transform.SetParent(parentObject.transform);
// Apply joint origin as local transform
Vector3 unityPosition = URDFCoordinateConverter.ConvertPosition(joint.origin.xyz);
Quaternion unityRotation = URDFCoordinateConverter.ConvertRotation(joint.origin.rpy);
// Scale joint positions if needed (e.g., if models were scaled from mm to m)
unityPosition *= jointPositionScale;
childObject.transform.localPosition = unityPosition;
childObject.transform.localRotation = unityRotation;
}
// Third pass: Add visual meshes to links
foreach (var linkPair in robot.links)
{
string linkName = linkPair.Key;
URDFLink link = linkPair.Value;
GameObject linkObject = linkGameObjects[linkName];
// Add visual meshes
foreach (URDFVisual visual in link.visuals)
{
if (visual.geometry != null && visual.geometry.type == URDFGeometry.GeometryType.Mesh)
{
string meshPath = URDFMeshResolver.ResolveMeshPath(visual.geometry.meshFilename, urdfFilePath);
if (!string.IsNullOrEmpty(meshPath))
{
#if UNITY_EDITOR
Debug.Log($"Loading mesh for link {linkName}: {meshPath}");
// Ensure path uses forward slashes for Unity
meshPath = meshPath.Replace('\\', '/');
// Load the mesh/model - OBJ files are imported as GameObjects in Unity
GameObject meshPrefab = AssetDatabase.LoadAssetAtPath<GameObject>(meshPath);
// Fallback: Try to find by filename if direct path fails
if (meshPrefab == null)
{
string fileName = Path.GetFileNameWithoutExtension(meshPath);
string[] guids = AssetDatabase.FindAssets(fileName + " t:GameObject");
foreach (string guid in guids)
{
string foundPath = AssetDatabase.GUIDToAssetPath(guid);
if (foundPath.Contains(fileName) && (foundPath.EndsWith(".obj") || foundPath.EndsWith(".fbx") || foundPath.EndsWith(".glb")))
{
Debug.Log($"Found mesh by search: {foundPath}");
meshPrefab = AssetDatabase.LoadAssetAtPath<GameObject>(foundPath);
if (meshPrefab != null)
break;
}
}
}
if (meshPrefab != null)
{
Debug.Log($"Successfully loaded mesh prefab: {meshPath}");
// Instantiate the mesh as a child
GameObject meshInstance;
// Try to instantiate as prefab first (preserves prefab connection)
if (PrefabUtility.IsPartOfPrefabAsset(meshPrefab))
{
meshInstance = PrefabUtility.InstantiatePrefab(meshPrefab) as GameObject;
}
else
{
meshInstance = Object.Instantiate(meshPrefab);
}
if (meshInstance != null)
{
meshInstance.name = Path.GetFileNameWithoutExtension(meshPath);
meshInstance.transform.SetParent(linkObject.transform);
// Apply visual origin transform
Vector3 visualPos = URDFCoordinateConverter.ConvertPosition(visual.origin.xyz);
Quaternion visualRot = URDFCoordinateConverter.ConvertRotation(visual.origin.rpy);
meshInstance.transform.localPosition = visualPos;
meshInstance.transform.localRotation = visualRot;
// Apply mesh scale from URDF
// Note: URDF scale="0.001" typically means models are in millimeters
// If models are already scaled to meters, ignoreURDFScale should be true
if (!ignoreURDFScale && visual.geometry.scale != Vector3.one)
{
meshInstance.transform.localScale = visual.geometry.scale;
}
else if (ignoreURDFScale)
{
// Models are already in meters, use unity scale
meshInstance.transform.localScale = Vector3.one;
}
// Apply materials to all renderers
MeshRenderer[] renderers = meshInstance.GetComponentsInChildren<MeshRenderer>(true);
if (renderers != null && renderers.Length > 0)
{
Debug.Log($"Found {renderers.Length} renderer(s) on mesh {meshInstance.name}");
foreach (MeshRenderer renderer in renderers)
{
if (renderer == null) continue;
// Check if the renderer already has materials (from .mtl file import)
bool hasValidMaterials = renderer.sharedMaterials != null &&
renderer.sharedMaterials.Length > 0 &&
renderer.sharedMaterials[0] != null;
if (hasValidMaterials)
{
Debug.Log($"Renderer on {renderer.gameObject.name} already has materials from .mtl file, preserving them");
// Only apply URDF color override if specified and different from default
if (visual.color != Color.white && visual.color.a > 0)
{
// Create a copy of the existing material and apply color tint
Material[] materials = new Material[renderer.sharedMaterials.Length];
for (int i = 0; i < renderer.sharedMaterials.Length; i++)
{
if (renderer.sharedMaterials[i] != null)
{
materials[i] = new Material(renderer.sharedMaterials[i]);
materials[i].color = visual.color;
}
else
{
materials[i] = renderer.sharedMaterials[i];
}
}
renderer.materials = materials;
Debug.Log($"Applied URDF color override to existing materials");
}
// Otherwise, keep the imported materials as-is
}
else
{
// No materials from .mtl file, create new ones
Debug.Log($"No materials found on {renderer.gameObject.name}, creating new material");
Material mat;
// Try URP shaders first, then fallback to built-in shaders
Shader shader = Shader.Find("Universal Render Pipeline/Lit");
if (shader == null)
{
shader = Shader.Find("Universal Render Pipeline/Simple Lit");
}
if (shader == null)
{
shader = Shader.Find("Standard");
}
if (shader == null)
{
shader = Shader.Find("Diffuse");
}
if (shader == null)
{
Debug.LogError("Could not find any suitable shader for material!");
continue;
}
mat = new Material(shader);
// Use color from URDF if specified, otherwise use default grey
if (visual.color != Color.white && visual.color.a > 0)
{
mat.color = visual.color;
}
else
{
// Default grey material
mat.color = new Color(0.7f, 0.7f, 0.7f, 1f); // Light grey
}
if (mat != null)
{
renderer.material = mat;
Debug.Log($"Applied new material to renderer on {renderer.gameObject.name}");
}
else
{
Debug.LogWarning($"Failed to create material for renderer on {renderer.gameObject.name}");
}
}
}
}
else
{
Debug.LogWarning($"No renderers found on mesh instance: {meshInstance.name}");
}
Debug.Log($"Successfully added mesh to link {linkName}: {meshInstance.name}");
}
else
{
Debug.LogError($"Failed to instantiate mesh prefab: {meshPath}");
}
}
else
{
Debug.LogWarning($"Could not load mesh prefab from: {meshPath}. File may not be imported in Unity yet.");
// Try to refresh the asset database and reload
AssetDatabase.Refresh();
meshPrefab = AssetDatabase.LoadAssetAtPath<GameObject>(meshPath);
if (meshPrefab != null)
{
Debug.Log($"Mesh loaded after refresh: {meshPath}");
GameObject meshInstance = Object.Instantiate(meshPrefab);
meshInstance.name = Path.GetFileNameWithoutExtension(meshPath);
meshInstance.transform.SetParent(linkObject.transform);
Vector3 visualPos = URDFCoordinateConverter.ConvertPosition(visual.origin.xyz);
Quaternion visualRot = URDFCoordinateConverter.ConvertRotation(visual.origin.rpy);
meshInstance.transform.localPosition = visualPos;
meshInstance.transform.localRotation = visualRot;
if (visual.geometry.scale != Vector3.one)
{
meshInstance.transform.localScale = visual.geometry.scale;
}
}
}
#endif
}
else
{
Debug.LogWarning($"Could not resolve mesh path for link {linkName}: {visual.geometry.meshFilename}");
}
}
}
}
Debug.Log($"Successfully imported URDF robot: {robot.name}");
return rootObject;
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6ae4f8683db54174dbecbc1cf34c7b50

View File

@ -0,0 +1,164 @@
using System.Collections.Generic;
using System.IO;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace URDF
{
/// <summary>
/// Utility class for resolving URDF package:// URIs to Unity asset paths
/// </summary>
public static class URDFMeshResolver
{
/// <summary>
/// Resolve a URDF mesh filename (package:// URI) to a Unity asset path
/// </summary>
/// <param name="urdfFilename">URDF filename like "package://Little_Sophia_Face/meshes/Little_Sophia_Torso_.obj"</param>
/// <param name="urdfFilePath">Path to the URDF file for relative resolution</param>
/// <returns>Unity asset path relative to Assets folder, or null if not found</returns>
public static string ResolveMeshPath(string urdfFilename, string urdfFilePath)
{
if (string.IsNullOrEmpty(urdfFilename))
{
Debug.LogWarning("URDF mesh filename is null or empty");
return null;
}
// Handle package:// URIs
if (urdfFilename.StartsWith("package://"))
{
// Remove package:// prefix
string relativePath = urdfFilename.Substring("package://".Length);
// Extract just the filename from the package path
string meshFileName = Path.GetFileName(relativePath);
string originalExtension = Path.GetExtension(meshFileName).ToLower();
string fileNameWithoutExt = Path.GetFileNameWithoutExtension(meshFileName);
Debug.Log($"Resolving mesh: {urdfFilename} -> looking for {meshFileName} (extension: {originalExtension})");
// Build list of extensions to try: first the one specified in URDF, then fallbacks
List<string> extensionsToTry = new List<string>();
if (!string.IsNullOrEmpty(originalExtension))
{
extensionsToTry.Add(originalExtension); // Try the specified extension first
}
// Add fallback extensions (excluding the one we already added)
string[] fallbackExtensions = { ".obj", ".glb", ".fbx" };
foreach (string ext in fallbackExtensions)
{
if (ext != originalExtension)
{
extensionsToTry.Add(ext);
}
}
// Try direct resolution first: robots/LittleSophia/meshes/filename
// This is the most reliable method
foreach (string ext in extensionsToTry)
{
string testFileName = fileNameWithoutExt + ext;
string directPath = $"robots/LittleSophia/meshes/{testFileName}";
#if UNITY_EDITOR
// Normalize path separators for Unity (always use forward slashes)
directPath = directPath.Replace('\\', '/');
string fullPath = Path.Combine(Application.dataPath, directPath);
fullPath = fullPath.Replace('/', Path.DirectorySeparatorChar);
if (File.Exists(fullPath))
{
Debug.Log($"Found mesh at: {directPath} (full path: {fullPath})");
return directPath;
}
else
{
Debug.Log($"Checking for mesh: {fullPath} - File does not exist");
}
#endif
}
// Fallback: Try to resolve relative to the URDF file location
string urdfDir = Path.GetDirectoryName(urdfFilePath);
if (!string.IsNullOrEmpty(urdfDir))
{
string meshesDir = Path.Combine(urdfDir, "..", "meshes");
meshesDir = Path.GetFullPath(meshesDir);
foreach (string ext in extensionsToTry)
{
string testFileName = fileNameWithoutExt + ext;
string meshPath = Path.Combine(meshesDir, testFileName);
if (File.Exists(meshPath))
{
// Convert to Unity asset path (relative to Assets folder)
string assetsPath = "Assets" + meshPath.Replace(Application.dataPath, "").Replace('\\', '/');
Debug.Log($"Found mesh at: {assetsPath}");
return assetsPath;
}
}
}
}
// Handle relative paths
else if (!Path.IsPathRooted(urdfFilename))
{
string urdfDir = Path.GetDirectoryName(urdfFilePath);
string meshPath = Path.Combine(urdfDir, urdfFilename);
meshPath = Path.GetFullPath(meshPath);
if (File.Exists(meshPath))
{
string assetsPath = "Assets" + meshPath.Replace(Application.dataPath, "").Replace('\\', '/');
return assetsPath;
}
}
// Handle absolute paths
else
{
if (File.Exists(urdfFilename))
{
string assetsPath = "Assets" + urdfFilename.Replace(Application.dataPath, "").Replace('\\', '/');
return assetsPath;
}
}
Debug.LogWarning($"Could not resolve mesh path: {urdfFilename} (URDF file: {urdfFilePath})");
return null;
}
/// <summary>
/// Load a mesh from a Unity asset path
/// </summary>
public static Mesh LoadMesh(string assetPath)
{
if (string.IsNullOrEmpty(assetPath))
return null;
#if UNITY_EDITOR
// Try loading as a mesh asset
Mesh mesh = AssetDatabase.LoadAssetAtPath<Mesh>(assetPath);
if (mesh != null)
return mesh;
// Try loading as a model (FBX, OBJ, etc.) - Unity imports these as GameObjects
GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(assetPath);
if (prefab != null)
{
// Extract mesh from the prefab
MeshFilter meshFilter = prefab.GetComponentInChildren<MeshFilter>();
if (meshFilter != null && meshFilter.sharedMesh != null)
{
return meshFilter.sharedMesh;
}
}
#endif
Debug.LogWarning($"Could not load mesh from: {assetPath}");
return null;
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9f5789a382a854243beb5f5464fd0261

151
Scripts/URDF/URDFModels.cs Normal file
View File

@ -0,0 +1,151 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace URDF
{
/// <summary>
/// Represents a URDF origin with position (xyz) and rotation (rpy - roll, pitch, yaw)
/// </summary>
[Serializable]
public class URDFOrigin
{
public Vector3 xyz;
public Vector3 rpy; // Roll, Pitch, Yaw in radians
public URDFOrigin()
{
xyz = Vector3.zero;
rpy = Vector3.zero;
}
public URDFOrigin(Vector3 xyz, Vector3 rpy)
{
this.xyz = xyz;
this.rpy = rpy;
}
}
/// <summary>
/// Represents URDF geometry (mesh, box, sphere, cylinder)
/// </summary>
[Serializable]
public class URDFGeometry
{
public enum GeometryType
{
Mesh,
Box,
Sphere,
Cylinder
}
public GeometryType type;
public string meshFilename; // For mesh type
public Vector3 scale; // For mesh type
public Vector3 size; // For box type
public float radius; // For sphere/cylinder type
public float length; // For cylinder type
}
/// <summary>
/// Represents a URDF visual element
/// </summary>
[Serializable]
public class URDFVisual
{
public URDFOrigin origin;
public URDFGeometry geometry;
public string materialName;
public Color color;
}
/// <summary>
/// Represents a URDF link
/// </summary>
[Serializable]
public class URDFLink
{
public string name;
public List<URDFVisual> visuals;
public URDFOrigin inertialOrigin;
public float mass;
public Vector3 inertia; // ixx, iyy, izz
public URDFLink(string name)
{
this.name = name;
this.visuals = new List<URDFVisual>();
this.inertialOrigin = new URDFOrigin();
this.mass = 0f;
this.inertia = Vector3.zero;
}
}
/// <summary>
/// Represents a URDF joint limit
/// </summary>
[Serializable]
public class URDFJointLimit
{
public float lower;
public float upper;
public float effort;
public float velocity;
}
/// <summary>
/// Represents a URDF joint
/// </summary>
[Serializable]
public class URDFJoint
{
public enum JointType
{
Revolute,
Continuous,
Prismatic,
Fixed,
Floating,
Planar
}
public string name;
public JointType type;
public string parentLink;
public string childLink;
public URDFOrigin origin;
public Vector3 axis; // Rotation/translation axis
public URDFJointLimit limit;
public URDFJoint(string name)
{
this.name = name;
this.type = JointType.Fixed;
this.parentLink = "";
this.childLink = "";
this.origin = new URDFOrigin();
this.axis = Vector3.up;
this.limit = new URDFJointLimit();
}
}
/// <summary>
/// Represents a complete URDF robot model
/// </summary>
[Serializable]
public class URDFRobot
{
public string name;
public Dictionary<string, URDFLink> links;
public Dictionary<string, URDFJoint> joints;
public URDFRobot(string name)
{
this.name = name;
this.links = new Dictionary<string, URDFLink>();
this.joints = new Dictionary<string, URDFJoint>();
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 984b9fdcf753a9343887b67c355424a0

336
Scripts/URDF/URDFParser.cs Normal file
View File

@ -0,0 +1,336 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;
using UnityEngine;
namespace URDF
{
/// <summary>
/// Parser for URDF XML files
/// </summary>
public static class URDFParser
{
/// <summary>
/// Parse a URDF file and return a URDFRobot model
/// </summary>
public static URDFRobot ParseURDF(string filePath)
{
if (!File.Exists(filePath))
{
Debug.LogError($"URDF file not found: {filePath}");
return null;
}
XmlDocument doc = new XmlDocument();
try
{
doc.Load(filePath);
}
catch (Exception e)
{
Debug.LogError($"Failed to load URDF XML: {e.Message}");
return null;
}
XmlNode robotNode = doc.SelectSingleNode("robot");
if (robotNode == null)
{
Debug.LogError("URDF file does not contain a <robot> root element");
return null;
}
string robotName = GetAttribute(robotNode, "name", "robot");
URDFRobot robot = new URDFRobot(robotName);
// Parse all links
XmlNodeList linkNodes = robotNode.SelectNodes("link");
foreach (XmlNode linkNode in linkNodes)
{
string linkName = GetAttribute(linkNode, "name");
if (string.IsNullOrEmpty(linkName))
{
Debug.LogWarning("Found link without name attribute, skipping");
continue;
}
URDFLink link = ParseLink(linkNode, linkName);
robot.links[linkName] = link;
}
// Parse all joints
XmlNodeList jointNodes = robotNode.SelectNodes("joint");
foreach (XmlNode jointNode in jointNodes)
{
string jointName = GetAttribute(jointNode, "name");
if (string.IsNullOrEmpty(jointName))
{
Debug.LogWarning("Found joint without name attribute, skipping");
continue;
}
URDFJoint joint = ParseJoint(jointNode, jointName);
robot.joints[jointName] = joint;
}
Debug.Log($"Parsed URDF: {robot.links.Count} links, {robot.joints.Count} joints");
return robot;
}
private static URDFLink ParseLink(XmlNode linkNode, string linkName)
{
URDFLink link = new URDFLink(linkName);
// Parse visual elements
XmlNodeList visualNodes = linkNode.SelectNodes("visual");
foreach (XmlNode visualNode in visualNodes)
{
URDFVisual visual = ParseVisual(visualNode);
if (visual != null)
{
link.visuals.Add(visual);
}
}
// Parse inertial properties
XmlNode inertialNode = linkNode.SelectSingleNode("inertial");
if (inertialNode != null)
{
XmlNode originNode = inertialNode.SelectSingleNode("origin");
if (originNode != null)
{
link.inertialOrigin = ParseOrigin(originNode);
}
XmlNode massNode = inertialNode.SelectSingleNode("mass");
if (massNode != null)
{
link.mass = ParseFloat(GetAttribute(massNode, "value"), 0f);
}
XmlNode inertiaNode = inertialNode.SelectSingleNode("inertia");
if (inertiaNode != null)
{
link.inertia = new Vector3(
ParseFloat(GetAttribute(inertiaNode, "ixx"), 0f),
ParseFloat(GetAttribute(inertiaNode, "iyy"), 0f),
ParseFloat(GetAttribute(inertiaNode, "izz"), 0f)
);
}
}
return link;
}
private static URDFVisual ParseVisual(XmlNode visualNode)
{
URDFVisual visual = new URDFVisual();
// Parse origin
XmlNode originNode = visualNode.SelectSingleNode("origin");
if (originNode != null)
{
visual.origin = ParseOrigin(originNode);
}
else
{
visual.origin = new URDFOrigin();
}
// Parse geometry
XmlNode geometryNode = visualNode.SelectSingleNode("geometry");
if (geometryNode != null)
{
visual.geometry = ParseGeometry(geometryNode);
}
// Parse material
XmlNode materialNode = visualNode.SelectSingleNode("material");
if (materialNode != null)
{
visual.materialName = GetAttribute(materialNode, "name");
XmlNode colorNode = materialNode.SelectSingleNode("color");
if (colorNode != null)
{
visual.color = ParseColor(GetAttribute(colorNode, "rgba"));
}
}
return visual;
}
private static URDFGeometry ParseGeometry(XmlNode geometryNode)
{
URDFGeometry geometry = new URDFGeometry();
// Check for mesh
XmlNode meshNode = geometryNode.SelectSingleNode("mesh");
if (meshNode != null)
{
geometry.type = URDFGeometry.GeometryType.Mesh;
geometry.meshFilename = GetAttribute(meshNode, "filename");
geometry.scale = ParseVector3(GetAttribute(meshNode, "scale"), Vector3.one);
}
// Check for box
else if (geometryNode.SelectSingleNode("box") != null)
{
geometry.type = URDFGeometry.GeometryType.Box;
XmlNode boxNode = geometryNode.SelectSingleNode("box");
geometry.size = ParseVector3(GetAttribute(boxNode, "size"), Vector3.one);
}
// Check for sphere
else if (geometryNode.SelectSingleNode("sphere") != null)
{
geometry.type = URDFGeometry.GeometryType.Sphere;
XmlNode sphereNode = geometryNode.SelectSingleNode("sphere");
geometry.radius = ParseFloat(GetAttribute(sphereNode, "radius"), 0.5f);
}
// Check for cylinder
else if (geometryNode.SelectSingleNode("cylinder") != null)
{
geometry.type = URDFGeometry.GeometryType.Cylinder;
XmlNode cylinderNode = geometryNode.SelectSingleNode("cylinder");
geometry.radius = ParseFloat(GetAttribute(cylinderNode, "radius"), 0.5f);
geometry.length = ParseFloat(GetAttribute(cylinderNode, "length"), 1f);
}
return geometry;
}
private static URDFJoint ParseJoint(XmlNode jointNode, string jointName)
{
URDFJoint joint = new URDFJoint(jointName);
// Parse joint type
string typeStr = GetAttribute(jointNode, "type", "fixed").ToLower();
switch (typeStr)
{
case "revolute":
joint.type = URDFJoint.JointType.Revolute;
break;
case "continuous":
joint.type = URDFJoint.JointType.Continuous;
break;
case "prismatic":
joint.type = URDFJoint.JointType.Prismatic;
break;
case "fixed":
joint.type = URDFJoint.JointType.Fixed;
break;
case "floating":
joint.type = URDFJoint.JointType.Floating;
break;
case "planar":
joint.type = URDFJoint.JointType.Planar;
break;
default:
joint.type = URDFJoint.JointType.Fixed;
break;
}
// Parse parent and child links
XmlNode parentNode = jointNode.SelectSingleNode("parent");
if (parentNode != null)
{
joint.parentLink = GetAttribute(parentNode, "link");
}
XmlNode childNode = jointNode.SelectSingleNode("child");
if (childNode != null)
{
joint.childLink = GetAttribute(childNode, "link");
}
// Parse origin
XmlNode originNode = jointNode.SelectSingleNode("origin");
if (originNode != null)
{
joint.origin = ParseOrigin(originNode);
}
// Parse axis
XmlNode axisNode = jointNode.SelectSingleNode("axis");
if (axisNode != null)
{
joint.axis = ParseVector3(GetAttribute(axisNode, "xyz"), Vector3.up);
}
// Parse limit
XmlNode limitNode = jointNode.SelectSingleNode("limit");
if (limitNode != null)
{
joint.limit = new URDFJointLimit
{
lower = ParseFloat(GetAttribute(limitNode, "lower"), -Mathf.PI),
upper = ParseFloat(GetAttribute(limitNode, "upper"), Mathf.PI),
effort = ParseFloat(GetAttribute(limitNode, "effort"), 1000f),
velocity = ParseFloat(GetAttribute(limitNode, "velocity"), 1f)
};
}
return joint;
}
private static URDFOrigin ParseOrigin(XmlNode originNode)
{
URDFOrigin origin = new URDFOrigin();
origin.xyz = ParseVector3(GetAttribute(originNode, "xyz"), Vector3.zero);
origin.rpy = ParseVector3(GetAttribute(originNode, "rpy"), Vector3.zero);
return origin;
}
private static Vector3 ParseVector3(string str, Vector3 defaultValue)
{
if (string.IsNullOrEmpty(str))
return defaultValue;
string[] parts = str.Trim().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length >= 3)
{
return new Vector3(
ParseFloat(parts[0], defaultValue.x),
ParseFloat(parts[1], defaultValue.y),
ParseFloat(parts[2], defaultValue.z)
);
}
return defaultValue;
}
private static Color ParseColor(string rgbaStr)
{
if (string.IsNullOrEmpty(rgbaStr))
return Color.white;
string[] parts = rgbaStr.Trim().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length >= 4)
{
return new Color(
ParseFloat(parts[0], 1f),
ParseFloat(parts[1], 1f),
ParseFloat(parts[2], 1f),
ParseFloat(parts[3], 1f)
);
}
return Color.white;
}
private static float ParseFloat(string str, float defaultValue)
{
if (string.IsNullOrEmpty(str))
return defaultValue;
if (float.TryParse(str, out float result))
return result;
return defaultValue;
}
private static string GetAttribute(XmlNode node, string attributeName, string defaultValue = "")
{
if (node?.Attributes?[attributeName] != null)
return node.Attributes[attributeName].Value;
return defaultValue;
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 889dc7f8786b60a4e883916f4b91f9a2

8
Settings.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 709f11a7f3c4041caa4ef136ea32d874
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,982 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-9167874883656233139
MonoBehaviour:
m_ObjectHideFlags: 3
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: 5485954d14dfb9a4c8ead8edb0ded5b1, type: 3}
m_Name: LiftGammaGain
m_EditorClassIdentifier:
active: 1
lift:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
gamma:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
gain:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
--- !u!114 &-8270506406425502121
MonoBehaviour:
m_ObjectHideFlags: 3
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: 70afe9e12c7a7ed47911bb608a23a8ff, type: 3}
m_Name: SplitToning
m_EditorClassIdentifier:
active: 1
shadows:
m_OverrideState: 1
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
highlights:
m_OverrideState: 1
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
balance:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-8104416584915340131
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0}
m_Name: CopyPasteTestComponent2
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEditor.Rendering.Tests:VolumeComponentCopyPasteTests/CopyPasteTestComponent2
active: 1
p1:
m_OverrideState: 1
m_Value: 0
p2:
m_OverrideState: 1
m_Value: 0
p21:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-7750755424749557576
MonoBehaviour:
m_ObjectHideFlags: 3
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: 60f3b30c03e6ba64d9a27dc9dba8f28d, type: 3}
m_Name: OutlineVolumeComponent
m_EditorClassIdentifier:
active: 1
Enabled:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-7743500325797982168
MonoBehaviour:
m_ObjectHideFlags: 3
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: ccf1aba9553839d41ae37dd52e9ebcce, type: 3}
m_Name: MotionBlur
m_EditorClassIdentifier:
active: 1
mode:
m_OverrideState: 1
m_Value: 0
quality:
m_OverrideState: 1
m_Value: 0
intensity:
m_OverrideState: 1
m_Value: 0
clamp:
m_OverrideState: 1
m_Value: 0.05
--- !u!114 &-7274224791359825572
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0fd9ee276a1023e439cf7a9c393195fa, type: 3}
m_Name: TestAnimationCurveVolumeComponent
m_EditorClassIdentifier:
active: 1
testParameter:
m_OverrideState: 1
m_Value:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.5
value: 10
inSlope: 0
outSlope: 10
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 15
inSlope: 10
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &-6335409530604852063
MonoBehaviour:
m_ObjectHideFlags: 3
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: 66f335fb1ffd8684294ad653bf1c7564, type: 3}
m_Name: ColorAdjustments
m_EditorClassIdentifier:
active: 1
postExposure:
m_OverrideState: 1
m_Value: 0
contrast:
m_OverrideState: 1
m_Value: 0
colorFilter:
m_OverrideState: 1
m_Value: {r: 1, g: 1, b: 1, a: 1}
hueShift:
m_OverrideState: 1
m_Value: 0
saturation:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-6288072647309666549
MonoBehaviour:
m_ObjectHideFlags: 3
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: 29fa0085f50d5e54f8144f766051a691, type: 3}
m_Name: FilmGrain
m_EditorClassIdentifier:
active: 1
type:
m_OverrideState: 1
m_Value: 0
intensity:
m_OverrideState: 1
m_Value: 0
response:
m_OverrideState: 1
m_Value: 0.8
texture:
m_OverrideState: 1
m_Value: {fileID: 0}
--- !u!114 &-5520245016509672950
MonoBehaviour:
m_ObjectHideFlags: 3
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: 97c23e3b12dc18c42a140437e53d3951, type: 3}
m_Name: Tonemapping
m_EditorClassIdentifier:
active: 1
mode:
m_OverrideState: 1
m_Value: 0
neutralHDRRangeReductionMode:
m_OverrideState: 1
m_Value: 2
acesPreset:
m_OverrideState: 1
m_Value: 3
hueShiftAmount:
m_OverrideState: 1
m_Value: 0
detectPaperWhite:
m_OverrideState: 1
m_Value: 0
paperWhite:
m_OverrideState: 1
m_Value: 300
detectBrightnessLimits:
m_OverrideState: 1
m_Value: 1
minNits:
m_OverrideState: 1
m_Value: 0.005
maxNits:
m_OverrideState: 1
m_Value: 1000
--- !u!114 &-5360449096862653589
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0}
m_Name: VolumeComponentSupportedEverywhere
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEngine.Rendering.Tests:VolumeComponentEditorSupportedOnTests/VolumeComponentSupportedEverywhere
active: 1
--- !u!114 &-5139089513906902183
MonoBehaviour:
m_ObjectHideFlags: 3
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: 5a00a63fdd6bd2a45ab1f2d869305ffd, type: 3}
m_Name: OasisFogVolumeComponent
m_EditorClassIdentifier:
active: 1
Density:
m_OverrideState: 1
m_Value: 0
StartDistance:
m_OverrideState: 1
m_Value: 0
HeightRange:
m_OverrideState: 1
m_Value: {x: 0, y: 50}
Tint:
m_OverrideState: 1
m_Value: {r: 1, g: 1, b: 1, a: 1}
SunScatteringIntensity:
m_OverrideState: 1
m_Value: 2
--- !u!114 &-4463884970436517307
MonoBehaviour:
m_ObjectHideFlags: 3
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: fb60a22f311433c4c962b888d1393f88, type: 3}
m_Name: PaniniProjection
m_EditorClassIdentifier:
active: 1
distance:
m_OverrideState: 1
m_Value: 0
cropToFit:
m_OverrideState: 1
m_Value: 1
--- !u!114 &-1410297666881709256
MonoBehaviour:
m_ObjectHideFlags: 3
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: 6bd486065ce11414fa40e631affc4900, type: 3}
m_Name: ProbeVolumesOptions
m_EditorClassIdentifier:
active: 1
normalBias:
m_OverrideState: 1
m_Value: 0.33
viewBias:
m_OverrideState: 1
m_Value: 0
scaleBiasWithMinProbeDistance:
m_OverrideState: 1
m_Value: 0
samplingNoise:
m_OverrideState: 1
m_Value: 0.1
animateSamplingNoise:
m_OverrideState: 1
m_Value: 1
leakReductionMode:
m_OverrideState: 1
m_Value: 1
minValidDotProductValue:
m_OverrideState: 1
m_Value: 0.1
occlusionOnlyReflectionNormalization:
m_OverrideState: 1
m_Value: 1
intensityMultiplier:
m_OverrideState: 1
m_Value: 1
skyOcclusionIntensityMultiplier:
m_OverrideState: 1
m_Value: 1
--- !u!114 &-1216621516061285780
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier:
active: 1
skipIterations:
m_OverrideState: 1
m_Value: 1
threshold:
m_OverrideState: 1
m_Value: 0.9
intensity:
m_OverrideState: 1
m_Value: 0
scatter:
m_OverrideState: 1
m_Value: 0.7
clamp:
m_OverrideState: 1
m_Value: 65472
tint:
m_OverrideState: 1
m_Value: {r: 1, g: 1, b: 1, a: 1}
highQualityFiltering:
m_OverrideState: 1
m_Value: 0
downscale:
m_OverrideState: 1
m_Value: 0
maxIterations:
m_OverrideState: 1
m_Value: 6
dirtTexture:
m_OverrideState: 1
m_Value: {fileID: 0}
dimension: 1
dirtIntensity:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-1170528603972255243
MonoBehaviour:
m_ObjectHideFlags: 3
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: 221518ef91623a7438a71fef23660601, type: 3}
m_Name: WhiteBalance
m_EditorClassIdentifier:
active: 1
temperature:
m_OverrideState: 1
m_Value: 0
tint:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-581120513425526550
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0}
m_Name: CopyPasteTestComponent3
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEditor.Rendering.Tests:VolumeComponentCopyPasteTests/CopyPasteTestComponent3
active: 1
p1:
m_OverrideState: 1
m_Value: 0
p2:
m_OverrideState: 1
m_Value: 0
p31:
m_OverrideState: 1
m_Value: {r: 0, g: 0, b: 0, a: 1}
--- !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:
components:
- {fileID: -9167874883656233139}
- {fileID: 1918650496244738858}
- {fileID: 853819529557874667}
- {fileID: 1052315754049611418}
- {fileID: -1170528603972255243}
- {fileID: -8270506406425502121}
- {fileID: -5520245016509672950}
- {fileID: 7173750748008157695}
- {fileID: 1666464333004379222}
- {fileID: 9001657382290151224}
- {fileID: -6335409530604852063}
- {fileID: -1216621516061285780}
- {fileID: 3959858460715838825}
- {fileID: -7743500325797982168}
- {fileID: 4644742534064026673}
- {fileID: -4463884970436517307}
- {fileID: -6288072647309666549}
- {fileID: 7518938298396184218}
- {fileID: -1410297666881709256}
- {fileID: -7750755424749557576}
- {fileID: -5139089513906902183}
--- !u!114 &853819529557874667
MonoBehaviour:
m_ObjectHideFlags: 3
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: 06437c1ff663d574d9447842ba0a72e4, type: 3}
m_Name: ScreenSpaceLensFlare
m_EditorClassIdentifier:
active: 1
intensity:
m_OverrideState: 1
m_Value: 0
tintColor:
m_OverrideState: 1
m_Value: {r: 1, g: 1, b: 1, a: 1}
bloomMip:
m_OverrideState: 1
m_Value: 1
firstFlareIntensity:
m_OverrideState: 1
m_Value: 1
secondaryFlareIntensity:
m_OverrideState: 1
m_Value: 1
warpedFlareIntensity:
m_OverrideState: 1
m_Value: 1
warpedFlareScale:
m_OverrideState: 1
m_Value: {x: 1, y: 1}
samples:
m_OverrideState: 1
m_Value: 1
sampleDimmer:
m_OverrideState: 1
m_Value: 0.5
vignetteEffect:
m_OverrideState: 1
m_Value: 1
startingPosition:
m_OverrideState: 1
m_Value: 1.25
scale:
m_OverrideState: 1
m_Value: 1.5
streaksIntensity:
m_OverrideState: 1
m_Value: 0
streaksLength:
m_OverrideState: 1
m_Value: 0.5
streaksOrientation:
m_OverrideState: 1
m_Value: 0
streaksThreshold:
m_OverrideState: 1
m_Value: 0.25
resolution:
m_OverrideState: 1
m_Value: 4
chromaticAbberationIntensity:
m_OverrideState: 1
m_Value: 0.5
--- !u!114 &1052315754049611418
MonoBehaviour:
m_ObjectHideFlags: 3
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: 558a8e2b6826cf840aae193990ba9f2e, type: 3}
m_Name: ShadowsMidtonesHighlights
m_EditorClassIdentifier:
active: 1
shadows:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
midtones:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
highlights:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
shadowsStart:
m_OverrideState: 1
m_Value: 0
shadowsEnd:
m_OverrideState: 1
m_Value: 0.3
highlightsStart:
m_OverrideState: 1
m_Value: 0.55
highlightsEnd:
m_OverrideState: 1
m_Value: 1
--- !u!114 &1666464333004379222
MonoBehaviour:
m_ObjectHideFlags: 3
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: 3eb4b772797da9440885e8bd939e9560, type: 3}
m_Name: ColorCurves
m_EditorClassIdentifier:
active: 1
master:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 2
m_Loop: 0
m_ZeroValue: 0
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
red:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 2
m_Loop: 0
m_ZeroValue: 0
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
green:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 2
m_Loop: 0
m_ZeroValue: 0
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
blue:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 2
m_Loop: 0
m_ZeroValue: 0
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
hueVsHue:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 0
m_Loop: 1
m_ZeroValue: 0.5
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
hueVsSat:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 0
m_Loop: 1
m_ZeroValue: 0.5
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
satVsSat:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 0
m_Loop: 0
m_ZeroValue: 0.5
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
lumVsSat:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 0
m_Loop: 0
m_ZeroValue: 0.5
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &1918650496244738858
MonoBehaviour:
m_ObjectHideFlags: 3
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: e021b4c809a781e468c2988c016ebbea, type: 3}
m_Name: ColorLookup
m_EditorClassIdentifier:
active: 1
texture:
m_OverrideState: 1
m_Value: {fileID: 0}
dimension: 1
contribution:
m_OverrideState: 1
m_Value: 0
--- !u!114 &3959858460715838825
MonoBehaviour:
m_ObjectHideFlags: 3
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: c01700fd266d6914ababb731e09af2eb, type: 3}
m_Name: DepthOfField
m_EditorClassIdentifier:
active: 1
mode:
m_OverrideState: 1
m_Value: 0
gaussianStart:
m_OverrideState: 1
m_Value: 10
gaussianEnd:
m_OverrideState: 1
m_Value: 30
gaussianMaxRadius:
m_OverrideState: 1
m_Value: 1
highQualitySampling:
m_OverrideState: 1
m_Value: 0
focusDistance:
m_OverrideState: 1
m_Value: 10
aperture:
m_OverrideState: 1
m_Value: 5.6
focalLength:
m_OverrideState: 1
m_Value: 50
bladeCount:
m_OverrideState: 1
m_Value: 5
bladeCurvature:
m_OverrideState: 1
m_Value: 1
bladeRotation:
m_OverrideState: 1
m_Value: 0
--- !u!114 &4251301726029935498
MonoBehaviour:
m_ObjectHideFlags: 3
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: 74955a4b0b4243bc87231e8b59ed9140, type: 3}
m_Name: TestVolume
m_EditorClassIdentifier:
active: 1
param:
m_OverrideState: 1
m_Value: 123
--- !u!114 &4644742534064026673
MonoBehaviour:
m_ObjectHideFlags: 3
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: 81180773991d8724ab7f2d216912b564, type: 3}
m_Name: ChromaticAberration
m_EditorClassIdentifier:
active: 1
intensity:
m_OverrideState: 1
m_Value: 0
--- !u!114 &6940869943325143175
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0}
m_Name: VolumeComponentSupportedOnAnySRP
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEngine.Rendering.Tests:VolumeComponentEditorSupportedOnTests/VolumeComponentSupportedOnAnySRP
active: 1
--- !u!114 &7173750748008157695
MonoBehaviour:
m_ObjectHideFlags: 3
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: 899c54efeace73346a0a16faa3afe726, type: 3}
m_Name: Vignette
m_EditorClassIdentifier:
active: 1
color:
m_OverrideState: 1
m_Value: {r: 0, g: 0, b: 0, a: 1}
center:
m_OverrideState: 1
m_Value: {x: 0.5, y: 0.5}
intensity:
m_OverrideState: 1
m_Value: 0
smoothness:
m_OverrideState: 1
m_Value: 0.2
rounded:
m_OverrideState: 1
m_Value: 0
--- !u!114 &7518938298396184218
MonoBehaviour:
m_ObjectHideFlags: 3
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: c5e1dc532bcb41949b58bc4f2abfbb7e, type: 3}
m_Name: LensDistortion
m_EditorClassIdentifier:
active: 1
intensity:
m_OverrideState: 1
m_Value: 0
xMultiplier:
m_OverrideState: 1
m_Value: 1
yMultiplier:
m_OverrideState: 1
m_Value: 1
center:
m_OverrideState: 1
m_Value: {x: 0.5, y: 0.5}
scale:
m_OverrideState: 1
m_Value: 1
--- !u!114 &9001657382290151224
MonoBehaviour:
m_ObjectHideFlags: 3
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: cdfbdbb87d3286943a057f7791b43141, type: 3}
m_Name: ChannelMixer
m_EditorClassIdentifier:
active: 1
redOutRedIn:
m_OverrideState: 1
m_Value: 100
redOutGreenIn:
m_OverrideState: 1
m_Value: 0
redOutBlueIn:
m_OverrideState: 1
m_Value: 0
greenOutRedIn:
m_OverrideState: 1
m_Value: 0
greenOutGreenIn:
m_OverrideState: 1
m_Value: 100
greenOutBlueIn:
m_OverrideState: 1
m_Value: 0
blueOutRedIn:
m_OverrideState: 1
m_Value: 0
blueOutGreenIn:
m_OverrideState: 1
m_Value: 0
blueOutBlueIn:
m_OverrideState: 1
m_Value: 100
--- !u!114 &9122958982931076880
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0}
m_Name: CopyPasteTestComponent1
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEditor.Rendering.Tests:VolumeComponentCopyPasteTests/CopyPasteTestComponent1
active: 1
p1:
m_OverrideState: 1
m_Value: 0
p2:
m_OverrideState: 1
m_Value: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ab09877e2e707104187f6f83e2f62510
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,135 @@
%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: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: Mobile_RPAsset
m_EditorClassIdentifier:
k_AssetVersion: 12
k_AssetPreviousVersion: 12
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: 65bc7dbf4170f435aa868c779acfb082, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 0
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 0
m_SupportsTerrainHoles: 1
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 0.8
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
m_EnableLODCrossFade: 1
m_LODCrossFadeDitheringType: 1
m_ShEvalMode: 0
m_LightProbeSystem: 0
m_ProbeVolumeMemoryBudget: 1024
m_ProbeVolumeBlendingMemoryBudget: 256
m_SupportProbeVolumeGPUStreaming: 0
m_SupportProbeVolumeDiskStreaming: 0
m_SupportProbeVolumeScenarios: 0
m_SupportProbeVolumeScenarioBlending: 0
m_ProbeVolumeSHBands: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 1024
m_AdditionalLightsRenderingMode: 1
m_AdditionalLightsPerObjectLimit: 4
m_AdditionalLightShadowsSupported: 0
m_AdditionalLightsShadowmapResolution: 2048
m_AdditionalLightsShadowResolutionTierLow: 256
m_AdditionalLightsShadowResolutionTierMedium: 512
m_AdditionalLightsShadowResolutionTierHigh: 1024
m_ReflectionProbeBlending: 1
m_ReflectionProbeBoxProjection: 1
m_ShadowDistance: 50
m_ShadowCascadeCount: 1
m_Cascade2Split: 0.25
m_Cascade3Split: {x: 0.1, y: 0.3}
m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
m_CascadeBorder: 0.2
m_ShadowDepthBias: 1
m_ShadowNormalBias: 1
m_AnyShadowsSupported: 1
m_SoftShadowsSupported: 0
m_ConservativeEnclosingSphere: 1
m_NumIterationsEnclosingSphere: 64
m_SoftShadowQuality: 2
m_AdditionalLightsCookieResolution: 1024
m_AdditionalLightsCookieFormat: 1
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_SupportsLightCookies: 1
m_SupportsLightLayers: 1
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_UseFastSRGBLinearConversion: 1
m_SupportDataDrivenLensFlare: 1
m_SupportScreenSpaceLensFlare: 1
m_GPUResidentDrawerMode: 0
m_UseLegacyLightmaps: 0
m_SmallMeshScreenPercentage: 0
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_VolumeFrameworkUpdateMode: 0
m_VolumeProfile: {fileID: 11400000, guid: 10fc4df2da32a41aaa32d77bc913491c, type: 2}
apvScenesData:
obsoleteSceneBounds:
m_Keys: []
m_Values: []
obsoleteHasProbeVolumes:
m_Keys: []
m_Values:
m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLightShadows: 0
m_PrefilterXRKeywords: 1
m_PrefilteringModeForwardPlus: 1
m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 0
m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1
m_PrefilterSSAODepthNormals: 1
m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 0
m_PrefilterSSAOSourceDepthHigh: 1
m_PrefilterSSAOInterleaved: 0
m_PrefilterSSAOBlueNoise: 1
m_PrefilterSSAOSampleCountLow: 1
m_PrefilterSSAOSampleCountMedium: 0
m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1
m_PrefilterDBufferMRT3: 1
m_PrefilterSoftShadowsQualityLow: 1
m_PrefilterSoftShadowsQualityMedium: 1
m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5e6cbd92db86f4b18aec3ed561671858
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,52 @@
%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: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
m_Name: Mobile_Renderer
m_EditorClassIdentifier:
debugShaders:
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7,
type: 3}
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959,
type: 3}
probeVolumeResources:
probeVolumeDebugShader: {fileID: 0}
probeVolumeFragmentationDebugShader: {fileID: 0}
probeVolumeOffsetDebugShader: {fileID: 0}
probeVolumeSamplingDebugShader: {fileID: 0}
probeSamplingDebugMesh: {fileID: 0}
probeSamplingDebugTexture: {fileID: 0}
probeVolumeBlendStatesCS: {fileID: 0}
m_RendererFeatures: []
m_RendererFeatureMap:
m_UseNativeRenderPass: 1
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
m_AssetVersion: 2
m_OpaqueLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_TransparentLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_DefaultStencilState:
overrideStencilState: 0
stencilReference: 0
stencilCompareFunction: 8
passOperation: 2
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 0
m_RenderingMode: 0
m_DepthPrimingMode: 0
m_CopyDepthMode: 0
m_AccurateGbufferNormals: 0
m_IntermediateTextureMode: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 65bc7dbf4170f435aa868c779acfb082
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

143
Settings/PC_RPAsset.asset Normal file
View File

@ -0,0 +1,143 @@
%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: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: PC_RPAsset
m_EditorClassIdentifier:
k_AssetVersion: 13
k_AssetPreviousVersion: 13
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: f288ae1f4751b564a96ac7587541f7a2, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 1
m_RequireOpaqueTexture: 1
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 1
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 1
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
m_EnableLODCrossFade: 1
m_LODCrossFadeDitheringType: 1
m_ShEvalMode: 0
m_LightProbeSystem: 0
m_ProbeVolumeMemoryBudget: 1024
m_ProbeVolumeBlendingMemoryBudget: 256
m_SupportProbeVolumeGPUStreaming: 0
m_SupportProbeVolumeDiskStreaming: 0
m_SupportProbeVolumeScenarios: 0
m_SupportProbeVolumeScenarioBlending: 0
m_ProbeVolumeSHBands: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 2048
m_AdditionalLightsRenderingMode: 1
m_AdditionalLightsPerObjectLimit: 4
m_AdditionalLightShadowsSupported: 1
m_AdditionalLightsShadowmapResolution: 2048
m_AdditionalLightsShadowResolutionTierLow: 256
m_AdditionalLightsShadowResolutionTierMedium: 512
m_AdditionalLightsShadowResolutionTierHigh: 1024
m_ReflectionProbeBlending: 1
m_ReflectionProbeBoxProjection: 1
m_ReflectionProbeAtlas: 1
m_ShadowDistance: 50
m_ShadowCascadeCount: 4
m_Cascade2Split: 0.25
m_Cascade3Split: {x: 0.1, y: 0.3}
m_Cascade4Split: {x: 0.12299999, y: 0.2926, z: 0.53599995}
m_CascadeBorder: 0.107758604
m_ShadowDepthBias: 0.1
m_ShadowNormalBias: 0.5
m_AnyShadowsSupported: 1
m_SoftShadowsSupported: 1
m_ConservativeEnclosingSphere: 1
m_NumIterationsEnclosingSphere: 64
m_SoftShadowQuality: 3
m_AdditionalLightsCookieResolution: 2048
m_AdditionalLightsCookieFormat: 3
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_SupportsLightCookies: 1
m_SupportsLightLayers: 1
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_AllowPostProcessAlphaOutput: 0
m_UseFastSRGBLinearConversion: 0
m_SupportDataDrivenLensFlare: 1
m_SupportScreenSpaceLensFlare: 1
m_GPUResidentDrawerMode: 0
m_SmallMeshScreenPercentage: 0
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_VolumeFrameworkUpdateMode: 0
m_VolumeProfile: {fileID: 11400000, guid: 10fc4df2da32a41aaa32d77bc913491c, type: 2}
apvScenesData:
obsoleteSceneBounds:
m_Keys: []
m_Values: []
obsoleteHasProbeVolumes:
m_Keys: []
m_Values:
m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLightShadows: 0
m_PrefilterXRKeywords: 1
m_PrefilteringModeForwardPlus: 1
m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 1
m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 0
m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 0
m_PrefilterSSAODepthNormals: 0
m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 1
m_PrefilterSSAOSourceDepthHigh: 1
m_PrefilterSSAOInterleaved: 1
m_PrefilterSSAOBlueNoise: 0
m_PrefilterSSAOSampleCountLow: 1
m_PrefilterSSAOSampleCountMedium: 0
m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1
m_PrefilterDBufferMRT3: 0
m_PrefilterSoftShadowsQualityLow: 0
m_PrefilterSoftShadowsQualityMedium: 0
m_PrefilterSoftShadowsQualityHigh: 0
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1
m_PrefilterScreenSpaceIrradiance: 0
m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0
m_PrefilterBicubicLightmapSampling: 0
m_PrefilterReflectionProbeRotation: 0
m_PrefilterReflectionProbeBlending: 0
m_PrefilterReflectionProbeBoxProjection: 0
m_PrefilterReflectionProbeAtlas: 0
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4b83569d67af61e458304325a23e5dfd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,95 @@
%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: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
m_Name: PC_Renderer
m_EditorClassIdentifier:
debugShaders:
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7,
type: 3}
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959,
type: 3}
probeVolumeResources:
probeVolumeDebugShader: {fileID: 4800000, guid: e5c6678ed2aaa91408dd3df699057aae,
type: 3}
probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 03cfc4915c15d504a9ed85ecc404e607,
type: 3}
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: 53a11f4ebaebf4049b3638ef78dc9664,
type: 3}
probeVolumeSamplingDebugShader: {fileID: 4800000, guid: 8f96cd657dc40064aa21efcc7e50a2e7,
type: 3}
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 57d7c4c16e2765b47a4d2069b311bffe,
type: 3}
probeSamplingDebugTexture: {fileID: 2800000, guid: 24ec0e140fb444a44ab96ee80844e18e,
type: 3}
probeVolumeBlendStatesCS: {fileID: 7200000, guid: b9a23f869c4fd45f19c5ada54dd82176,
type: 3}
m_RendererFeatures:
- {fileID: 7833122117494664109}
m_RendererFeatureMap: ad6b866f10d7b46c
m_UseNativeRenderPass: 1
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
m_AssetVersion: 2
m_OpaqueLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_TransparentLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_DefaultStencilState:
overrideStencilState: 0
stencilReference: 1
stencilCompareFunction: 3
passOperation: 2
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 1
m_RenderingMode: 2
m_DepthPrimingMode: 0
m_CopyDepthMode: 0
m_AccurateGbufferNormals: 0
m_IntermediateTextureMode: 0
--- !u!114 &7833122117494664109
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: f62c9c65cf3354c93be831c8bc075510, type: 3}
m_Name: ScreenSpaceAmbientOcclusion
m_EditorClassIdentifier:
m_Active: 1
m_Settings:
AOMethod: 0
Downsample: 0
AfterOpaque: 0
Source: 1
NormalSamples: 1
Intensity: 0.4
DirectLightingStrength: 0.25
Radius: 0.3
Samples: 1
BlurQuality: 0
Falloff: 100
SampleCount: -1
m_BlueNoise256Textures:
- {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3}
- {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3}
- {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3}
- {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3}
- {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3}
- {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3}
- {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3}
m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f288ae1f4751b564a96ac7587541f7a2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,159 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7893295128165547882
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier:
active: 1
skipIterations:
m_OverrideState: 1
m_Value: 0
threshold:
m_OverrideState: 1
m_Value: 1
intensity:
m_OverrideState: 1
m_Value: 0.25
scatter:
m_OverrideState: 1
m_Value: 0.5
clamp:
m_OverrideState: 0
m_Value: 65472
tint:
m_OverrideState: 0
m_Value: {r: 1, g: 1, b: 1, a: 1}
highQualityFiltering:
m_OverrideState: 1
m_Value: 1
downscale:
m_OverrideState: 0
m_Value: 0
maxIterations:
m_OverrideState: 0
m_Value: 6
dirtTexture:
m_OverrideState: 0
m_Value: {fileID: 0}
dimension: 1
dirtIntensity:
m_OverrideState: 0
m_Value: 0
--- !u!114 &-3357603926938260329
MonoBehaviour:
m_ObjectHideFlags: 3
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: 899c54efeace73346a0a16faa3afe726, type: 3}
m_Name: Vignette
m_EditorClassIdentifier:
active: 1
color:
m_OverrideState: 0
m_Value: {r: 0, g: 0, b: 0, a: 1}
center:
m_OverrideState: 0
m_Value: {x: 0.5, y: 0.5}
intensity:
m_OverrideState: 1
m_Value: 0.2
smoothness:
m_OverrideState: 0
m_Value: 0.2
rounded:
m_OverrideState: 0
m_Value: 0
--- !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: SampleSceneProfile
m_EditorClassIdentifier:
components:
- {fileID: 849379129802519247}
- {fileID: -7893295128165547882}
- {fileID: 7391319092446245454}
- {fileID: -3357603926938260329}
--- !u!114 &849379129802519247
MonoBehaviour:
m_ObjectHideFlags: 3
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: 97c23e3b12dc18c42a140437e53d3951, type: 3}
m_Name: Tonemapping
m_EditorClassIdentifier:
active: 1
mode:
m_OverrideState: 1
m_Value: 1
neutralHDRRangeReductionMode:
m_OverrideState: 0
m_Value: 2
acesPreset:
m_OverrideState: 0
m_Value: 3
hueShiftAmount:
m_OverrideState: 0
m_Value: 0
detectPaperWhite:
m_OverrideState: 1
m_Value: 0
paperWhite:
m_OverrideState: 1
m_Value: 234
detectBrightnessLimits:
m_OverrideState: 1
m_Value: 1
minNits:
m_OverrideState: 1
m_Value: 0.005
maxNits:
m_OverrideState: 1
m_Value: 647
--- !u!114 &7391319092446245454
MonoBehaviour:
m_ObjectHideFlags: 3
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: ccf1aba9553839d41ae37dd52e9ebcce, type: 3}
m_Name: MotionBlur
m_EditorClassIdentifier:
active: 0
mode:
m_OverrideState: 0
m_Value: 0
quality:
m_OverrideState: 1
m_Value: 2
intensity:
m_OverrideState: 1
m_Value: 0.6
clamp:
m_OverrideState: 0
m_Value: 0.05

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 10fc4df2da32a41aaa32d77bc913491c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,387 @@
%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: 2ec995e51a6e251468d2a3fd8a686257, type: 3}
m_Name: UniversalRenderPipelineGlobalSettings
m_EditorClassIdentifier:
m_ShaderStrippingSetting:
m_Version: 0
m_ExportShaderVariants: 1
m_ShaderVariantLogLevel: 0
m_StripRuntimeDebugShaders: 1
m_URPShaderStrippingSetting:
m_Version: 0
m_StripUnusedPostProcessingVariants: 1
m_StripUnusedVariants: 1
m_StripScreenCoordOverrideVariants: 1
m_ShaderVariantLogLevel: 0
m_ExportShaderVariants: 1
m_StripDebugVariants: 1
m_StripUnusedPostProcessingVariants: 1
m_StripUnusedVariants: 1
m_StripScreenCoordOverrideVariants: 1
supportRuntimeDebugDisplay: 0
m_EnableRenderGraph: 0
m_Settings:
m_SettingsList:
m_List:
- rid: 6852985685364965376
- rid: 6852985685364965377
- rid: 6852985685364965378
- rid: 6852985685364965379
- rid: 6852985685364965380
- rid: 6852985685364965381
- rid: 6852985685364965382
- rid: 6852985685364965383
- rid: 6852985685364965384
- rid: 6852985685364965385
- rid: 6852985685364965386
- rid: 6852985685364965387
- rid: 6852985685364965388
- rid: 6852985685364965389
- rid: 6852985685364965390
- rid: 6852985685364965391
- rid: 6852985685364965392
- rid: 6852985685364965393
- rid: 6852985685364965394
- rid: 8712630790384254976
- rid: 5710473422257520640
- rid: 5710473422257520641
- rid: 5710473422257520642
- rid: 5710473422257520643
- rid: 5710473422257520644
- rid: 5710473422257520645
- rid: 5710473422257520646
- rid: 5710473422257520647
- rid: 5710473422257520648
- rid: 5710473422257520649
- rid: 5710473422257520650
- rid: 5710473422257520651
m_RuntimeSettings:
m_List: []
m_AssetVersion: 9
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
m_RenderingLayerNames:
- Light Layer default
- Light Layer 1
- Light Layer 2
- Light Layer 3
- Light Layer 4
- Light Layer 5
- Light Layer 6
- Light Layer 7
m_ValidRenderingLayers: 0
lightLayerName0: Light Layer default
lightLayerName1: Light Layer 1
lightLayerName2: Light Layer 2
lightLayerName3: Light Layer 3
lightLayerName4: Light Layer 4
lightLayerName5: Light Layer 5
lightLayerName6: Light Layer 6
lightLayerName7: Light Layer 7
apvScenesData:
obsoleteSceneBounds:
m_Keys: []
m_Values: []
obsoleteHasProbeVolumes:
m_Keys: []
m_Values:
references:
version: 2
RefIds:
- rid: 5710473422257520640
type: {class: RayTracingRenderPipelineResources, ns: UnityEngine.Rendering.UnifiedRayTracing, asm: Unity.UnifiedRayTracing.Runtime}
data:
m_Version: 1
m_GeometryPoolKernels: {fileID: 7200000, guid: 98e3d58cae7210c4786f67f504c9e899, type: 3}
m_CopyBuffer: {fileID: 7200000, guid: 1b95b5dcf48d1914c9e1e7405c7660e3, type: 3}
m_CopyPositions: {fileID: 7200000, guid: 1ad53a96b58d3c3488dde4f14db1aaeb, type: 3}
m_BitHistogram: {fileID: 7200000, guid: 8670f7ce4b60cef43bed36148aa1b0a2, type: 3}
m_BlockReducePart: {fileID: 7200000, guid: 4e034cc8ea2635c4e9f063e5ddc7ea7a, type: 3}
m_BlockScan: {fileID: 7200000, guid: 4d6d5de35fa45ef4a92119397a045cc9, type: 3}
m_BuildHlbvh: {fileID: 7200000, guid: 2d70cd6be91bd7843a39a54b51c15b13, type: 3}
m_RestructureBvh: {fileID: 7200000, guid: 56641cb88dcb31a4398a4997ef7a7a8c, type: 3}
m_Scatter: {fileID: 7200000, guid: a2eaeefdac4637a44b734e85b7be9186, type: 3}
- rid: 5710473422257520641
type: {class: ScreenSpaceAmbientOcclusionPersistentResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}
m_Version: 0
- rid: 5710473422257520642
type: {class: ScreenSpaceAmbientOcclusionDynamicResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_BlueNoise256Textures:
- {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3}
- {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3}
- {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3}
- {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3}
- {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3}
- {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3}
- {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3}
m_Version: 0
- rid: 5710473422257520643
type: {class: OnTilePostProcessResource, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_UberPostShader: {fileID: 4800000, guid: fe4f13c1004a07d4ea1e30bfd0326d9e, type: 3}
- rid: 5710473422257520644
type: {class: PostProcessData/TextureResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
blueNoise16LTex: []
filmGrainTex:
- {fileID: 2800000, guid: 654c582f7f8a5a14dbd7d119cbde215d, type: 3}
- {fileID: 2800000, guid: dd77ffd079630404e879388999033049, type: 3}
- {fileID: 2800000, guid: 1097e90e1306e26439701489f391a6c0, type: 3}
- {fileID: 2800000, guid: f0b67500f7fad3b4c9f2b13e8f41ba6e, type: 3}
- {fileID: 2800000, guid: 9930fb4528622b34687b00bbe6883de7, type: 3}
- {fileID: 2800000, guid: bd9e8c758250ef449a4b4bfaad7a2133, type: 3}
- {fileID: 2800000, guid: 510a2f57334933e4a8dbabe4c30204e4, type: 3}
- {fileID: 2800000, guid: b4db8180660810945bf8d55ab44352ad, type: 3}
- {fileID: 2800000, guid: fd2fd78b392986e42a12df2177d3b89c, type: 3}
- {fileID: 2800000, guid: 5cdee82a77d13994f83b8fdabed7c301, type: 3}
smaaAreaTex: {fileID: 2800000, guid: d1f1048909d55cd4fa1126ab998f617e, type: 3}
smaaSearchTex: {fileID: 2800000, guid: 51eee22c2a633ef4aada830eed57c3fd, type: 3}
m_TexturesResourcesVersion: 0
- rid: 5710473422257520645
type: {class: UniversalRenderPipelineRuntimeXRResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, type: 3}
m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, type: 3}
m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, type: 3}
- rid: 5710473422257520646
type: {class: PostProcessData/ShaderResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
stopNanPS: {fileID: 4800000, guid: 1121bb4e615ca3c48b214e79e841e823, type: 3}
subpixelMorphologicalAntialiasingPS: {fileID: 4800000, guid: 63eaba0ebfb82cc43bde059b4a8c65f6, type: 3}
gaussianDepthOfFieldPS: {fileID: 4800000, guid: 5e7134d6e63e0bc47a1dd2669cedb379, type: 3}
bokehDepthOfFieldPS: {fileID: 4800000, guid: 2aed67ad60045d54ba3a00c91e2d2631, type: 3}
cameraMotionBlurPS: {fileID: 4800000, guid: 1edcd131364091c46a17cbff0b1de97a, type: 3}
paniniProjectionPS: {fileID: 4800000, guid: a15b78cf8ca26ca4fb2090293153c62c, type: 3}
lutBuilderLdrPS: {fileID: 4800000, guid: 65df88701913c224d95fc554db28381a, type: 3}
lutBuilderHdrPS: {fileID: 4800000, guid: ec9fec698a3456d4fb18cf8bacb7a2bc, type: 3}
bloomPS: {fileID: 4800000, guid: 5f1864addb451f54bae8c86d230f736e, type: 3}
temporalAntialiasingPS: {fileID: 4800000, guid: 9c70c1a35ff15f340b38ea84842358bf, type: 3}
LensFlareDataDrivenPS: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, type: 3}
LensFlareScreenSpacePS: {fileID: 4800000, guid: 701880fecb344ea4c9cd0db3407ab287, type: 3}
scalingSetupPS: {fileID: 4800000, guid: e8ee25143a34b8c4388709ea947055d1, type: 3}
easuPS: {fileID: 4800000, guid: 562b7ae4f629f144aa97780546fce7c6, type: 3}
uberPostPS: {fileID: 4800000, guid: e7857e9d0c934dc4f83f270f8447b006, type: 3}
finalPostPassPS: {fileID: 4800000, guid: c49e63ed1bbcb334780a3bd19dfed403, type: 3}
m_ShaderResourcesVersion: 0
- rid: 5710473422257520647
type: {class: URPReflectionProbeSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Universal.Runtime}
data:
version: 1
useReflectionProbeRotation: 0
- rid: 5710473422257520648
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
- rid: 5710473422257520649
type: {class: VrsRenderPipelineRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_TextureComputeShader: {fileID: 7200000, guid: cacb30de6c40c7444bbc78cb0a81fd2a, type: 3}
m_VisualizationShader: {fileID: 4800000, guid: 620b55b8040a88d468e94abe55bed5ba, type: 3}
m_VisualizationLookupTable:
m_Data:
- {r: 0.785, g: 0.23, b: 0.2, a: 1}
- {r: 1, g: 0.8, b: 0.8, a: 1}
- {r: 0.4, g: 0.2, b: 0.2, a: 1}
- {r: 0.51, g: 0.8, b: 0.6, a: 1}
- {r: 0.6, g: 0.8, b: 1, a: 1}
- {r: 0.2, g: 0.4, b: 0.6, a: 1}
- {r: 0.8, g: 1, b: 0.8, a: 1}
- {r: 0.2, g: 0.4, b: 0.2, a: 1}
- {r: 0.125, g: 0.22, b: 0.36, a: 1}
m_ConversionLookupTable:
m_Data:
- {r: 0.785, g: 0.23, b: 0.2, a: 1}
- {r: 1, g: 0.8, b: 0.8, a: 1}
- {r: 0.4, g: 0.2, b: 0.2, a: 1}
- {r: 0.51, g: 0.8, b: 0.6, a: 1}
- {r: 0.6, g: 0.8, b: 1, a: 1}
- {r: 0.2, g: 0.4, b: 0.6, a: 1}
- {r: 0.8, g: 1, b: 0.8, a: 1}
- {r: 0.2, g: 0.4, b: 0.2, a: 1}
- {r: 0.125, g: 0.22, b: 0.36, a: 1}
- rid: 5710473422257520650
type: {class: RenderingDebuggerRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_version: 0
- rid: 5710473422257520651
type: {class: LightmapSamplingSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
m_UseBicubicLightmapSampling: 0
- rid: 6852985685364965376
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_StripUnusedPostProcessingVariants: 1
m_StripUnusedVariants: 1
m_StripScreenCoordOverrideVariants: 1
- rid: 6852985685364965377
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3}
m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3}
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
- rid: 6852985685364965378
type: {class: UniversalRendererResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
m_ClusterDeferred: {fileID: 4800000, guid: 222cce62363a44a380c36bf03b392608, type: 3}
m_StencilDitherMaskSeedPS: {fileID: 4800000, guid: 8c3ee818f2efa514c889881ccb2e95a2, type: 3}
m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3}
- rid: 6852985685364965379
type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DebugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
m_HdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
m_ProbeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3}
- rid: 6852985685364965380
type: {class: UniversalRenderPipelineRuntimeShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_FallbackErrorShader: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
m_BlitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3}
m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
- rid: 6852985685364965381
type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 1
m_BlueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
m_BayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
m_DebugFontTex: {fileID: 2800000, guid: 26a413214480ef144b2915d6ff4d0beb, type: 3}
- rid: 6852985685364965382
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_LightShader: {fileID: 4800000, guid: 3f6c848ca3d7bca4bbe846546ac701a1, type: 3}
m_ProjectedShadowShader: {fileID: 4800000, guid: ce09d4a80b88c5a4eb9768fab4f1ee00, type: 3}
m_SpriteShadowShader: {fileID: 4800000, guid: 44fc62292b65ab04eabcf310e799ccf6, type: 3}
m_SpriteUnshadowShader: {fileID: 4800000, guid: de02b375720b5c445afe83cd483bedf3, type: 3}
m_GeometryShadowShader: {fileID: 4800000, guid: 19349a0f9a7ed4c48a27445bcf92e5e1, type: 3}
m_GeometryUnshadowShader: {fileID: 4800000, guid: 77774d9009bb81447b048c907d4c6273, type: 3}
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
m_DefaultMesh2DLitMaterial: {fileID: 2100000, guid: 9452ae1262a74094f8a68013fbcd1834, type: 2}
- rid: 6852985685364965383
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
m_DefaultParticleMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
- rid: 6852985685364965384
type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_VolumeProfile: {fileID: 11400000, guid: ab09877e2e707104187f6f83e2f62510, type: 2}
- rid: 6852985685364965385
type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_EnableRenderCompatibilityMode: 0
- rid: 6852985685364965386
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
data:
m_Version: 0
m_InstanceDataBufferCopyKernels: {fileID: 7200000, guid: f984aeb540ded8b4fbb8a2047ab5b2e2, type: 3}
m_InstanceDataBufferUploadKernels: {fileID: 7200000, guid: 53864816eb00f2343b60e1a2c5a262ef, type: 3}
m_TransformUpdaterKernels: {fileID: 7200000, guid: 2a567b9b2733f8d47a700c3c85bed75b, type: 3}
m_WindDataUpdaterKernels: {fileID: 7200000, guid: fde76746e4fd0ed418c224f6b4084114, type: 3}
m_OccluderDepthPyramidKernels: {fileID: 7200000, guid: 08b2b5fb307b0d249860612774a987da, type: 3}
m_InstanceOcclusionCullingKernels: {fileID: 7200000, guid: f6d223acabc2f974795a5a7864b50e6c, type: 3}
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
- rid: 6852985685364965387
type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3}
m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3}
m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3}
- rid: 6852985685364965388
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
dilationShader: {fileID: 7200000, guid: 6bb382f7de370af41b775f54182e491d, type: 3}
subdivideSceneCS: {fileID: 7200000, guid: bb86f1f0af829fd45b2ebddda1245c22, type: 3}
voxelizeSceneShader: {fileID: 4800000, guid: c8b6a681c7b4e2e4785ffab093907f9e, type: 3}
traceVirtualOffsetCS: {fileID: -6772857160820960102, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3}
traceVirtualOffsetRT: {fileID: -5126288278712620388, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3}
skyOcclusionCS: {fileID: -6772857160820960102, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
- rid: 6852985685364965389
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
m_ProbeVolumeDisableStreamingAssets: 0
- rid: 6852985685364965390
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
probeVolumeDebugShader: {fileID: 4800000, guid: 3b21275fd12d65f49babb5286f040f2d, type: 3}
probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 3a80877c579b9144ebdcc6d923bca303, type: 3}
probeVolumeSamplingDebugShader: {fileID: 4800000, guid: bf54e6528c79a224e96346799064c393, type: 3}
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
- rid: 6852985685364965391
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_version: 0
m_IncludeReferencedInScenes: 0
m_IncludeAssetsByLabel: 0
m_LabelToInclude:
- rid: 6852985685364965392
type: {class: ShaderStrippingSetting, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 0
m_ExportShaderVariants: 1
m_ShaderVariantLogLevel: 0
m_StripRuntimeDebugShaders: 1
- rid: 6852985685364965393
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
- rid: 6852985685364965394
type: {class: RenderGraphGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_version: 0
m_EnableCompilationCaching: 1
m_EnableValidityChecks: 1
- rid: 8712630790384254976
type: {class: RenderGraphUtilsResources, ns: UnityEngine.Rendering.RenderGraphModule.Util, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 0
m_CoreCopyPS: {fileID: 4800000, guid: 12dc59547ea167a4ab435097dd0f9add, type: 3}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 18dc0cd2c080841dea60987a38ce93fa
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e6d9dde31fda9f5418fd161429026a6e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 231a7653845fcc24ab7f60cc48b652cf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 36399534e9e663e4099075d293446f5f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
robots.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e78cb2a8b3d0168489208645781893ba
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

3
robots/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"github.copilot.chat.codeGeneration.useInstructionFiles": true
}

8
robots/LittleSophia.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 150655a22cbf4b04db4794e204b461bb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
{
"github.copilot.chat.codeGeneration.useInstructionFiles": true
}

View File

@ -0,0 +1,29 @@
cmake_minimum_required(VERSION 3.8)
project(little_sophia_description)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# Find dependencies
find_package(ament_cmake REQUIRED)
# Install URDF files
install(DIRECTORY urdf/
DESTINATION share/${PROJECT_NAME}/urdf
FILES_MATCHING PATTERN "*.urdf"
)
# Install mesh files
install(DIRECTORY meshes/
DESTINATION share/${PROJECT_NAME}/meshes
FILES_MATCHING PATTERN "*.obj" PATTERN "*.stl" PATTERN "*.dae" PATTERN "*.glb" PATTERN "*.mtl"
)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
endif()
ament_package()

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 87788cad8898edc4fbc31d218ba8aa87
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,285 @@
<robot name="LittleSophia">
<link name="Little_Sophia_Arm_Left">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Arm_Left.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Torso_to_Little_Sophia_Arm_Left" type="fixed">
<parent link="Little_Sophia_Torso"/>
<child link="Little_Sophia_Arm_Left"/>
<origin xyz="38.0 8.5 47.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Arm_Right">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Arm_Right.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Torso_to_Little_Sophia_Arm_Right" type="fixed">
<parent link="Little_Sophia_Torso"/>
<child link="Little_Sophia_Arm_Right"/>
<origin xyz="-38.0 8.5 47.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Brow_Left">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Brow_Left.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Brow_Left" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Brow_Left"/>
<origin xyz="15.0 12.0 83.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Brow_Right">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Brow_Right.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Brow_Right" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Brow_Right"/>
<origin xyz="-15.0 12.0 83.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Eye_Left">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Eye_Left.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Eye_Left" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Eye_Left"/>
<origin xyz="20.299999237060547 -15.0 71.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Eye_Right">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Eye_Right.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Eye_Right" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Eye_Right"/>
<origin xyz="-18.869998931884766 -15.0 71.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Eyelid_Lower">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Eyelid_Lower.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Eyelid_Lower" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Eyelid_Lower"/>
<origin xyz="1.0 -17.0 61.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Eyelid_Upper">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Eyelid_Upper.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Eyelid_Upper" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Eyelid_Upper"/>
<origin xyz="1.0 -17.0 61.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Face">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Face.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Torso_to_Little_Sophia_Face" type="fixed">
<parent link="Little_Sophia_Torso"/>
<child link="Little_Sophia_Face"/>
<origin xyz="0.0 0.0 66.76000213623047" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Foot_Left">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Foot_Left.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Lower_Leg_Right_to_Little_Sophia_Foot_Left" type="fixed">
<parent link="Little_Sophia_Lower_Leg_Right"/>
<child link="Little_Sophia_Foot_Left"/>
<origin xyz="4.5 5.400000095367432 -43.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Foot_Left_Outer">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Foot_Left_Outer.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Foot_Left_to_Little_Sophia_Foot_Left_Outer" type="fixed">
<parent link="Little_Sophia_Foot_Left"/>
<child link="Little_Sophia_Foot_Left_Outer"/>
<origin xyz="20.5 33.5 -19.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Foot_Right">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Foot_Right.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Lower_Leg_Left_to_Little_Sophia_Foot_Right" type="fixed">
<parent link="Little_Sophia_Lower_Leg_Left"/>
<child link="Little_Sophia_Foot_Right"/>
<origin xyz="-3.5 5.400000095367432 -43.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Foot_Right_Outer">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Foot_Right_Outer.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Foot_Right_to_Little_Sophia_Foot_Right_Outer" type="fixed">
<parent link="Little_Sophia_Foot_Right"/>
<child link="Little_Sophia_Foot_Right_Outer"/>
<origin xyz="-20.5 33.5 -19.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Hip_Left">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Hip_Left.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Torso_to_Little_Sophia_Hip_Left" type="fixed">
<parent link="Little_Sophia_Torso"/>
<child link="Little_Sophia_Hip_Left"/>
<origin xyz="28.0 1.0 -21.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Hip_Right">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Hip_Right.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Torso_to_Little_Sophia_Hip_Right" type="fixed">
<parent link="Little_Sophia_Torso"/>
<child link="Little_Sophia_Hip_Right"/>
<origin xyz="-24.5 1.0 -21.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Lower_Leg_Left">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Lower_Leg_Left.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Upper_Leg_Right_to_Little_Sophia_Lower_Leg_Left" type="fixed">
<parent link="Little_Sophia_Upper_Leg_Right"/>
<child link="Little_Sophia_Lower_Leg_Left"/>
<origin xyz="-0.5 -9.399999618530273 -58.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Lower_Leg_Right">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Lower_Leg_Right.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Upper_Leg_Left_to_Little_Sophia_Lower_Leg_Right" type="fixed">
<parent link="Little_Sophia_Upper_Leg_Left"/>
<child link="Little_Sophia_Lower_Leg_Right"/>
<origin xyz="1.0 -9.399999618530273 -58.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Smile_Left">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Smile_Left.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Smile_Left" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Smile_Left"/>
<origin xyz="-22.0 6.5 36.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Smile_Right">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Smile_Right.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Smile_Right" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Smile_Right"/>
<origin xyz="22.0 6.5 36.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Teeth_Lower">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Teeth_Lower.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Teeth_Lower" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Teeth_Lower"/>
<origin xyz="1.0 -10.0 36.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Teeth_Upper">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Teeth_Upper.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Face_to_Little_Sophia_Teeth_Upper" type="fixed">
<parent link="Little_Sophia_Face"/>
<child link="Little_Sophia_Teeth_Upper"/>
<origin xyz="1.0 -10.0 36.23999786376953" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Torso">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Torso.obj"/>
</geometry>
</visual>
</link>
<link name="Little_Sophia_Upper_Leg_Left">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Upper_Leg_Left.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Hip_Left_to_Little_Sophia_Upper_Leg_Left" type="fixed">
<parent link="Little_Sophia_Hip_Left"/>
<child link="Little_Sophia_Upper_Leg_Left"/>
<origin xyz="1.0 1.0 -21.0" rpy="0 0 0"/>
</joint>
<link name="Little_Sophia_Upper_Leg_Right">
<visual>
<geometry>
<mesh filename="meshes/Little_Sophia_Upper_Leg_Right.obj"/>
</geometry>
</visual>
</link>
<joint name="Little_Sophia_Hip_Right_to_Little_Sophia_Upper_Leg_Right" type="fixed">
<parent link="Little_Sophia_Hip_Right"/>
<child link="Little_Sophia_Upper_Leg_Right"/>
<origin xyz="0.5 1.0 -21.0" rpy="0 0 0"/>
</joint>
</robot>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9ade87f3d8ddbfc46822b6bc718e760b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f4394ad624cfdee4890f815b9241af3b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,32 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Black.009
Ns 493.211304
Ka 1.000000 1.000000 1.000000
Kd 0.007433 0.007433 0.007433
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Metal.006
Ns 0.000000
Ka 1.000000 1.000000 1.000000
Kd 1.000000 1.000000 1.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Skin.004
Ns 328.320618
Ka 0.065693 0.065693 0.065693
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 4ba4f1ade25f9cc4ea8222fb50e25890
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

@ -0,0 +1,32 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Black
Ns 493.211304
Ka 1.000000 1.000000 1.000000
Kd 0.007433 0.007433 0.007433
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Metal.001
Ns 0.000000
Ka 1.000000 1.000000 1.000000
Kd 1.000000 1.000000 1.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Skin
Ns 328.320618
Ka 0.065693 0.065693 0.065693
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0018e6c22f9f0cb4a988ca71e32a1cd8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 8b078db6388ac71499d6bff418edd6e3
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

@ -0,0 +1,12 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Material.006
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 74b9d19ea5ba051408acc1e40ad66c28
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: a3a3fd49bd5e8194081524464b41ea6b
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

@ -0,0 +1,12 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Material.001
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: bd1224c9cfb747c458054fb700fa4c64
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

@ -0,0 +1,12 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Eye
Ns 1000.000000
Ka 1.000000 1.000000 1.000000
Kd 1.000000 0.990023 0.876728
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 2d452cf2bf5b759458c1e7a138fdc83a
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

@ -0,0 +1,12 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Eye.001
Ns 1000.000000
Ka 1.000000 1.000000 1.000000
Kd 1.000000 0.990023 0.876728
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: b80c63b8bd978224b928cff4670294c3
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

@ -0,0 +1,12 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Skin.002
Ns 328.320618
Ka 0.065693 0.065693 0.065693
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 175c97cc2e82ab245adfab1541b7118e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 37eca61543855aa4288a66734420e498
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

@ -0,0 +1,12 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Skin.003
Ns 328.320618
Ka 0.065693 0.065693 0.065693
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3fc35eb37692a0b438acbc388e38dfb8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 8ca93b38016a344439bfe7d653fb81b2
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

@ -0,0 +1,12 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Skin.001
Ns 328.320618
Ka 0.065693 0.065693 0.065693
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 9786abe81933311468633b70c4044d84
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

@ -0,0 +1,22 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Black.001
Ns 493.211304
Ka 1.000000 1.000000 1.000000
Kd 0.007433 0.007433 0.007433
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Metal.002
Ns 0.000000
Ka 1.000000 1.000000 1.000000
Kd 1.000000 1.000000 1.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 33365e03b2a22064f88e4ef994cad48e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 031eebbee080dd147a5a0079ea15d1de
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

@ -0,0 +1,12 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Black.004
Ns 493.211304
Ka 1.000000 1.000000 1.000000
Kd 0.007433 0.007433 0.007433
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: b7ab16c2cad7c344482e79aea6713718
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

@ -0,0 +1,22 @@
# Blender 4.5.4 LTS MTL File: 'LittleSophiaURDF.blend'
# www.blender.org
newmtl Black.003
Ns 493.211304
Ka 1.000000 1.000000 1.000000
Kd 0.007433 0.007433 0.007433
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Metal.003
Ns 0.000000
Ka 1.000000 1.000000 1.000000
Kd 1.000000 1.000000 1.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3

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