From fa10e861322d7bc80dd648bb40acd9d5109dfabd Mon Sep 17 00:00:00 2001 From: Hyunseok Date: Sun, 16 Jan 2022 23:59:05 +0900 Subject: [PATCH] CLOiSim-2.7.2 [Major Changes] * General: Upgrade Unity editor version -> 2020.3.26f1 (LTS) * General: Update package version - com.unity.render-pipelines.universal: 10.7.0 -> 10.8.1 - com.unity.toolchain.linux-x86_64: 0.1.19-preview -> 1.0.0 * Core: Remove all device port map table when model is removed(deallocated) in BridgeManager * SDF.Parser: Adjust Dynamic Friction ratio to Static Friction(mu value in sdf parameter) in SDF.Implement.Collision * Device: Modify finding target joint control in JointState module * UI: Modify the behavior of ESC key pressing for UI AddModellist * UI: create removing target object function in AddModel Class [Minor Changes] * Core.Main: Give a sleep time before import and deploying after choose from model list * Core.Main: Set model immovable before deploy the mode from the model list * Core.Main: Modify Default model/World/File Directories in MainScene.unity * SDF.Parser: Apply filtering non-number character in pose string using reg-ex(supporting a exponentioal notation(ex: 1e-10)) * General: Add protection code - for null object accessing in MotorControl - SDF.import.Visual - SDF.Import.Link - MotorControl Module - Articulation Module * General: Add debuging log in Articulation Module * UI: Add new prining warning messsage method in SimulationDisplay * UI: Adjust height offset of deploying model before confirm the location where to place. * UI: Change default Main Camera control parameters in MainScene.unity * UI: Update following object list when new model is added from model list [Bug fix] * Device: Fix Typo in MicomCommand * Core.Main: Fix null object in Main.Display variable. --- Assets/Scenes/MainScene.unity | 20 +++----- .../Base/CLOiSimPlugin.CommonMethod.cs | 1 - Assets/Scripts/Core/Modules/BridgeManager.cs | 50 ++++++++++++------- Assets/Scripts/Devices/JointState.cs | 20 ++++++-- Assets/Scripts/Devices/MicomCommand.cs | 2 +- .../Scripts/Devices/Modules/Articulation.cs | 13 +++-- .../Scripts/Devices/Modules/MotorControl.cs | 16 ++++-- Assets/Scripts/Main.cs | 12 ++++- Assets/Scripts/Tools/DebugLogWriter.cs | 6 +-- .../SDF/Implement/Implement.Collision.cs | 2 +- .../Scripts/Tools/SDF/Import/Import.Link.cs | 2 +- .../Scripts/Tools/SDF/Import/Import.Visual.cs | 9 ++-- Assets/Scripts/Tools/SDF/Parser/Pose.cs | 13 ++++- Assets/Scripts/UI/AddModel.cs | 24 ++++++--- Assets/Scripts/UI/FollowingCamera.cs | 39 +++++++++++---- Assets/Scripts/UI/FollowingTargetList.cs | 4 +- Assets/Scripts/UI/SimulationDisplay.cs | 5 ++ Packages/manifest.json | 4 +- Packages/packages-lock.json | 24 ++++----- ProjectSettings/ProjectSettings.asset | 8 +-- ProjectSettings/ProjectVersion.txt | 4 +- 21 files changed, 177 insertions(+), 101 deletions(-) diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity index 32160487..309934c0 100644 --- a/Assets/Scenes/MainScene.unity +++ b/Assets/Scenes/MainScene.unity @@ -1776,19 +1776,13 @@ MonoBehaviour: clearAllOnStart: 1 worldFileName: lg_seocho_with_actors.world modelRootDirectories: + - ../cloi_resources - ../sample_resources/models/ - - ../lgrs_resource/assets/models/ - - ../../lgrs_resource/assets/models/ - ../sample_resources/All - - ../cloi_resources worldRootDirectories: - ../sample_resources/worlds/ - - ../lgrs_resource/worlds/ - - ../../lgrs_resource/worlds/ fileRootDirectories: - ../sample_resources/media/ - - ../lgrs_resource/assets - - ../../lgrs_resource/assets --- !u!1 &314493398 GameObject: m_ObjectHideFlags: 0 @@ -5489,13 +5483,13 @@ MonoBehaviour: blockControl: 0 blockMouseWheelControl: 0 mainSpeed: 2.5 - shiftAdd: 5 - maxShift: 90 - camSens: 0.15 - edgeWidth: 25 + shiftAdd: 15 + maxShift: 200 + camSens: 0.1 + edgeWidth: 20 edgeSens: 0.1 - edgeSensMax: 1.5 - wheelMoveAmp: 50 + edgeSensMax: 1 + wheelMoveAmp: 70 --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/CLOiSimPlugins/Modules/Base/CLOiSimPlugin.CommonMethod.cs b/Assets/Scripts/CLOiSimPlugins/Modules/Base/CLOiSimPlugin.CommonMethod.cs index 0b86aa4f..54a5d499 100644 --- a/Assets/Scripts/CLOiSimPlugins/Modules/Base/CLOiSimPlugin.CommonMethod.cs +++ b/Assets/Scripts/CLOiSimPlugins/Modules/Base/CLOiSimPlugin.CommonMethod.cs @@ -43,7 +43,6 @@ protected void PublishTfThread(System.Object threadObject) tfMessage.Transform.Name = tf.childFrameId; var tfPose = tf.GetPose(); - DeviceHelper.SetCurrentTime(tfMessage.Header.Stamp); DeviceHelper.SetVector3d(tfMessage.Transform.Position, tfPose.position); DeviceHelper.SetQuaternion(tfMessage.Transform.Orientation, tfPose.rotation); diff --git a/Assets/Scripts/Core/Modules/BridgeManager.cs b/Assets/Scripts/Core/Modules/BridgeManager.cs index a506cc0f..221430ab 100644 --- a/Assets/Scripts/Core/Modules/BridgeManager.cs +++ b/Assets/Scripts/Core/Modules/BridgeManager.cs @@ -34,7 +34,6 @@ public class BridgeManager : IDisposable { private const ushort MinPortRange = 49152; private const ushort MaxPortRange = IPEndPoint.MaxPort; - private static SimulationDisplay simulationDisplay = null; private static StringBuilder sbLogs = new StringBuilder(); private static Dictionary haskKeyPortMapTable = new Dictionary(); @@ -44,7 +43,6 @@ public class BridgeManager : IDisposable public BridgeManager() { - simulationDisplay = Main.Display; ClearLog(); } @@ -59,29 +57,43 @@ public void Dispose() GC.SuppressFinalize(this); } - public static void DeallocateDevice(in List devicePorts, in List hashKeys) + private static void RemoveDevice(in ushort devicePort) { - lock (deviceMapTable) + foreach (var deviceMap in deviceMapTable.ToList()) { - foreach (var devicePort in devicePorts) + var deviceMapValue = deviceMap.Value; + foreach (var partMaps in deviceMapValue.ToList()) { - foreach (var deviceMap in deviceMapTable) + var partMapsValue = partMaps.Value; + foreach (var portMaps in partMapsValue.ToList()) { - foreach (var partMaps in deviceMap.Value) + var portMapsValue = portMaps.Value; + foreach (var portMap in portMapsValue.ToList()) { - foreach (var portMaps in partMaps.Value) - { - var portMapList = portMaps.Value; - foreach (var portMap in portMapList.ToList()) - { - if (portMap.Value == devicePort) - { - portMapList.Remove(portMap.Key); - } - } - } + if (portMap.Value == devicePort) + portMapsValue.Remove(portMap.Key); } + + if (portMapsValue.Count == 0) + partMapsValue.Remove(portMaps.Key); } + + if (partMapsValue.Count == 0) + deviceMapValue.Remove(partMaps.Key); + } + + if (deviceMapValue.Count == 0) + deviceMapTable.Remove(deviceMap.Key); + } + } + + public static void DeallocateDevice(in List devicePorts, in List hashKeys) + { + lock (deviceMapTable) + { + foreach (var devicePort in devicePorts) + { + RemoveDevice(devicePort); } } @@ -245,7 +257,7 @@ public static ushort AllocateDevicePort(in string hashKey) { var errorMessage = string.Format("HashKey({0}) is already occupied.", hashKey); Console.Error.WriteLine(errorMessage); - simulationDisplay?.SetErrorMessage(errorMessage); + Main.Display?.SetErrorMessage(errorMessage); return 0; } diff --git a/Assets/Scripts/Devices/JointState.cs b/Assets/Scripts/Devices/JointState.cs index c7e7f462..6292de7f 100644 --- a/Assets/Scripts/Devices/JointState.cs +++ b/Assets/Scripts/Devices/JointState.cs @@ -44,21 +44,31 @@ protected override void GenerateMessage() PushDeviceMessage(jointStateV); } - public bool AddTarget(in string linkName, out SDF.Helper.Link link) + public bool AddTarget(in string targetLinkName, out SDF.Helper.Link link) { var childArticulationBodies = gameObject.GetComponentsInChildren(); - + var rootModelName = string.Empty; foreach (var childArticulationBody in childArticulationBodies) { - if (childArticulationBody.name.Equals(linkName)) + // Debug.Log (childArticulationBody.name + " | " + childArticulationBody.transform.parent.name); + if (childArticulationBody.isRoot) + { + rootModelName = childArticulationBody.name; + continue; + } + + var parentModelName = childArticulationBody.transform.parent.name; + var linkName = ((rootModelName.CompareTo(parentModelName) == 0) ? "" : parentModelName + "::") + childArticulationBody.name; + // Debug.Log("!!!!!!! " + linkName); + if (linkName.Equals(targetLinkName)) { var articulation = new Articulation(childArticulationBody); articulation.SetDriveType(Articulation.DriveType.POSITION_AND_VELOCITY); var jointState = new messages.JointState(); - jointState.Name = linkName; + jointState.Name = targetLinkName; - articulationTable.Add(linkName, new Tuple(articulation, jointState)); + articulationTable.Add(targetLinkName, new Tuple(articulation, jointState)); jointStateV.JointStates.Add(jointState); diff --git a/Assets/Scripts/Devices/MicomCommand.cs b/Assets/Scripts/Devices/MicomCommand.cs index 390121e1..071242d9 100644 --- a/Assets/Scripts/Devices/MicomCommand.cs +++ b/Assets/Scripts/Devices/MicomCommand.cs @@ -47,7 +47,7 @@ protected override void ProcessDevice() } else { - Debug.LogWarning("ERROR: failed to pop deevice message"); + Debug.LogWarning("ERROR: failed to pop device message"); } } diff --git a/Assets/Scripts/Devices/Modules/Articulation.cs b/Assets/Scripts/Devices/Modules/Articulation.cs index f5989918..6c6a7667 100644 --- a/Assets/Scripts/Devices/Modules/Articulation.cs +++ b/Assets/Scripts/Devices/Modules/Articulation.cs @@ -33,8 +33,11 @@ public Articulation(in GameObject target) public void Reset() { - _jointBody.velocity = Vector3.zero; - _jointBody.angularVelocity = Vector3.zero; + if (_jointBody != null) + { + _jointBody.velocity = Vector3.zero; + _jointBody.angularVelocity = Vector3.zero; + } } public void SetDriveType(in DriveType type) @@ -62,7 +65,7 @@ protected void SetJointVelocity(in float velocity, in int targetDegree = 0) private int GetValidIndex(in int index) { - return (index >= _jointBody.dofCount) ? (_jointBody.dofCount - 1) : index; + return (_jointBody == null) ? -1 : ((index >= _jointBody.dofCount) ? (_jointBody.dofCount - 1) : index); } /// in radian for angular and in meters for linear @@ -184,7 +187,7 @@ public ArticulationDrive GetDrive() break; default: - Debug.LogWarning("unsupported joint type"); + Debug.LogWarning("GetDrive() unsupported joint type: " + _jointType); drive = new ArticulationDrive(); break; } @@ -249,7 +252,7 @@ public void SetDrive(in ArticulationDrive drive) break; default: - Debug.LogWarning("unsupported joint type"); + Debug.LogWarning("SetDrive() unsupported joint type: " + _jointType); break; } } diff --git a/Assets/Scripts/Devices/Modules/MotorControl.cs b/Assets/Scripts/Devices/Modules/MotorControl.cs index b7ecbc20..b76addfc 100644 --- a/Assets/Scripts/Devices/Modules/MotorControl.cs +++ b/Assets/Scripts/Devices/Modules/MotorControl.cs @@ -95,8 +95,15 @@ public void UpdateMotorFeedback(in float angularVelocity) if (wheelList.TryGetValue(WheelLocation.LEFT, out var motorLeft) && wheelList.TryGetValue(WheelLocation.RIGHT, out var motorRight)) { - motorLeft.Feedback.SetRotatingTargetVelocity(angularVelocity); - motorRight.Feedback.SetRotatingTargetVelocity(angularVelocity); + if (motorLeft != null) + { + motorLeft.Feedback.SetRotatingTargetVelocity(angularVelocity); + } + + if (motorRight != null) + { + motorRight.Feedback.SetRotatingTargetVelocity(angularVelocity); + } } } @@ -109,16 +116,15 @@ private void SetMotorVelocity(in float angularVelocityLeft, in float angularVelo if (wheelList.TryGetValue(WheelLocation.LEFT, out var motorLeft) && wheelList.TryGetValue(WheelLocation.RIGHT, out var motorRight)) { - motorLeft.Feedback.SetMotionRotating(isRotating); - motorRight.Feedback.SetMotionRotating(isRotating); - if (motorLeft != null) { + motorLeft.Feedback.SetMotionRotating(isRotating); motorLeft.SetVelocityTarget(angularVelocityLeft); } if (motorRight != null) { + motorRight.Feedback.SetMotionRotating(isRotating); motorRight.SetVelocityTarget(angularVelocityRight); } } diff --git a/Assets/Scripts/Main.cs b/Assets/Scripts/Main.cs index 378e5954..24b2da4f 100644 --- a/Assets/Scripts/Main.cs +++ b/Assets/Scripts/Main.cs @@ -218,10 +218,10 @@ void Awake() { _infoDisplay = uiRoot.GetComponentInChildren(); transformGizmo = uiRoot.GetComponentInChildren(); + simulationDisplay = uiRoot.GetComponentInChildren(); uiMainCanvasRoot = uiRoot.transform.Find("Main Canvas").gameObject; followingList = uiMainCanvasRoot.GetComponentInChildren(); - simulationDisplay = uiMainCanvasRoot.GetComponentInChildren(); } gameObject.AddComponent(); @@ -321,9 +321,17 @@ private IEnumerator LoadModel(string modelPath, string modelFileName) var targetObject = worldRoot.transform.Find(model.Name); - // yield return StartCoroutine(FreeObjectDeploy(targetObject)); var addingModel = uiMainCanvasRoot.GetComponentInChildren(); addingModel.SetAddingModelForDeploy(targetObject); + + yield return new WaitForSeconds(0.1f); + yield return new WaitForEndOfFrame(); + + // for GUI + simulationDisplay?.ClearLogMessage(); + followingList?.UpdateList(); + + yield return new WaitForEndOfFrame(); } yield return null; diff --git a/Assets/Scripts/Tools/DebugLogWriter.cs b/Assets/Scripts/Tools/DebugLogWriter.cs index b8971040..f369a752 100644 --- a/Assets/Scripts/Tools/DebugLogWriter.cs +++ b/Assets/Scripts/Tools/DebugLogWriter.cs @@ -11,13 +11,11 @@ public class DebugLogWriter : TextWriter { private bool isError = false; private bool showOnDisplay = false; - private SimulationDisplay simulationDisplay = null; public DebugLogWriter(in bool errorLog = false) { //Debug.Log("Initialized!!!"); isError = errorLog; - simulationDisplay = Main.Display; } public override void Write(string value) @@ -50,7 +48,7 @@ private void Print(in string value) Debug.LogWarning(value); if (showOnDisplay) { - simulationDisplay?.SetErrorMessage(value); + Main.Display?.SetErrorMessage(value); showOnDisplay = false; } } @@ -60,7 +58,7 @@ private void Print(in string value) if (showOnDisplay) { - simulationDisplay?.SetEventMessage(value); + Main.Display?.SetEventMessage(value); showOnDisplay = false; } } diff --git a/Assets/Scripts/Tools/SDF/Implement/Implement.Collision.cs b/Assets/Scripts/Tools/SDF/Implement/Implement.Collision.cs index 29b393d3..adc611a3 100644 --- a/Assets/Scripts/Tools/SDF/Implement/Implement.Collision.cs +++ b/Assets/Scripts/Tools/SDF/Implement/Implement.Collision.cs @@ -18,7 +18,7 @@ public class Collision private static readonly bool EnableMergeCollider = true; private static readonly float ThresholdFrictionCombineMultiply = 0.01f; - private static readonly float DynamicFrictionRatio = 0.90f; + private static readonly float DynamicFrictionRatio = 0.95f; private static readonly MCCookingOptions CookingOptions = MCCookingOptions.EnableMeshCleaning | diff --git a/Assets/Scripts/Tools/SDF/Import/Import.Link.cs b/Assets/Scripts/Tools/SDF/Import/Import.Link.cs index e7732cf1..144c624b 100644 --- a/Assets/Scripts/Tools/SDF/Import/Import.Link.cs +++ b/Assets/Scripts/Tools/SDF/Import/Import.Link.cs @@ -93,7 +93,7 @@ private static UE.ArticulationBody CreateArticulationBody(in UE.GameObject linkO var articulationBody = linkObject.AddComponent(); articulationBody.velocity = UE.Vector3.zero; articulationBody.angularVelocity = UE.Vector3.zero; - articulationBody.useGravity = linkHelper.useGravity; + articulationBody.useGravity = (linkHelper == null) ? false : linkHelper.useGravity; articulationBody.jointType = UE.ArticulationJointType.FixedJoint; articulationBody.mass = (inertial == null) ? 1e-07f : (float)inertial.mass; articulationBody.linearDamping = 0.05f; diff --git a/Assets/Scripts/Tools/SDF/Import/Import.Visual.cs b/Assets/Scripts/Tools/SDF/Import/Import.Visual.cs index e382e6ca..8f4bf8ff 100644 --- a/Assets/Scripts/Tools/SDF/Import/Import.Visual.cs +++ b/Assets/Scripts/Tools/SDF/Import/Import.Visual.cs @@ -53,10 +53,13 @@ protected override void AfterImportVisual(in SDF.Visual visual, in System.Object if (EnableOptimization) { - var geometryTransform = visualObject.transform.GetChild(0); - if (geometryTransform.CompareTag("Geometry")) + if (visualObject.transform.childCount > 0) { - Implement.Visual.OptimizeMeshes(geometryTransform); + var geometryTransform = visualObject.transform.GetChild(0); + if (geometryTransform.CompareTag("Geometry")) + { + Implement.Visual.OptimizeMeshes(geometryTransform); + } } else { diff --git a/Assets/Scripts/Tools/SDF/Parser/Pose.cs b/Assets/Scripts/Tools/SDF/Parser/Pose.cs index f0640edd..f57e2183 100644 --- a/Assets/Scripts/Tools/SDF/Parser/Pose.cs +++ b/Assets/Scripts/Tools/SDF/Parser/Pose.cs @@ -4,12 +4,16 @@ * SPDX-License-Identifier: MIT */ +using System.Text.RegularExpressions; using System; namespace SDF { public class Vector2 { + private static string regex_num_pattern = "[^.0-9e-]"; + public static readonly Regex regex_num = new Regex(regex_num_pattern); + private T _x; private T _y; @@ -42,11 +46,13 @@ public void Set(T x, T y) _y = y; } - public void Set(in string x, in string y) + public void Set(string x, string y) { var code = Type.GetTypeCode(typeof(T)); if (code != TypeCode.Empty) { + x = regex_num.Replace(x, String.Empty); + y = regex_num.Replace(y, String.Empty); Set((T)Convert.ChangeType(x, code), (T)Convert.ChangeType(y, code)); } } @@ -105,11 +111,14 @@ public void Set(T x, T y, T z) _z = z; } - public void Set(in string x, in string y, in string z) + public void Set(string x, string y, string z) { var code = Type.GetTypeCode(typeof(T)); if (code != TypeCode.Empty) { + x = Vector2.regex_num.Replace(x, String.Empty); + y = Vector2.regex_num.Replace(y, String.Empty); + z = Vector2.regex_num.Replace(z, String.Empty); Set((T)Convert.ChangeType(x, code), (T)Convert.ChangeType(y, code), (T)Convert.ChangeType(z, code)); } } diff --git a/Assets/Scripts/UI/AddModel.cs b/Assets/Scripts/UI/AddModel.cs index 053b035d..fe772196 100644 --- a/Assets/Scripts/UI/AddModel.cs +++ b/Assets/Scripts/UI/AddModel.cs @@ -9,7 +9,7 @@ public class AddModel : MonoBehaviour #region variables for the object with articulation body private ArticulationBody rootArticulationBody = null; - private Vector3 articulationBodyDeployOffset = new Vector3(0, 0.15f, 0); + private Vector3 articulationBodyDeployOffset = new Vector3(0, 0.10f, 0); #endregion public float maxRayDistance = 100.0f; @@ -32,8 +32,20 @@ private static void ChangeColliderObjectLayer(Transform target, in string layerN } } + private void RemoveAddingModel() + { + if (targetObject != null) + { + GameObject.Destroy(targetObject.gameObject); + targetObject = null; + rootArticulationBody = null; + } + } + public void SetAddingModelForDeploy(in Transform targetTransform) { + RemoveAddingModel(); + targetObject = targetTransform; ChangeColliderObjectLayer(targetObject, "Ignore Raycast"); @@ -85,11 +97,9 @@ private void HandlingAddedObject() targetObject = null; rootArticulationBody = null; } - else if (Input.GetKey(KeyCode.Escape)) + else if (Input.GetKeyUp(KeyCode.Escape)) { - GameObject.Destroy(targetObject.gameObject); - targetObject = null; - rootArticulationBody = null; + RemoveAddingModel(); } else { @@ -118,8 +128,8 @@ void LateUpdate() } else { - // close ADd model list - if (Input.GetKey(KeyCode.Escape)) + // close 'Add model' list Panel + if (Input.GetKeyUp(KeyCode.Escape)) { modelList.SetActive(false); } diff --git a/Assets/Scripts/UI/FollowingCamera.cs b/Assets/Scripts/UI/FollowingCamera.cs index bb69afc9..6a4bcea6 100644 --- a/Assets/Scripts/UI/FollowingCamera.cs +++ b/Assets/Scripts/UI/FollowingCamera.cs @@ -13,7 +13,6 @@ public class FollowingCamera : MonoBehaviour private CameraControl cameraControl = null; [Header("Following Camera Parameters")] - public bool blockControl = false; [Range(0.1f, 20)] @@ -51,6 +50,11 @@ void LateUpdate() transform.LookAt(targetObjectTransform); } + + if (targetObjectTransform == null) + { + ReleaseTargetObject(); + } } private void ChangeParameterByBaseInput() @@ -94,17 +98,34 @@ public void SetTargetObject(in string targetObjectName) if (!string.IsNullOrEmpty(targetObjectName)) { var targetObject = GameObject.Find(targetObjectName); - targetObjectTransform = targetObject.transform; - isFollowing = true; - cameraControl.blockControl = true; - this.blockControl = false; + if (targetObject != null) + { + LockTargetObject(targetObject.transform); + } + else + { + Main.Display?.SetWarningMessage("'" + targetObjectName + "' model seems removed from the world."); + } } else { - targetObjectTransform = null; - isFollowing = false; - cameraControl.blockControl = false; - this.blockControl = true; + ReleaseTargetObject(); } } + + private void ReleaseTargetObject() + { + targetObjectTransform = null; + isFollowing = false; + cameraControl.blockControl = false; + this.blockControl = true; + } + + private void LockTargetObject(in Transform targetTransform) + { + targetObjectTransform = targetTransform; + isFollowing = true; + cameraControl.blockControl = true; + this.blockControl = false; + } } \ No newline at end of file diff --git a/Assets/Scripts/UI/FollowingTargetList.cs b/Assets/Scripts/UI/FollowingTargetList.cs index c8d3d90d..17389aa5 100644 --- a/Assets/Scripts/UI/FollowingTargetList.cs +++ b/Assets/Scripts/UI/FollowingTargetList.cs @@ -35,7 +35,7 @@ void Start() } } - private void SelectItem(in int selectIndex = 0) + public void SelectItem(in int selectIndex = 0) { if (dropdown != null) { @@ -48,9 +48,7 @@ private void SelectItem(in int selectIndex = 0) private void OnDropDownValueChanged(int choice) { var selected = dropdown.options[choice]; - var target = (choice > 0 && followingCamera != null) ? selected.text : null; - followingCamera.SetTargetObject(target); } diff --git a/Assets/Scripts/UI/SimulationDisplay.cs b/Assets/Scripts/UI/SimulationDisplay.cs index 90793b92..71817abf 100644 --- a/Assets/Scripts/UI/SimulationDisplay.cs +++ b/Assets/Scripts/UI/SimulationDisplay.cs @@ -104,6 +104,11 @@ public void SetErrorMessage(in string value) eventMessage.AppendLine(value); } + public void SetWarningMessage(in string value) + { + logMessageColor = Color.yellow; + eventMessage.AppendLine(value); + } private void DrawLabelWithShadow(in Rect rect, in string value) { diff --git a/Packages/manifest.json b/Packages/manifest.json index 54b9ce1c..420eeb91 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -3,10 +3,10 @@ "com.unity.ai.navigation.components": "https://github.com/Unity-Technologies/NavMeshComponents.git#package", "com.unity.ide.vscode": "1.2.4", "com.unity.mathematics": "1.2.5", - "com.unity.render-pipelines.universal": "10.7.0", + "com.unity.render-pipelines.universal": "10.8.1", "com.unity.searcher": "4.3.2", "com.unity.textmeshpro": "3.0.6", - "com.unity.toolchain.linux-x86_64": "0.1.19-preview", + "com.unity.toolchain.linux-x86_64": "1.0.0", "com.unity.ugui": "1.0.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.animation": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 8f08ef09..52b2b49a 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -24,7 +24,7 @@ "url": "https://packages.unity.com" }, "com.unity.render-pipelines.core": { - "version": "10.7.0", + "version": "10.8.1", "depth": 1, "source": "registry", "dependencies": { @@ -35,13 +35,13 @@ "url": "https://packages.unity.com" }, "com.unity.render-pipelines.universal": { - "version": "10.7.0", + "version": "10.8.1", "depth": 0, "source": "registry", "dependencies": { "com.unity.mathematics": "1.1.0", - "com.unity.render-pipelines.core": "10.7.0", - "com.unity.shadergraph": "10.7.0" + "com.unity.render-pipelines.core": "10.8.1", + "com.unity.shadergraph": "10.8.1" }, "url": "https://packages.unity.com" }, @@ -53,28 +53,28 @@ "url": "https://packages.unity.com" }, "com.unity.shadergraph": { - "version": "10.7.0", + "version": "10.8.1", "depth": 1, "source": "registry", "dependencies": { - "com.unity.render-pipelines.core": "10.7.0", + "com.unity.render-pipelines.core": "10.8.1", "com.unity.searcher": "4.3.2" }, "url": "https://packages.unity.com" }, "com.unity.sysroot": { - "version": "0.1.19-preview", + "version": "1.0.0", "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.sysroot.linux-x86_64": { - "version": "0.1.14-preview", + "version": "1.0.0", "depth": 1, "source": "registry", "dependencies": { - "com.unity.sysroot": "0.1.18-preview" + "com.unity.sysroot": "1.0.0" }, "url": "https://packages.unity.com" }, @@ -88,12 +88,12 @@ "url": "https://packages.unity.com" }, "com.unity.toolchain.linux-x86_64": { - "version": "0.1.19-preview", + "version": "1.0.0", "depth": 0, "source": "registry", "dependencies": { - "com.unity.sysroot": "0.1.19-preview", - "com.unity.sysroot.linux-x86_64": "0.1.14-preview" + "com.unity.sysroot": "1.0.0", + "com.unity.sysroot.linux-x86_64": "1.0.0" }, "url": "https://packages.unity.com" }, diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 3cb50efd..2880b9ca 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -12,7 +12,7 @@ PlayerSettings: targetDevice: 2 useOnDemandResources: 0 accelerometerFrequency: 60 - companyName: LGE.CTO.ARLab + companyName: LGE.CTO.AdvancedRoboticsLab productName: CLOiSim defaultCursor: {fileID: 2800000, guid: 8c59cc8e2487aff97b53248ea15b74c0, type: 3} cursorHotspot: {x: 3, y: 3} @@ -134,7 +134,7 @@ PlayerSettings: 16:10: 1 16:9: 1 Others: 1 - bundleVersion: 2.7.1 + bundleVersion: 2.7.2 preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0 @@ -153,7 +153,7 @@ PlayerSettings: androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 applicationIdentifier: - Standalone: com.LGE.CTO.ARLab.CLOiSim + Standalone: com.LGE.CTO.AdvancedRoboticsLab.CLOiSim buildNumber: Standalone: 0 iPhone: 0 @@ -601,7 +601,7 @@ PlayerSettings: Standalone: 0 il2cppCompilerConfiguration: {} managedStrippingLevel: - Standalone: 0 + Standalone: 1 incrementalIl2cppBuild: {} suppressCommonWarnings: 1 allowUnsafeCode: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 4c9401b9..def29338 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2020.3.25f1 -m_EditorVersionWithRevision: 2020.3.25f1 (9b9180224418) +m_EditorVersion: 2020.3.26f1 +m_EditorVersionWithRevision: 2020.3.26f1 (7298b473bc1a)