├── .gitignore ├── Assets ├── Rope 2D Editor.meta └── Rope 2D Editor │ ├── Editor.meta │ ├── Editor │ ├── Resources.meta │ ├── Resources │ │ ├── DotHandle.png │ │ ├── DotHandle.png.meta │ │ ├── Handle.png │ │ └── Handle.png.meta │ ├── RopeEditor.cs │ └── RopeEditor.cs.meta │ ├── Examples.meta │ ├── Examples │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── ChainPart1.prefab │ │ ├── ChainPart1.prefab.meta │ │ ├── ChainPart2.prefab │ │ ├── ChainPart2.prefab.meta │ │ ├── Handle.prefab │ │ ├── Handle.prefab.meta │ │ ├── Seg1.prefab │ │ ├── Seg1.prefab.meta │ │ ├── Seg2.prefab │ │ ├── Seg2.prefab.meta │ │ ├── Seg3.prefab │ │ ├── Seg3.prefab.meta │ │ ├── Truck.prefab │ │ └── Truck.prefab.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── Scene_1.unity │ │ ├── Scene_1.unity.meta │ │ ├── Scene_2.unity │ │ ├── Scene_2.unity.meta │ │ ├── Scene_3.unity │ │ └── Scene_3.unity.meta │ ├── Sprites.meta │ └── Sprites │ │ ├── Box.png │ │ ├── Box.png.meta │ │ ├── ChainLinksSprite.png │ │ ├── ChainLinksSprite.png.meta │ │ ├── GrassThinSprite.png │ │ ├── GrassThinSprite.png.meta │ │ ├── PlankSprite.png │ │ ├── PlankSprite.png.meta │ │ ├── Pulley.png │ │ ├── Pulley.png.meta │ │ ├── Seg1.png │ │ ├── Seg1.png.meta │ │ ├── Seg2.png │ │ ├── Seg2.png.meta │ │ ├── Seg3.png │ │ ├── Seg3.png.meta │ │ ├── SkyTileSprite.png │ │ ├── SkyTileSprite.png.meta │ │ ├── TruckChassisSprite.png │ │ ├── TruckChassisSprite.png.meta │ │ ├── TruckWheelSprite.png │ │ ├── TruckWheelSprite.png.meta │ │ ├── WeightSprite.png │ │ └── WeightSprite.png.meta │ ├── Scripts.meta │ └── Scripts │ ├── Rope.cs │ └── Rope.cs.meta ├── LICENSE ├── ProjectSettings ├── AudioManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshLayers.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── QualitySettings.asset ├── TagManager.asset └── TimeManager.asset └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vs/* 2 | Library/* 3 | Temp/* 4 | obj/* 5 | Build/* 6 | Assets/AssetStoreTools/* 7 | Assets/AssetStoreTools.meta 8 | *.csproj 9 | *.sln 10 | *.suo 11 | *.pidb 12 | *.userprefs 13 | *.unityproj -------------------------------------------------------------------------------- /Assets/Rope 2D Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac82eed59fba76144b832579e7aa3c48 3 | folderAsset: yes 4 | timeCreated: 1460243730 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a68cbc8dfb308314d89d0036e75c1d0b 3 | folderAsset: yes 4 | timeCreated: 1459539435 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0058c441353ed734fb47d11efa6d3e7c 3 | folderAsset: yes 4 | timeCreated: 1459542023 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Editor/Resources/DotHandle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Editor/Resources/DotHandle.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Editor/Resources/DotHandle.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5eff1285e87bb464e81f009bc351202c 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Editor/Resources/Handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Editor/Resources/Handle.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Editor/Resources/Handle.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f803dff226bc204c92dff2b2ee7275a 3 | timeCreated: 1459542627 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 16 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Editor/RopeEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using System.Collections.Generic; 4 | [CustomEditor(typeof(Rope))] 5 | public class RopeEditor : Editor 6 | { 7 | Texture nodeTexture; 8 | Texture dotHandleTexture; 9 | static GUIStyle handleStyle = new GUIStyle(); 10 | static GUIStyle dothandleStyle = new GUIStyle(); 11 | List alignedPoints=new List(); 12 | 13 | Vector3 ropePosition; 14 | void OnEnable() 15 | { 16 | nodeTexture = Resources.Load("Handle"); 17 | if (nodeTexture == null) nodeTexture = EditorGUIUtility.whiteTexture; 18 | dotHandleTexture = Resources.Load("DotHandle"); 19 | if (dotHandleTexture == null) nodeTexture = EditorGUIUtility.whiteTexture; 20 | handleStyle.alignment = TextAnchor.MiddleCenter; 21 | handleStyle.fixedWidth = 15; 22 | handleStyle.fixedHeight = 15; 23 | dothandleStyle.alignment = TextAnchor.MiddleCenter; 24 | dothandleStyle.fixedWidth = 8; 25 | dothandleStyle.fixedHeight = 8; 26 | ropePosition = (target as Rope).transform.position; 27 | } 28 | void OnSceneGUI() 29 | { 30 | Rope rope = (target as Rope); 31 | Vector3[] localPoints = rope.nodes.ToArray(); 32 | Vector3[] worldPoints = new Vector3[rope.nodes.Count]; 33 | for (int i = 0; i < worldPoints.Length; i++) 34 | worldPoints[i] = rope.transform.TransformPoint(localPoints[i]); 35 | DrawPolyLine(worldPoints); 36 | DrawNodes(rope, worldPoints); 37 | DrawHinges(rope); 38 | 39 | if (Event.current.shift) 40 | { 41 | //Adding Points 42 | Vector3 mousePos = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition).origin; 43 | Vector3 polyLocalMousePos = rope.transform.InverseTransformPoint(mousePos); 44 | Vector3 nodeOnPoly = HandleUtility.ClosestPointToPolyLine(worldPoints); 45 | float handleSize = HandleUtility.GetHandleSize(nodeOnPoly); 46 | int nodeIndex = FindNodeIndex(worldPoints, nodeOnPoly); 47 | Handles.DrawLine(worldPoints[nodeIndex - 1], mousePos); 48 | Handles.DrawLine(worldPoints[nodeIndex], mousePos); 49 | if (Handles.Button(mousePos, Quaternion.identity, handleSize * 0.1f, handleSize, HandleFunc)) 50 | { 51 | polyLocalMousePos.z = 0; 52 | Undo.RecordObject(rope, "Insert Node"); 53 | rope.nodes.Insert(nodeIndex, polyLocalMousePos); 54 | UpdateRope(rope); 55 | Event.current.Use(); 56 | } 57 | } 58 | if (Event.current.control && rope.nodes.Count > 2) 59 | { 60 | //Deleting Points 61 | int indexToDelete = FindNearestNodeToMouse(worldPoints); 62 | Handles.color = Color.red; 63 | float handleSize = HandleUtility.GetHandleSize(worldPoints[0]); 64 | if (Handles.Button(worldPoints[indexToDelete], Quaternion.identity, handleSize * 0.09f, handleSize, DeleteHandleFunc)) 65 | { 66 | Undo.RecordObject(rope, "Remove Node"); 67 | rope.nodes.RemoveAt(indexToDelete); 68 | indexToDelete = -1; 69 | UpdateRope(rope); 70 | Event.current.Use(); 71 | } 72 | Handles.color = Color.white; 73 | } 74 | if(ropePosition!=rope.transform.position) 75 | { 76 | ropePosition = rope.transform.position; 77 | UpdateEndsJoints(rope); 78 | } 79 | } 80 | 81 | private void DrawHinges(Rope rope) 82 | { 83 | if (rope.WithPhysics && 84 | rope.HangFirstSegment && 85 | rope.transform.childCount > 0) 86 | { 87 | //Draw Hinge 88 | Transform firstSegment = rope.transform.GetChild(0); 89 | float handleSize = HandleUtility.GetHandleSize(firstSegment.position); 90 | Vector2 hingePositionInWorldSpace = rope.transform.TransformPoint(rope.FirstSegmentConnectionAnchor); 91 | if (GetConnectedObject(hingePositionInWorldSpace, firstSegment.GetComponent())) 92 | GUI.color = Color.magenta; 93 | else 94 | GUI.color = Color.blue; 95 | Vector2 newFirstSegmentAnchor = Handles.FreeMoveHandle(hingePositionInWorldSpace, 96 | Quaternion.identity, handleSize * 0.05f, Vector3.one, SolidHandleFunc); 97 | if (newFirstSegmentAnchor != hingePositionInWorldSpace) 98 | { 99 | rope.FirstSegmentConnectionAnchor = rope.transform.InverseTransformPoint(newFirstSegmentAnchor); 100 | UpdateEndsJoints(rope); 101 | } 102 | GUI.color = Color.white; 103 | } 104 | 105 | if (rope.WithPhysics && rope.HangLastSegment) 106 | { 107 | //Draw Hinge 108 | Transform lastSegment = rope.transform.GetChild(rope.transform.childCount - 1); 109 | float handleSize = HandleUtility.GetHandleSize(lastSegment.position); 110 | Vector2 hingePositionInWorldSpace = rope.transform.TransformPoint(rope.LastSegmentConnectionAnchor); 111 | if (GetConnectedObject(hingePositionInWorldSpace, lastSegment.GetComponent())) 112 | GUI.color = Color.magenta; 113 | else 114 | GUI.color = Color.blue; 115 | Vector2 newLastSegmentAnchor = Handles.FreeMoveHandle(hingePositionInWorldSpace, 116 | Quaternion.identity, handleSize * 0.05f, Vector3.one, SolidHandleFunc); 117 | GUI.color = Color.white; 118 | if (newLastSegmentAnchor != hingePositionInWorldSpace) 119 | { 120 | rope.LastSegmentConnectionAnchor = rope.transform.InverseTransformPoint(newLastSegmentAnchor); 121 | UpdateEndsJoints(rope); 122 | } 123 | } 124 | } 125 | static Rigidbody2D GetConnectedObject(Vector2 position, Rigidbody2D originalObj) 126 | { 127 | Rigidbody2D[] sceneRigidbodies = GameObject.FindObjectsOfType(); 128 | for(int i=0;i().bounds.Contains(position)) 131 | { 132 | return sceneRigidbodies[i]; 133 | } 134 | } 135 | return null; 136 | } 137 | private int FindNearestNodeToMouse(Vector3[] worldNodesPositions) 138 | { 139 | Vector3 mousePos = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition).origin; 140 | mousePos.z = 0; 141 | int index = -1; 142 | float minDistnce = float.MaxValue; 143 | for (int i = 0; i < worldNodesPositions.Length; i++) 144 | { 145 | float distance = Vector3.Distance(worldNodesPositions[i], mousePos); 146 | if (distance < minDistnce) 147 | { 148 | index = i; 149 | minDistnce = distance; 150 | } 151 | } 152 | return index; 153 | } 154 | private int FindNodeIndex(Vector3[] worldNodesPositions, Vector3 newNode) 155 | { 156 | float smallestdis = float.MaxValue; 157 | int prevIndex = 0; 158 | for (int i = 1; i < worldNodesPositions.Length; i++) 159 | { 160 | float distance = HandleUtility.DistanceToPolyLine(worldNodesPositions[i - 1], worldNodesPositions[i]); 161 | if (distance < smallestdis) 162 | { 163 | prevIndex = i - 1; 164 | smallestdis = distance; 165 | } 166 | } 167 | return prevIndex + 1; 168 | } 169 | private void DrawPolyLine(Vector3[] nodes) 170 | { 171 | if (Event.current.shift) Handles.color = Color.green; 172 | else if (Event.current.control ) Handles.color = Color.red; 173 | else Handles.color = Color.white; 174 | for(int i=0;i= 2) 212 | { 213 | //represent the line with the equation y=mx+b 214 | float dy = worldNodes[index - 1].y - worldNodes[index - 2].y; 215 | float dx = worldNodes[index - 1].x - worldNodes[index - 2].x; 216 | float m = dy / dx; 217 | float b = worldNodes[index - 1].y - m * worldNodes[index - 1].x; 218 | 219 | float newX = (position.x + m * (position.y - b)) / (m * m + 1); 220 | float newY = (m * (position.x + m * position.y) + b) / (m * m + 1); 221 | Vector3 newPos = new Vector3(newX, newY); 222 | float distance = Vector3.Distance(newPos, position); 223 | if (distance * distance < offset * offset) 224 | { 225 | position.x = newX; 226 | position.y = newY; 227 | aligned = true; 228 | alignedPoints.Add(index - 1); 229 | alignedPoints.Add(index - 2); 230 | } 231 | } 232 | //check next line 233 | if (index < worldNodes.Length - 2) 234 | { 235 | //represent the line with the equation y=mx+b 236 | float dy = worldNodes[index + 1].y - worldNodes[index + 2].y; 237 | float dx = worldNodes[index + 1].x - worldNodes[index + 2].x; 238 | float m = dy / dx; 239 | float b = worldNodes[index + 1].y - m * worldNodes[index + 1].x; 240 | 241 | float newX = (position.x + m * (position.y - b)) / (m * m + 1); 242 | float newY = (m * (position.x + m * position.y) + b) / (m * m + 1); 243 | Vector3 newPos = new Vector3(newX, newY); 244 | float distance = Vector3.Distance(newPos, position); 245 | if (distance * distance < offset * offset) 246 | { 247 | position.x = newX; 248 | position.y = newY; 249 | aligned = true; 250 | alignedPoints.Add(index + 1); 251 | alignedPoints.Add(index + 2); 252 | } 253 | } 254 | //check vertical 255 | //check with the prev node 256 | //the node can be aligned to the prev and next node at once, we need to return more than one alginedTo Node 257 | if (index > 0) 258 | { 259 | float dx = Mathf.Abs(worldNodes[index - 1].x - position.x); 260 | if (dx < offset) 261 | { 262 | position.x = worldNodes[index - 1].x; 263 | alignedPoints.Add(index - 1); 264 | aligned = true; 265 | } 266 | } 267 | //check with the next node 268 | if (index < worldNodes.Length - 1) 269 | { 270 | float dx = Mathf.Abs(worldNodes[index + 1].x - position.x); 271 | if (dx < offset) 272 | { 273 | position.x = worldNodes[index + 1].x; 274 | alignedPoints.Add(index + 1); 275 | aligned = true; 276 | } 277 | } 278 | //check horizontal 279 | if (index > 0) 280 | { 281 | float dy = Mathf.Abs(worldNodes[index - 1].y - position.y); 282 | if (dy < offset) 283 | { 284 | position.y = worldNodes[index - 1].y; 285 | alignedPoints.Add(index - 1); 286 | aligned = true; 287 | } 288 | } 289 | //check with the next node 290 | if (index < worldNodes.Length - 1) 291 | { 292 | float dy = Mathf.Abs(worldNodes[index + 1].y - position.y); 293 | if (dy < offset) 294 | { 295 | position.y = worldNodes[index + 1].y; 296 | alignedPoints.Add(index + 1); 297 | aligned = true; 298 | } 299 | } 300 | 301 | 302 | if(aligned) 303 | alignedPoints.Add(index); 304 | 305 | return aligned; 306 | } 307 | void HandleFunc(int controlID, Vector3 position, Quaternion rotation, float size) 308 | { 309 | if (controlID == GUIUtility.hotControl) 310 | GUI.color = Color.red; 311 | else 312 | GUI.color = Color.green; 313 | Handles.Label(position, new GUIContent(nodeTexture), handleStyle); 314 | GUI.color = Color.white; 315 | } 316 | void SolidHandleFunc(int controlID, Vector3 position, Quaternion rotation, float size) 317 | { 318 | Handles.Label(position, new GUIContent(dotHandleTexture), dothandleStyle); 319 | } 320 | void DeleteHandleFunc(int controlID, Vector3 position, Quaternion rotation, float size) 321 | { 322 | GUI.color = Color.red; 323 | Handles.Label(position, new GUIContent(nodeTexture), handleStyle); 324 | GUI.color = Color.white; 325 | } 326 | static void UpdateRope(Rope rope) 327 | { 328 | DestroyChildren(rope); 329 | if (rope.SegmentsPrefabs==null||rope.SegmentsPrefabs.Length == 0) 330 | { 331 | Debug.LogWarning("Rope Segments Prefabs is Empty"); 332 | return; 333 | } 334 | float segmentHeight = rope.SegmentsPrefabs[0].bounds.size.y * (1 + rope.overlapFactor); 335 | List nodes = rope.nodes; 336 | int currentSegPrefIndex = 0; 337 | Rigidbody2D previousSegment = null; 338 | float previousTheta = 0; 339 | int currentSegment = 0; 340 | for (int i = 0; i < nodes.Count - 1; i++) 341 | { 342 | //construct line between nodes[i] and nodes[i+1] 343 | float theta = Mathf.Atan2(nodes[i + 1].y - nodes[i].y, nodes[i + 1].x - nodes[i].x); 344 | float dx = segmentHeight * Mathf.Cos(theta); 345 | float dy = segmentHeight * Mathf.Sin(theta); 346 | float startX = nodes[i].x + dx / 2; 347 | float startY = nodes[i].y + dy / 2; 348 | float lineLength = Vector2.Distance(nodes[i + 1], nodes[i]); 349 | int segmentCount = 0; 350 | switch(rope.OverflowMode) 351 | { 352 | case LineOverflowMode.Round: 353 | segmentCount = Mathf.RoundToInt(lineLength / segmentHeight); 354 | break; 355 | case LineOverflowMode.Shrink: 356 | segmentCount = (int)(lineLength / segmentHeight); 357 | break; 358 | case LineOverflowMode.Extend: 359 | segmentCount = Mathf.CeilToInt(lineLength / segmentHeight); 360 | break; 361 | } 362 | for (int j = 0; j < segmentCount; j++) 363 | { 364 | if (rope.SegmentsMode == SegmentSelectionMode.RoundRobin) 365 | { 366 | currentSegPrefIndex++; 367 | currentSegPrefIndex %= rope.SegmentsPrefabs.Length; 368 | } 369 | else if (rope.SegmentsMode == SegmentSelectionMode.Random) 370 | { 371 | currentSegPrefIndex = Random.Range(0, rope.SegmentsPrefabs.Length); 372 | } 373 | GameObject segment = (Instantiate(rope.SegmentsPrefabs[currentSegPrefIndex]) as SpriteRenderer).gameObject; 374 | segment.name = "Segment_" + currentSegment; 375 | segment.transform.parent = rope.transform; 376 | segment.transform.localPosition = new Vector3(startX + dx * j, startY + dy * j); 377 | segment.transform.localRotation = Quaternion.Euler(0, 0, theta * Mathf.Rad2Deg - 90); 378 | if (rope.WithPhysics) 379 | { 380 | Rigidbody2D segRigidbody = segment.GetComponent(); 381 | if (segRigidbody == null) 382 | segRigidbody = segment.AddComponent(); 383 | //if not the first segment, make a joint 384 | if (currentSegment != 0) 385 | { 386 | float dtheta = 0; 387 | if (j == 0) 388 | { 389 | //first segment in the line 390 | dtheta = (theta - previousTheta) * Mathf.Rad2Deg; 391 | if (dtheta > 180) dtheta -= 360; 392 | else if (dtheta < -180) dtheta += 360; 393 | } 394 | //add Hinge 395 | AddJoint(rope, dtheta, segmentHeight, previousSegment, segment); 396 | } 397 | previousSegment = segRigidbody; 398 | } 399 | currentSegment++; 400 | } 401 | previousTheta = theta; 402 | } 403 | UpdateEndsJoints(rope); 404 | } 405 | private static void UpdateEndsJoints(Rope rope) 406 | { 407 | Transform firstSegment = rope.transform.GetChild(0); 408 | if (rope.WithPhysics&& 409 | rope.HangFirstSegment&& 410 | rope.transform.childCount>0) 411 | { 412 | 413 | HingeJoint2D joint = firstSegment.gameObject.GetComponent(); 414 | if(!joint) 415 | joint = firstSegment.gameObject.AddComponent(); 416 | Vector2 hingePositionInWorldSpace = rope.transform.TransformPoint(rope.FirstSegmentConnectionAnchor); 417 | joint.connectedAnchor = hingePositionInWorldSpace; 418 | joint.anchor = firstSegment.transform.InverseTransformPoint(hingePositionInWorldSpace); 419 | joint.connectedBody = GetConnectedObject(hingePositionInWorldSpace, firstSegment.GetComponent()); 420 | if(joint.connectedBody) 421 | { 422 | joint.connectedAnchor = joint.connectedBody.transform.InverseTransformPoint(hingePositionInWorldSpace); 423 | } 424 | } 425 | else 426 | { 427 | HingeJoint2D joint = firstSegment.gameObject.GetComponent(); 428 | if (joint) DestroyImmediate(joint); 429 | } 430 | Transform lastSegment = rope.transform.GetChild(rope.transform.childCount - 1); 431 | if (rope.WithPhysics && rope.HangLastSegment) 432 | { 433 | HingeJoint2D[] joints = lastSegment.gameObject.GetComponents(); 434 | HingeJoint2D joint = null; 435 | if (joints.Length > 1) 436 | joint = joints[1]; 437 | else 438 | joint = lastSegment.gameObject.AddComponent(); 439 | Vector2 hingePositionInWorldSpace = rope.transform.TransformPoint(rope.LastSegmentConnectionAnchor); 440 | joint.connectedAnchor = hingePositionInWorldSpace; 441 | joint.anchor = lastSegment.transform.InverseTransformPoint(hingePositionInWorldSpace) ; 442 | joint.connectedBody = GetConnectedObject(hingePositionInWorldSpace, lastSegment.GetComponent()); 443 | if (joint.connectedBody) 444 | { 445 | joint.connectedAnchor = joint.connectedBody.transform.InverseTransformPoint(hingePositionInWorldSpace); 446 | } 447 | } 448 | else 449 | { 450 | HingeJoint2D[] joints = lastSegment.gameObject.GetComponents(); 451 | if (joints.Length > 1) 452 | for (int i = 1; i < joints.Length; i++) 453 | DestroyImmediate(joints[i]); 454 | } 455 | } 456 | private static void AddJoint(Rope rope, float dtheta, float segmentHeight, Rigidbody2D previousSegment, GameObject segment) 457 | { 458 | HingeJoint2D joint = segment.AddComponent(); 459 | joint.connectedBody = previousSegment; 460 | joint.anchor = new Vector2(0, -segmentHeight / 2); 461 | joint.connectedAnchor = new Vector2(0, segmentHeight / 2); 462 | if (rope.useBendLimit) 463 | { 464 | joint.useLimits = true; 465 | joint.limits = new JointAngleLimits2D() 466 | { 467 | min = dtheta - rope.bendLimit, 468 | max = dtheta + rope.bendLimit 469 | }; 470 | } 471 | 472 | #if UNITY_5 473 | if (rope.BreakableJoints) 474 | joint.breakForce = rope.BreakForce; 475 | #endif 476 | } 477 | private static void DestroyChildren(Rope rope) 478 | { 479 | while (rope.transform.childCount > 0) 480 | DestroyImmediate(rope.transform.GetChild(0).gameObject); 481 | } 482 | public override void OnInspectorGUI() 483 | { 484 | base.OnInspectorGUI(); 485 | Rope rope = target as Rope; 486 | if(rope.WithPhysics) 487 | { 488 | bool hangFirstSegment = EditorGUILayout.Toggle("Hang First Segment", rope.HangFirstSegment); 489 | if (hangFirstSegment != rope.HangFirstSegment) 490 | { 491 | rope.HangFirstSegment = hangFirstSegment; 492 | if(hangFirstSegment) 493 | { 494 | rope.FirstSegmentConnectionAnchor = rope.nodes[0]; 495 | } 496 | UpdateEndsJoints(rope); 497 | SceneView.RepaintAll(); 498 | } 499 | bool hangLastSegment = EditorGUILayout.Toggle("Hang Last Segment", rope.HangLastSegment); 500 | if (hangLastSegment != rope.HangLastSegment) 501 | { 502 | rope.HangLastSegment = hangLastSegment; 503 | if(hangLastSegment) 504 | { 505 | rope.LastSegmentConnectionAnchor = rope.nodes[rope.nodes.Count - 1]; 506 | } 507 | UpdateEndsJoints(rope); 508 | SceneView.RepaintAll(); 509 | } 510 | bool useBendLimit = EditorGUILayout.Toggle("Use Bend Limits", rope.useBendLimit); 511 | if (useBendLimit != rope.useBendLimit) 512 | { 513 | rope.useBendLimit = useBendLimit; 514 | UpdateRope(rope); 515 | } 516 | if(rope.useBendLimit) 517 | { 518 | int bendLimit = EditorGUILayout.IntSlider("Bend Limits",rope.bendLimit, 0, 180); 519 | if(bendLimit!=rope.bendLimit) 520 | { 521 | rope.bendLimit = bendLimit; 522 | UpdateRope(rope); 523 | } 524 | } 525 | #if UNITY_5 526 | rope.BreakableJoints = EditorGUILayout.Toggle("Breakable Joints", rope.BreakableJoints); 527 | if(rope.BreakableJoints) 528 | { 529 | rope.BreakForce = EditorGUILayout.FloatField("Break Force", rope.BreakForce); 530 | 531 | } 532 | #endif 533 | } 534 | if(GUILayout.Button("Update")) 535 | { 536 | UpdateRope(rope); 537 | } 538 | } 539 | 540 | [MenuItem("GameObject/Rope",false,1)] 541 | public static void CreateRope() 542 | { 543 | GameObject g = new GameObject(); 544 | g.name = "Rope"; 545 | g.AddComponent(); 546 | Vector3 position= SceneView.lastActiveSceneView.camera.ViewportPointToRay(new Vector3(0.5f, 0.5f, 1.0f)).origin; 547 | g.transform.position = new Vector3(position.x, position.y, 0); 548 | Selection.activeGameObject = g; 549 | } 550 | } 551 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Editor/RopeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ddc15b55bc7865498d868b6ec8d8d69 3 | timeCreated: 1460135865 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a05f55adf40dc5640b100ca01af5286c 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06be407937056da40a62600cae016219 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/ChainPart1.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &150714 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 4 9 | m_Component: 10 | - 4: {fileID: 450714} 11 | - 212: {fileID: 21250714} 12 | - 61: {fileID: 6150714} 13 | - 50: {fileID: 5050714} 14 | m_Layer: 0 15 | m_Name: ChainPart1 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &450714 22 | Transform: 23 | m_ObjectHideFlags: 1 24 | m_PrefabParentObject: {fileID: 0} 25 | m_PrefabInternal: {fileID: 100100000} 26 | m_GameObject: {fileID: 150714} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: -5.55461121, y: -.962165833, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | --- !u!50 &5050714 34 | Rigidbody2D: 35 | m_ObjectHideFlags: 1 36 | m_PrefabParentObject: {fileID: 0} 37 | m_PrefabInternal: {fileID: 100100000} 38 | m_GameObject: {fileID: 150714} 39 | m_Mass: .200000003 40 | m_LinearDrag: 0 41 | m_AngularDrag: .0500000007 42 | m_GravityScale: 1 43 | m_FixedAngle: 0 44 | m_IsKinematic: 0 45 | m_Interpolate: 0 46 | m_SleepingMode: 1 47 | m_CollisionDetection: 0 48 | --- !u!61 &6150714 49 | BoxCollider2D: 50 | m_ObjectHideFlags: 1 51 | m_PrefabParentObject: {fileID: 0} 52 | m_PrefabInternal: {fileID: 100100000} 53 | m_GameObject: {fileID: 150714} 54 | m_Enabled: 1 55 | m_Material: {fileID: 0} 56 | m_IsTrigger: 0 57 | m_Size: {x: .300000012, y: .61500001} 58 | m_Center: {x: 0, y: 0} 59 | --- !u!212 &21250714 60 | SpriteRenderer: 61 | m_ObjectHideFlags: 1 62 | m_PrefabParentObject: {fileID: 0} 63 | m_PrefabInternal: {fileID: 100100000} 64 | m_GameObject: {fileID: 150714} 65 | m_Enabled: 1 66 | m_CastShadows: 0 67 | m_ReceiveShadows: 0 68 | m_LightmapIndex: 255 69 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 70 | m_Materials: 71 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 72 | m_SubsetIndices: 73 | m_StaticBatchRoot: {fileID: 0} 74 | m_UseLightProbes: 0 75 | m_LightProbeAnchor: {fileID: 0} 76 | m_ScaleInLightmap: 1 77 | m_SortingLayerID: 0 78 | m_SortingOrder: 4 79 | m_Sprite: {fileID: 21300000, guid: 1c4b33607c407fa41b292adfc469da71, type: 3} 80 | m_Color: {r: 1, g: 1, b: 1, a: 1} 81 | --- !u!1001 &100100000 82 | Prefab: 83 | m_ObjectHideFlags: 1 84 | serializedVersion: 2 85 | m_Modification: 86 | m_TransformParent: {fileID: 0} 87 | m_Modifications: [] 88 | m_RemovedComponents: [] 89 | m_ParentPrefab: {fileID: 0} 90 | m_RootGameObject: {fileID: 150714} 91 | m_IsPrefabParent: 1 92 | m_IsExploded: 1 93 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/ChainPart1.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 532c5dd511944164fafe0ad8ae3cd509 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/ChainPart2.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &133304 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 4 9 | m_Component: 10 | - 4: {fileID: 433304} 11 | - 212: {fileID: 21233304} 12 | - 50: {fileID: 5033304} 13 | - 61: {fileID: 6133304} 14 | m_Layer: 0 15 | m_Name: ChainPart2 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &433304 22 | Transform: 23 | m_ObjectHideFlags: 1 24 | m_PrefabParentObject: {fileID: 0} 25 | m_PrefabInternal: {fileID: 100100000} 26 | m_GameObject: {fileID: 133304} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: -6.11341858, y: -.92015022, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | --- !u!50 &5033304 34 | Rigidbody2D: 35 | m_ObjectHideFlags: 1 36 | m_PrefabParentObject: {fileID: 0} 37 | m_PrefabInternal: {fileID: 100100000} 38 | m_GameObject: {fileID: 133304} 39 | m_Mass: .200000003 40 | m_LinearDrag: 0 41 | m_AngularDrag: .0500000007 42 | m_GravityScale: 1 43 | m_FixedAngle: 0 44 | m_IsKinematic: 0 45 | m_Interpolate: 0 46 | m_SleepingMode: 1 47 | m_CollisionDetection: 0 48 | --- !u!61 &6133304 49 | BoxCollider2D: 50 | m_ObjectHideFlags: 1 51 | m_PrefabParentObject: {fileID: 0} 52 | m_PrefabInternal: {fileID: 100100000} 53 | m_GameObject: {fileID: 133304} 54 | m_Enabled: 1 55 | m_Material: {fileID: 0} 56 | m_IsTrigger: 0 57 | m_Size: {x: .150000006, y: .61500001} 58 | m_Center: {x: 0, y: 0} 59 | --- !u!212 &21233304 60 | SpriteRenderer: 61 | m_ObjectHideFlags: 1 62 | m_PrefabParentObject: {fileID: 0} 63 | m_PrefabInternal: {fileID: 100100000} 64 | m_GameObject: {fileID: 133304} 65 | m_Enabled: 1 66 | m_CastShadows: 0 67 | m_ReceiveShadows: 0 68 | m_LightmapIndex: 255 69 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 70 | m_Materials: 71 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 72 | m_SubsetIndices: 73 | m_StaticBatchRoot: {fileID: 0} 74 | m_UseLightProbes: 0 75 | m_LightProbeAnchor: {fileID: 0} 76 | m_ScaleInLightmap: 1 77 | m_SortingLayerID: 0 78 | m_SortingOrder: 5 79 | m_Sprite: {fileID: 21300002, guid: 1c4b33607c407fa41b292adfc469da71, type: 3} 80 | m_Color: {r: 1, g: 1, b: 1, a: 1} 81 | --- !u!1001 &100100000 82 | Prefab: 83 | m_ObjectHideFlags: 1 84 | serializedVersion: 2 85 | m_Modification: 86 | m_TransformParent: {fileID: 0} 87 | m_Modifications: [] 88 | m_RemovedComponents: [] 89 | m_ParentPrefab: {fileID: 0} 90 | m_RootGameObject: {fileID: 133304} 91 | m_IsPrefabParent: 1 92 | m_IsExploded: 1 93 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/ChainPart2.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4340f2cce385b7e4bbc91cd47d284d26 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Handle.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &198730 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 4 9 | m_Component: 10 | - 4: {fileID: 498730} 11 | - 212: {fileID: 21298730} 12 | m_Layer: 0 13 | m_Name: Handle 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &498730 20 | Transform: 21 | m_ObjectHideFlags: 1 22 | m_PrefabParentObject: {fileID: 0} 23 | m_PrefabInternal: {fileID: 100100000} 24 | m_GameObject: {fileID: 198730} 25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 26 | m_LocalPosition: {x: -10, y: 0, z: 0} 27 | m_LocalScale: {x: 1, y: 1, z: 1} 28 | m_Children: [] 29 | m_Father: {fileID: 0} 30 | m_RootOrder: 0 31 | --- !u!212 &21298730 32 | SpriteRenderer: 33 | m_ObjectHideFlags: 1 34 | m_PrefabParentObject: {fileID: 0} 35 | m_PrefabInternal: {fileID: 100100000} 36 | m_GameObject: {fileID: 198730} 37 | m_Enabled: 1 38 | m_CastShadows: 0 39 | m_ReceiveShadows: 0 40 | m_LightmapIndex: 255 41 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 42 | m_Materials: 43 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 44 | m_SubsetIndices: 45 | m_StaticBatchRoot: {fileID: 0} 46 | m_UseLightProbes: 0 47 | m_LightProbeAnchor: {fileID: 0} 48 | m_ScaleInLightmap: 1 49 | m_SortingLayerID: 0 50 | m_SortingOrder: 0 51 | m_Sprite: {fileID: 21300000, guid: 9f803dff226bc204c92dff2b2ee7275a, type: 3} 52 | m_Color: {r: 1, g: 1, b: 1, a: 1} 53 | --- !u!1001 &100100000 54 | Prefab: 55 | m_ObjectHideFlags: 1 56 | serializedVersion: 2 57 | m_Modification: 58 | m_TransformParent: {fileID: 0} 59 | m_Modifications: [] 60 | m_RemovedComponents: [] 61 | m_ParentPrefab: {fileID: 0} 62 | m_RootGameObject: {fileID: 198730} 63 | m_IsPrefabParent: 1 64 | m_IsExploded: 1 65 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Handle.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bb5e73748c72a74e9be78eb4ea71c7d 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Seg1.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &154262 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 4 9 | m_Component: 10 | - 4: {fileID: 454262} 11 | - 212: {fileID: 21254262} 12 | - 50: {fileID: 5054262} 13 | - 61: {fileID: 6147244} 14 | m_Layer: 0 15 | m_Name: Seg1 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &454262 22 | Transform: 23 | m_ObjectHideFlags: 1 24 | m_PrefabParentObject: {fileID: 0} 25 | m_PrefabInternal: {fileID: 100100000} 26 | m_GameObject: {fileID: 154262} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | --- !u!50 &5054262 34 | Rigidbody2D: 35 | m_ObjectHideFlags: 1 36 | m_PrefabParentObject: {fileID: 0} 37 | m_PrefabInternal: {fileID: 100100000} 38 | m_GameObject: {fileID: 154262} 39 | m_Mass: 1 40 | m_LinearDrag: 0 41 | m_AngularDrag: .0500000007 42 | m_GravityScale: 1 43 | m_FixedAngle: 0 44 | m_IsKinematic: 0 45 | m_Interpolate: 0 46 | m_SleepingMode: 1 47 | m_CollisionDetection: 0 48 | --- !u!61 &6147244 49 | BoxCollider2D: 50 | m_ObjectHideFlags: 1 51 | m_PrefabParentObject: {fileID: 0} 52 | m_PrefabInternal: {fileID: 100100000} 53 | m_GameObject: {fileID: 154262} 54 | m_Enabled: 1 55 | m_Material: {fileID: 0} 56 | m_IsTrigger: 0 57 | m_Size: {x: .200000003, y: .389999986} 58 | m_Center: {x: 0, y: 0} 59 | --- !u!212 &21254262 60 | SpriteRenderer: 61 | m_ObjectHideFlags: 1 62 | m_PrefabParentObject: {fileID: 0} 63 | m_PrefabInternal: {fileID: 100100000} 64 | m_GameObject: {fileID: 154262} 65 | m_Enabled: 1 66 | m_CastShadows: 0 67 | m_ReceiveShadows: 0 68 | m_LightmapIndex: 255 69 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 70 | m_Materials: 71 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 72 | m_SubsetIndices: 73 | m_StaticBatchRoot: {fileID: 0} 74 | m_UseLightProbes: 0 75 | m_LightProbeAnchor: {fileID: 0} 76 | m_ScaleInLightmap: 1 77 | m_SortingLayerID: 0 78 | m_SortingOrder: 2 79 | m_Sprite: {fileID: 21300000, guid: 1946c5ca0a7c99941afb5fde0809f241, type: 3} 80 | m_Color: {r: 1, g: 1, b: 1, a: 1} 81 | --- !u!1001 &100100000 82 | Prefab: 83 | m_ObjectHideFlags: 1 84 | serializedVersion: 2 85 | m_Modification: 86 | m_TransformParent: {fileID: 0} 87 | m_Modifications: [] 88 | m_RemovedComponents: [] 89 | m_ParentPrefab: {fileID: 0} 90 | m_RootGameObject: {fileID: 154262} 91 | m_IsPrefabParent: 1 92 | m_IsExploded: 1 93 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Seg1.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a488c0a760e93f4d9fd22017921a3c6 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Seg2.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &106008 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 4 9 | m_Component: 10 | - 4: {fileID: 406008} 11 | - 212: {fileID: 21206008} 12 | - 50: {fileID: 5006008} 13 | - 61: {fileID: 6161290} 14 | m_Layer: 0 15 | m_Name: Seg2 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &406008 22 | Transform: 23 | m_ObjectHideFlags: 1 24 | m_PrefabParentObject: {fileID: 0} 25 | m_PrefabInternal: {fileID: 100100000} 26 | m_GameObject: {fileID: 106008} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | --- !u!50 &5006008 34 | Rigidbody2D: 35 | m_ObjectHideFlags: 1 36 | m_PrefabParentObject: {fileID: 0} 37 | m_PrefabInternal: {fileID: 100100000} 38 | m_GameObject: {fileID: 106008} 39 | m_Mass: 1 40 | m_LinearDrag: 0 41 | m_AngularDrag: .0500000007 42 | m_GravityScale: 1 43 | m_FixedAngle: 0 44 | m_IsKinematic: 0 45 | m_Interpolate: 0 46 | m_SleepingMode: 1 47 | m_CollisionDetection: 0 48 | --- !u!61 &6161290 49 | BoxCollider2D: 50 | m_ObjectHideFlags: 1 51 | m_PrefabParentObject: {fileID: 0} 52 | m_PrefabInternal: {fileID: 100100000} 53 | m_GameObject: {fileID: 106008} 54 | m_Enabled: 1 55 | m_Material: {fileID: 0} 56 | m_IsTrigger: 0 57 | m_Size: {x: .0700000003, y: .400000006} 58 | m_Center: {x: 0, y: 0} 59 | --- !u!212 &21206008 60 | SpriteRenderer: 61 | m_ObjectHideFlags: 1 62 | m_PrefabParentObject: {fileID: 0} 63 | m_PrefabInternal: {fileID: 100100000} 64 | m_GameObject: {fileID: 106008} 65 | m_Enabled: 1 66 | m_CastShadows: 0 67 | m_ReceiveShadows: 0 68 | m_LightmapIndex: 255 69 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 70 | m_Materials: 71 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 72 | m_SubsetIndices: 73 | m_StaticBatchRoot: {fileID: 0} 74 | m_UseLightProbes: 0 75 | m_LightProbeAnchor: {fileID: 0} 76 | m_ScaleInLightmap: 1 77 | m_SortingLayerID: 0 78 | m_SortingOrder: 3 79 | m_Sprite: {fileID: 21300000, guid: ac536fc1053d259498050eedee444510, type: 3} 80 | m_Color: {r: 1, g: 1, b: 1, a: 1} 81 | --- !u!1001 &100100000 82 | Prefab: 83 | m_ObjectHideFlags: 1 84 | serializedVersion: 2 85 | m_Modification: 86 | m_TransformParent: {fileID: 0} 87 | m_Modifications: [] 88 | m_RemovedComponents: [] 89 | m_ParentPrefab: {fileID: 0} 90 | m_RootGameObject: {fileID: 106008} 91 | m_IsPrefabParent: 1 92 | m_IsExploded: 1 93 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Seg2.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 435aa457b048c83419603401613c899a 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Seg3.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &133834 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 4 9 | m_Component: 10 | - 4: {fileID: 433834} 11 | - 212: {fileID: 21233834} 12 | m_Layer: 0 13 | m_Name: Seg3 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &433834 20 | Transform: 21 | m_ObjectHideFlags: 1 22 | m_PrefabParentObject: {fileID: 0} 23 | m_PrefabInternal: {fileID: 100100000} 24 | m_GameObject: {fileID: 133834} 25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 26 | m_LocalPosition: {x: -12, y: 0, z: 0} 27 | m_LocalScale: {x: 1, y: 1, z: 1} 28 | m_Children: [] 29 | m_Father: {fileID: 0} 30 | m_RootOrder: 0 31 | --- !u!212 &21233834 32 | SpriteRenderer: 33 | m_ObjectHideFlags: 1 34 | m_PrefabParentObject: {fileID: 0} 35 | m_PrefabInternal: {fileID: 100100000} 36 | m_GameObject: {fileID: 133834} 37 | m_Enabled: 1 38 | m_CastShadows: 0 39 | m_ReceiveShadows: 0 40 | m_LightmapIndex: 255 41 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 42 | m_Materials: 43 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 44 | m_SubsetIndices: 45 | m_StaticBatchRoot: {fileID: 0} 46 | m_UseLightProbes: 0 47 | m_LightProbeAnchor: {fileID: 0} 48 | m_ScaleInLightmap: 1 49 | m_SortingLayerID: 0 50 | m_SortingOrder: 0 51 | m_Sprite: {fileID: 21300000, guid: 6e350ba92808ac645827866ddaec2b35, type: 3} 52 | m_Color: {r: 1, g: 1, b: 1, a: 1} 53 | --- !u!1001 &100100000 54 | Prefab: 55 | m_ObjectHideFlags: 1 56 | serializedVersion: 2 57 | m_Modification: 58 | m_TransformParent: {fileID: 0} 59 | m_Modifications: [] 60 | m_RemovedComponents: [] 61 | m_ParentPrefab: {fileID: 0} 62 | m_RootGameObject: {fileID: 133834} 63 | m_IsPrefabParent: 1 64 | m_IsExploded: 1 65 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Seg3.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a1e0cdbe400b8684780f275d506161b5 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Truck.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &132144 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 4 9 | m_Component: 10 | - 4: {fileID: 432144} 11 | - 212: {fileID: 21232144} 12 | - 50: {fileID: 5032148} 13 | - 60: {fileID: 6032148} 14 | m_Layer: 0 15 | m_Name: Truck 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!1 &132146 22 | GameObject: 23 | m_ObjectHideFlags: 0 24 | m_PrefabParentObject: {fileID: 0} 25 | m_PrefabInternal: {fileID: 100100000} 26 | serializedVersion: 4 27 | m_Component: 28 | - 4: {fileID: 432146} 29 | - 212: {fileID: 21232146} 30 | - 58: {fileID: 5832148} 31 | - 50: {fileID: 5032144} 32 | - 235: {fileID: 23532148} 33 | m_Layer: 0 34 | m_Name: TruckWheelSprite 35 | m_TagString: Untagged 36 | m_Icon: {fileID: 0} 37 | m_NavMeshLayer: 0 38 | m_StaticEditorFlags: 0 39 | m_IsActive: 1 40 | --- !u!1 &132148 41 | GameObject: 42 | m_ObjectHideFlags: 0 43 | m_PrefabParentObject: {fileID: 0} 44 | m_PrefabInternal: {fileID: 100100000} 45 | serializedVersion: 4 46 | m_Component: 47 | - 4: {fileID: 432148} 48 | - 212: {fileID: 21232148} 49 | - 58: {fileID: 5832146} 50 | - 50: {fileID: 5032146} 51 | - 235: {fileID: 23532146} 52 | m_Layer: 0 53 | m_Name: TruckWheelSprite 54 | m_TagString: Untagged 55 | m_Icon: {fileID: 0} 56 | m_NavMeshLayer: 0 57 | m_StaticEditorFlags: 0 58 | m_IsActive: 1 59 | --- !u!4 &432144 60 | Transform: 61 | m_ObjectHideFlags: 1 62 | m_PrefabParentObject: {fileID: 0} 63 | m_PrefabInternal: {fileID: 100100000} 64 | m_GameObject: {fileID: 132144} 65 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 66 | m_LocalPosition: {x: -2.73000002, y: 6.82000017, z: 0} 67 | m_LocalScale: {x: 1, y: 1, z: 1} 68 | m_Children: 69 | - {fileID: 432146} 70 | - {fileID: 432148} 71 | m_Father: {fileID: 0} 72 | m_RootOrder: 0 73 | --- !u!4 &432146 74 | Transform: 75 | m_ObjectHideFlags: 1 76 | m_PrefabParentObject: {fileID: 0} 77 | m_PrefabInternal: {fileID: 100100000} 78 | m_GameObject: {fileID: 132146} 79 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 80 | m_LocalPosition: {x: -1.4000001, y: -.970000267, z: 0} 81 | m_LocalScale: {x: 1, y: 1, z: 1} 82 | m_Children: [] 83 | m_Father: {fileID: 432144} 84 | m_RootOrder: 0 85 | --- !u!4 &432148 86 | Transform: 87 | m_ObjectHideFlags: 1 88 | m_PrefabParentObject: {fileID: 0} 89 | m_PrefabInternal: {fileID: 100100000} 90 | m_GameObject: {fileID: 132148} 91 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 92 | m_LocalPosition: {x: 1.53999996, y: -.970000267, z: 0} 93 | m_LocalScale: {x: 1, y: 1, z: 1} 94 | m_Children: [] 95 | m_Father: {fileID: 432144} 96 | m_RootOrder: 1 97 | --- !u!50 &5032144 98 | Rigidbody2D: 99 | m_ObjectHideFlags: 1 100 | m_PrefabParentObject: {fileID: 0} 101 | m_PrefabInternal: {fileID: 100100000} 102 | m_GameObject: {fileID: 132146} 103 | m_Mass: 5 104 | m_LinearDrag: 0 105 | m_AngularDrag: .0500000007 106 | m_GravityScale: 1 107 | m_FixedAngle: 0 108 | m_IsKinematic: 0 109 | m_Interpolate: 0 110 | m_SleepingMode: 1 111 | m_CollisionDetection: 0 112 | --- !u!50 &5032146 113 | Rigidbody2D: 114 | m_ObjectHideFlags: 1 115 | m_PrefabParentObject: {fileID: 0} 116 | m_PrefabInternal: {fileID: 100100000} 117 | m_GameObject: {fileID: 132148} 118 | m_Mass: 5 119 | m_LinearDrag: 0 120 | m_AngularDrag: .0500000007 121 | m_GravityScale: 1 122 | m_FixedAngle: 0 123 | m_IsKinematic: 0 124 | m_Interpolate: 0 125 | m_SleepingMode: 1 126 | m_CollisionDetection: 0 127 | --- !u!50 &5032148 128 | Rigidbody2D: 129 | m_ObjectHideFlags: 1 130 | m_PrefabParentObject: {fileID: 0} 131 | m_PrefabInternal: {fileID: 100100000} 132 | m_GameObject: {fileID: 132144} 133 | m_Mass: 5 134 | m_LinearDrag: 0 135 | m_AngularDrag: .0500000007 136 | m_GravityScale: 1 137 | m_FixedAngle: 0 138 | m_IsKinematic: 0 139 | m_Interpolate: 0 140 | m_SleepingMode: 1 141 | m_CollisionDetection: 0 142 | --- !u!58 &5832146 143 | CircleCollider2D: 144 | m_ObjectHideFlags: 1 145 | m_PrefabParentObject: {fileID: 0} 146 | m_PrefabInternal: {fileID: 100100000} 147 | m_GameObject: {fileID: 132148} 148 | m_Enabled: 1 149 | m_Material: {fileID: 0} 150 | m_IsTrigger: 0 151 | m_Radius: .930000007 152 | m_Center: {x: 0, y: 0} 153 | --- !u!58 &5832148 154 | CircleCollider2D: 155 | m_ObjectHideFlags: 1 156 | m_PrefabParentObject: {fileID: 0} 157 | m_PrefabInternal: {fileID: 100100000} 158 | m_GameObject: {fileID: 132146} 159 | m_Enabled: 1 160 | m_Material: {fileID: 0} 161 | m_IsTrigger: 0 162 | m_Radius: .930000007 163 | m_Center: {x: 0, y: 0} 164 | --- !u!60 &6032148 165 | PolygonCollider2D: 166 | m_ObjectHideFlags: 1 167 | m_PrefabParentObject: {fileID: 0} 168 | m_PrefabInternal: {fileID: 100100000} 169 | m_GameObject: {fileID: 132144} 170 | m_Enabled: 1 171 | m_Material: {fileID: 0} 172 | m_IsTrigger: 0 173 | m_Poly: 174 | m_Paths: 175 | - - {x: -.239999995, y: -.519999981} 176 | - {x: 0, y: -.519999981} 177 | - {x: .0299999993, y: -.550000012} 178 | - {x: .239999995, y: -.550000012} 179 | - {x: .270000011, y: -.519999981} 180 | - {x: .449999988, y: -.550000012} 181 | - {x: .930000007, y: -.870000005} 182 | - {x: 1.16999996, y: -1.03999996} 183 | - {x: 1.44000006, y: -1.22000003} 184 | - {x: 1.51999998, y: -1.19000006} 185 | - {x: 1.60000002, y: -1.12} 186 | - {x: 1.70000005, y: -1.11000001} 187 | - {x: 1.73000002, y: -1.01999998} 188 | - {x: 1.71000004, y: -.949999988} 189 | - {x: 1.72000003, y: -.850000024} 190 | - {x: 1.71000004, y: -.560000002} 191 | - {x: 1.73000002, y: -.419999987} 192 | - {x: 1.71000004, y: -.300000012} 193 | - {x: 1.73000002, y: -.270000011} 194 | - {x: 1.73000002, y: -.129999995} 195 | - {x: 1.88, y: -.119999997} 196 | - {x: 2, y: -.0299999993} 197 | - {x: 2.20000005, y: -.25999999} 198 | - {x: 2.32999992, y: -.280000001} 199 | - {x: 2.42000008, y: -.280000001} 200 | - {x: 2.48000002, y: -.159999996} 201 | - {x: 2.48000002, y: -.0799999982} 202 | - {x: 2.47000003, y: -.0299999993} 203 | - {x: 2.45000005, y: 0} 204 | - {x: 2.38000011, y: .0900000036} 205 | - {x: 2.33999991, y: .129999995} 206 | - {x: 2.30999994, y: .449999988} 207 | - {x: 2.24000001, y: .529999971} 208 | - {x: 2.1500001, y: .579999983} 209 | - {x: 2.02999997, y: .600000024} 210 | - {x: 1.41999996, y: .600000024} 211 | - {x: 1.20000005, y: .75} 212 | - {x: 1.01999998, y: .889999986} 213 | - {x: .74000001, y: 1.11000001} 214 | - {x: .579999983, y: 1.22000003} 215 | - {x: .479999989, y: 1.24000001} 216 | - {x: -.0500000007, y: 1.24000001} 217 | - {x: -.140000001, y: 1.20000005} 218 | - {x: -.230000004, y: 1.08000004} 219 | - {x: -.239999995, y: 1.13999999} 220 | - {x: -.300000012, y: 1.17999995} 221 | - {x: -.340000004, y: 1.27999997} 222 | - {x: -.479999989, y: 1.27999997} 223 | - {x: -.519999981, y: 1.25999999} 224 | - {x: -.50999999, y: 1.17999995} 225 | - {x: -.469999999, y: 1.12} 226 | - {x: -.460000008, y: 1.00999999} 227 | - {x: -.430000007, y: .910000026} 228 | - {x: -.649999976, y: .74000001} 229 | - {x: -.800000012, y: .600000024} 230 | - {x: -.839999974, y: .600000024} 231 | - {x: -1.13, y: .589999974} 232 | - {x: -1.49000001, y: .569999993} 233 | - {x: -1.5, y: .579999983} 234 | - {x: -1.79999995, y: .589999974} 235 | - {x: -1.84000003, y: .589999974} 236 | - {x: -2.08999991, y: .579999983} 237 | - {x: -2.13000011, y: .50999999} 238 | - {x: -2.1099999, y: .419999987} 239 | - {x: -2.07999992, y: .300000012} 240 | - {x: -2.0999999, y: .239999995} 241 | - {x: -2.20000005, y: .140000001} 242 | - {x: -2.23000002, y: .100000001} 243 | - {x: -2.24000001, y: .0199999996} 244 | - {x: -2.24000001, y: -.129999995} 245 | - {x: -2.17000008, y: -.219999999} 246 | - {x: -2.11999989, y: -.239999995} 247 | - {x: -2, y: -.230000004} 248 | - {x: -1.86000001, y: -.0700000003} 249 | - {x: -1.82000005, y: -.109999999} 250 | - {x: -1.59000003, y: -.119999997} 251 | - {x: -1.59000003, y: -.479999989} 252 | - {x: -1.58000004, y: -.660000026} 253 | - {x: -1.61000001, y: -.670000017} 254 | - {x: -1.61000001, y: -.810000002} 255 | - {x: -1.59000003, y: -1.03999996} 256 | - {x: -1.5, y: -1.14999998} 257 | - {x: -1.45000005, y: -1.15999997} 258 | - {x: -1.42999995, y: -1.21000004} 259 | - {x: -1.38, y: -1.26999998} 260 | - {x: -1.34000003, y: -1.26999998} 261 | - {x: -.680000007, y: -.829999983} 262 | - {x: -.319999993, y: -.579999983} 263 | - - {x: -1.24000001, y: -.980000019} 264 | - {x: -1.16999996, y: -.949999988} 265 | - {x: -1.02999997, y: -.870000005} 266 | - {x: -1.00999999, y: -.850000024} 267 | - {x: -.939999998, y: -.819999993} 268 | - {x: -.850000024, y: -.769999981} 269 | - {x: -.779999971, y: -.730000019} 270 | - {x: -.720000029, y: -.680000007} 271 | - {x: -.75999999, y: -.689999998} 272 | - {x: -.800000012, y: -.709999979} 273 | - {x: -.899999976, y: -.779999971} 274 | - {x: -.959999979, y: -.819999993} 275 | - {x: -.980000019, y: -.850000024} 276 | - {x: -.99000001, y: -.850000024} 277 | - {x: -1.09000003, y: -.910000026} 278 | - {x: -1.24000001, y: -1.00999999} 279 | - {x: -1.25, y: -1.02999997} 280 | - {x: -1.24000001, y: -1.02999997} 281 | - - {x: 1.32000005, y: -.779999971} 282 | - {x: 1.29999995, y: -.75} 283 | - {x: .790000021, y: -.430000007} 284 | - {x: 1.12, y: -.189999998} 285 | - {x: 1.19000006, y: -.129999995} 286 | - {x: 1.37, y: -.129999995} 287 | - {x: 1.36000001, y: -.349999994} 288 | - {x: 1.35000002, y: -.680000007} 289 | - {x: 1.35000002, y: -.730000019} 290 | - {x: 1.36000001, y: -.800000012} 291 | - {x: 1.37, y: -.819999993} 292 | - {x: 1.37, y: -.810000002} 293 | - - {x: -1.24000001, y: -.790000021} 294 | - {x: -1.23000002, y: -.680000007} 295 | - {x: -.680000007, y: -.340000004} 296 | - {x: -.540000021, y: -.409999996} 297 | - {x: -.540000021, y: -.400000006} 298 | - {x: -.569999993, y: -.419999987} 299 | - {x: -.639999986, y: -.449999988} 300 | - {x: -1.00999999, y: -.660000026} 301 | - {x: -1.13, y: -.730000019} 302 | - {x: -1.14999998, y: -.75} 303 | - {x: -1.25, y: -.810000002} 304 | - - {x: -.230000004, y: -.280000001} 305 | - {x: -.0399999991, y: -.379999995} 306 | - {x: -.300000012, y: -.379999995} 307 | - {x: -.289999992, y: -.379999995} 308 | - - {x: .340000004, y: -.319999993} 309 | - {x: .349999994, y: -.319999993} 310 | - {x: .5, y: -.379999995} 311 | - {x: .280000001, y: -.379999995} 312 | - {x: .289999992, y: -.379999995} 313 | - - {x: .0599999987, y: -.270000011} 314 | - {x: .180000007, y: -.270000011} 315 | - {x: .109999999, y: -.319999993} 316 | - {x: .109999999, y: -.310000002} 317 | - - {x: .639999986, y: -.310000002} 318 | - {x: .610000014, y: -.280000001} 319 | - {x: .730000019, y: -.280000001} 320 | - {x: .720000029, y: -.270000011} 321 | - {x: .660000026, y: -.319999993} 322 | - - {x: -.469999999, y: -.270000011} 323 | - {x: -.409999996, y: -.270000011} 324 | - {x: -.419999987, y: -.289999992} 325 | - {x: -.419999987, y: -.280000001} 326 | - - {x: 1.10000002, y: -.0299999993} 327 | - {x: 1.03999996, y: -.0299999993} 328 | - {x: .870000005, y: -.159999996} 329 | - {x: .870000005, y: -.200000003} 330 | - - {x: 1.34000003, y: .0700000003} 331 | - {x: 1.36000001, y: .0399999991} 332 | - {x: 1.37, y: .0299999993} 333 | - {x: 1.21000004, y: .0399999991} 334 | - - {x: 1.72000003, y: .0700000003} 335 | - {x: 1.78999996, y: .0500000007} 336 | - {x: 1.83000004, y: .0299999993} 337 | - {x: 1.71000004, y: .0299999993} 338 | - - {x: -1.63999999, y: .0399999991} 339 | - {x: -1.59000003, y: .0399999991} 340 | - {x: -1.69000006, y: .0299999993} 341 | - {x: -1.67999995, y: .0199999996} 342 | - - {x: -1.25, y: .0500000007} 343 | - {x: -1.23000002, y: .0299999993} 344 | - {x: -1.14999998, y: .00999999978} 345 | - {x: -1.13, y: .0299999993} 346 | - {x: -1.24000001, y: .0500000007} 347 | - - {x: -.540000021, y: .610000014} 348 | - {x: -.439999998, y: .699999988} 349 | - {x: -.419999987, y: .649999976} 350 | - {x: -.49000001, y: .620000005} 351 | - - {x: -.209999993, y: .889999986} 352 | - {x: -.219999999, y: .889999986} 353 | - {x: -.239999995, y: .800000012} 354 | - {x: -.230000004, y: .75999999} 355 | - {x: -.209999993, y: .769999981} 356 | --- !u!212 &21232144 357 | SpriteRenderer: 358 | m_ObjectHideFlags: 1 359 | m_PrefabParentObject: {fileID: 0} 360 | m_PrefabInternal: {fileID: 100100000} 361 | m_GameObject: {fileID: 132144} 362 | m_Enabled: 1 363 | m_CastShadows: 0 364 | m_ReceiveShadows: 0 365 | m_LightmapIndex: 255 366 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 367 | m_Materials: 368 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 369 | m_SubsetIndices: 370 | m_StaticBatchRoot: {fileID: 0} 371 | m_UseLightProbes: 0 372 | m_LightProbeAnchor: {fileID: 0} 373 | m_ScaleInLightmap: 1 374 | m_SortingLayerID: 0 375 | m_SortingOrder: 0 376 | m_Sprite: {fileID: 21300000, guid: 25cd001c43b158a4bb7a96fe6eb587f8, type: 3} 377 | m_Color: {r: 1, g: 1, b: 1, a: 1} 378 | --- !u!212 &21232146 379 | SpriteRenderer: 380 | m_ObjectHideFlags: 1 381 | m_PrefabParentObject: {fileID: 0} 382 | m_PrefabInternal: {fileID: 100100000} 383 | m_GameObject: {fileID: 132146} 384 | m_Enabled: 1 385 | m_CastShadows: 0 386 | m_ReceiveShadows: 0 387 | m_LightmapIndex: 255 388 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 389 | m_Materials: 390 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 391 | m_SubsetIndices: 392 | m_StaticBatchRoot: {fileID: 0} 393 | m_UseLightProbes: 0 394 | m_LightProbeAnchor: {fileID: 0} 395 | m_ScaleInLightmap: 1 396 | m_SortingLayerID: 0 397 | m_SortingOrder: 0 398 | m_Sprite: {fileID: 21300000, guid: 1dac51ccfdf78ee4ab0cb747e72cc7b0, type: 3} 399 | m_Color: {r: 1, g: 1, b: 1, a: 1} 400 | --- !u!212 &21232148 401 | SpriteRenderer: 402 | m_ObjectHideFlags: 1 403 | m_PrefabParentObject: {fileID: 0} 404 | m_PrefabInternal: {fileID: 100100000} 405 | m_GameObject: {fileID: 132148} 406 | m_Enabled: 1 407 | m_CastShadows: 0 408 | m_ReceiveShadows: 0 409 | m_LightmapIndex: 255 410 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} 411 | m_Materials: 412 | - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} 413 | m_SubsetIndices: 414 | m_StaticBatchRoot: {fileID: 0} 415 | m_UseLightProbes: 0 416 | m_LightProbeAnchor: {fileID: 0} 417 | m_ScaleInLightmap: 1 418 | m_SortingLayerID: 0 419 | m_SortingOrder: 0 420 | m_Sprite: {fileID: 21300000, guid: 1dac51ccfdf78ee4ab0cb747e72cc7b0, type: 3} 421 | m_Color: {r: 1, g: 1, b: 1, a: 1} 422 | --- !u!235 &23532146 423 | WheelJoint2D: 424 | m_ObjectHideFlags: 1 425 | m_PrefabParentObject: {fileID: 0} 426 | m_PrefabInternal: {fileID: 100100000} 427 | m_GameObject: {fileID: 132148} 428 | m_Enabled: 1 429 | m_CollideConnected: 0 430 | m_ConnectedRigidBody: {fileID: 5032148} 431 | m_Anchor: {x: 0, y: 0} 432 | m_ConnectedAnchor: {x: 1.54000008, y: -.969999969} 433 | m_Suspension: 434 | serializedVersion: 2 435 | m_DampingRatio: 1 436 | m_Frequency: 5 437 | m_Angle: 90 438 | m_UseMotor: 1 439 | m_Motor: 440 | m_MotorSpeed: 150 441 | m_MaximumMotorForce: 10000 442 | --- !u!235 &23532148 443 | WheelJoint2D: 444 | m_ObjectHideFlags: 1 445 | m_PrefabParentObject: {fileID: 0} 446 | m_PrefabInternal: {fileID: 100100000} 447 | m_GameObject: {fileID: 132146} 448 | m_Enabled: 1 449 | m_CollideConnected: 0 450 | m_ConnectedRigidBody: {fileID: 5032148} 451 | m_Anchor: {x: 0, y: 0} 452 | m_ConnectedAnchor: {x: -1.4000001, y: -.969999969} 453 | m_Suspension: 454 | serializedVersion: 2 455 | m_DampingRatio: 1 456 | m_Frequency: 5 457 | m_Angle: 90 458 | m_UseMotor: 1 459 | m_Motor: 460 | m_MotorSpeed: 150 461 | m_MaximumMotorForce: 10000 462 | --- !u!1001 &100100000 463 | Prefab: 464 | m_ObjectHideFlags: 1 465 | serializedVersion: 2 466 | m_Modification: 467 | m_TransformParent: {fileID: 0} 468 | m_Modifications: [] 469 | m_RemovedComponents: [] 470 | m_ParentPrefab: {fileID: 0} 471 | m_RootGameObject: {fileID: 132144} 472 | m_IsPrefabParent: 1 473 | m_IsExploded: 1 474 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Prefabs/Truck.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6af4a329d0ef62647a81eb52eddec168 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91f2dca73decc0b43ad8ef4dceacad43 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Scenes/Scene_1.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bd2dc78293f9204c9629839af0509b1 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Scenes/Scene_2.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 785df7bbcb82c5044a6cb28dd3b0491c 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Scenes/Scene_3.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3957e464f9fbba44ba4c1476aff8435 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c552d5ebc6b683e4fadd10ed7f083f23 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/Box.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Box.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39b0fa1f50220f748b19cce99395495a 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/ChainLinksSprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/ChainLinksSprite.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/ChainLinksSprite.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c4b33607c407fa41b292adfc469da71 3 | TextureImporter: 4 | fileIDToRecycleName: 5 | 21300000: ChainPart1 6 | 21300002: ChainPart2 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: .25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | seamlessCubemap: 0 26 | textureFormat: -1 27 | maxTextureSize: 1024 28 | textureSettings: 29 | filterMode: -1 30 | aniso: 16 31 | mipBias: -1 32 | wrapMode: 1 33 | nPOTScale: 0 34 | lightmap: 0 35 | compressionQuality: 50 36 | spriteMode: 2 37 | spriteExtrude: 1 38 | spriteMeshType: 1 39 | alignment: 0 40 | spritePivot: {x: .5, y: .5} 41 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 42 | spritePixelsToUnits: 200 43 | alphaIsTransparency: 1 44 | textureType: 8 45 | buildTargetSettings: [] 46 | spriteSheet: 47 | sprites: 48 | - name: ChainPart1 49 | rect: 50 | serializedVersion: 2 51 | x: 0 52 | y: 0 53 | width: 60 54 | height: 123 55 | alignment: 0 56 | pivot: {x: .5, y: .5} 57 | border: {x: 0, y: 0, z: 0, w: 0} 58 | - name: ChainPart2 59 | rect: 60 | serializedVersion: 2 61 | x: 60 62 | y: 0 63 | width: 30 64 | height: 123 65 | alignment: 0 66 | pivot: {x: .5, y: .5} 67 | border: {x: 0, y: 0, z: 0, w: 0} 68 | spritePackingTag: 69 | userData: 70 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/GrassThinSprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/GrassThinSprite.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/GrassThinSprite.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f85b3c8923c5745468e1d571b70688aa 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: 16 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/PlankSprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/PlankSprite.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/PlankSprite.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7a3e0605b2f49f47b4bcf305434d50d 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Pulley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/Pulley.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Pulley.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a02e2d658f43c534c906e36f3b143381 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Seg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/Seg1.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Seg1.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1946c5ca0a7c99941afb5fde0809f241 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: 16 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Seg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/Seg2.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Seg2.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac536fc1053d259498050eedee444510 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: 16 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Seg3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/Seg3.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/Seg3.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e350ba92808ac645827866ddaec2b35 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: 16 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/SkyTileSprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/SkyTileSprite.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/SkyTileSprite.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 208665354c8b57b46bd0e04eeab53e7a 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/TruckChassisSprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/TruckChassisSprite.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/TruckChassisSprite.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25cd001c43b158a4bb7a96fe6eb587f8 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/TruckWheelSprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/TruckWheelSprite.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/TruckWheelSprite.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1dac51ccfdf78ee4ab0cb747e72cc7b0 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/WeightSprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dandarawy/Unity3D_2DRopeEditor/04515fcac70230b8bfc1e26323e4e487d6f47a31/Assets/Rope 2D Editor/Examples/Sprites/WeightSprite.png -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Examples/Sprites/WeightSprite.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83520248c63ffff4fbd151df08a70010 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: 16 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 200 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef1dcc3688c9b7f4190ea1c5c371fe22 3 | folderAsset: yes 4 | timeCreated: 1460243740 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Scripts/Rope.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | public enum SegmentSelectionMode 4 | { 5 | RoundRobin, 6 | Random 7 | } 8 | public enum LineOverflowMode 9 | { 10 | Round, 11 | Shrink, 12 | Extend 13 | } 14 | public class Rope : MonoBehaviour { 15 | public SpriteRenderer[] SegmentsPrefabs; 16 | public SegmentSelectionMode SegmentsMode; 17 | public LineOverflowMode OverflowMode; 18 | [HideInInspector] 19 | public bool useBendLimit = true; 20 | [HideInInspector] 21 | public int bendLimit = 45; 22 | [HideInInspector] 23 | public bool HangFirstSegment = false; 24 | [HideInInspector] 25 | public Vector2 FirstSegmentConnectionAnchor; 26 | [HideInInspector] 27 | public Vector2 LastSegmentConnectionAnchor; 28 | [HideInInspector] 29 | public bool HangLastSegment = false; 30 | 31 | #if UNITY_5 32 | [HideInInspector] 33 | public bool BreakableJoints=false; 34 | [HideInInspector] 35 | public float BreakForce = 100; 36 | #endif 37 | [Range(-0.5f,0.5f)] 38 | public float overlapFactor; 39 | public List nodes = new List(new Vector3[] {new Vector3(-3,0,0),new Vector3(3,0,0) }); 40 | public bool WithPhysics=true; 41 | // Use this for initialization 42 | void Start () { 43 | 44 | } 45 | 46 | // Update is called once per frame 47 | void Update () { 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Assets/Rope 2D Editor/Scripts/Rope.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 548add69c3febb74fac7d0a73f1036c9 3 | timeCreated: 1460135875 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | 0. Additional Definitions. 14 | 15 | As used herein, "this License" refers to version 3 of the GNU Lesser 16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 17 | General Public License. 18 | 19 | "The Library" refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An "Application" is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A "Combined Work" is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the "Linked 30 | Version". 31 | 32 | The "Minimal Corresponding Source" for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The "Corresponding Application Code" for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | 1. Exception to Section 3 of the GNU GPL. 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | 2. Conveying Modified Versions. 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | a) under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | b) under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | 3. Object Code Incorporating Material from Library Header Files. 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | a) Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | 76 | b) Accompany the object code with a copy of the GNU GPL and this license 77 | document. 78 | 79 | 4. Combined Works. 80 | 81 | You may convey a Combined Work under terms of your choice that, 82 | taken together, effectively do not restrict modification of the 83 | portions of the Library contained in the Combined Work and reverse 84 | engineering for debugging such modifications, if you also do each of 85 | the following: 86 | 87 | a) Give prominent notice with each copy of the Combined Work that 88 | the Library is used in it and that the Library and its use are 89 | covered by this License. 90 | 91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 92 | document. 93 | 94 | c) For a Combined Work that displays copyright notices during 95 | execution, include the copyright notice for the Library among 96 | these notices, as well as a reference directing the user to the 97 | copies of the GNU GPL and this license document. 98 | 99 | d) Do one of the following: 100 | 101 | 0) Convey the Minimal Corresponding Source under the terms of this 102 | License, and the Corresponding Application Code in a form 103 | suitable for, and under terms that permit, the user to 104 | recombine or relink the Application with a modified version of 105 | the Linked Version to produce a modified Combined Work, in the 106 | manner specified by section 6 of the GNU GPL for conveying 107 | Corresponding Source. 108 | 109 | 1) Use a suitable shared library mechanism for linking with the 110 | Library. A suitable mechanism is one that (a) uses at run time 111 | a copy of the Library already present on the user's computer 112 | system, and (b) will operate properly with a modified version 113 | of the Library that is interface-compatible with the Linked 114 | Version. 115 | 116 | e) Provide Installation Information, but only if you would otherwise 117 | be required to provide such information under section 6 of the 118 | GNU GPL, and only to the extent that such information is 119 | necessary to install and execute a modified version of the 120 | Combined Work produced by recombining or relinking the 121 | Application with a modified version of the Linked Version. (If 122 | you use option 4d0, the Installation Information must accompany 123 | the Minimal Corresponding Source and Corresponding Application 124 | Code. If you use option 4d1, you must provide the Installation 125 | Information in the manner specified by section 6 of the GNU GPL 126 | for conveying Corresponding Source.) 127 | 128 | 5. Combined Libraries. 129 | 130 | You may place library facilities that are a work based on the 131 | Library side by side in a single library together with other library 132 | facilities that are not Applications and are not covered by this 133 | License, and convey such a combined library under terms of your 134 | choice, if you do both of the following: 135 | 136 | a) Accompany the combined library with a copy of the same work based 137 | on the Library, uncombined with any other library facilities, 138 | conveyed under the terms of this License. 139 | 140 | b) Give prominent notice with the combined library that part of it 141 | is a work based on the Library, and explaining where to find the 142 | accompanying uncombined form of the same work. 143 | 144 | 6. Revised Versions of the GNU Lesser General Public License. 145 | 146 | The Free Software Foundation may publish revised and/or new versions 147 | of the GNU Lesser General Public License from time to time. Such new 148 | versions will be similar in spirit to the present version, but may 149 | differ in detail to address new problems or concerns. 150 | 151 | Each version is given a distinguishing version number. If the 152 | Library as you received it specifies that a certain numbered version 153 | of the GNU Lesser General Public License "or any later version" 154 | applies to it, you have the option of following the terms and 155 | conditions either of that published version or of any later version 156 | published by the Free Software Foundation. If the Library as you 157 | received it does not specify a version number of the GNU Lesser 158 | General Public License, you may choose any version of the GNU Lesser 159 | General Public License ever published by the Free Software Foundation. 160 | 161 | If the Library as you received it specifies that a proxy can decide 162 | whether future versions of the GNU Lesser General Public License shall 163 | apply, that proxy's public statement of acceptance of any version is 164 | permanent authorization for you to choose that version for the 165 | Library. 166 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | m_SpeedOfSound: 347 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_DSPBufferSize: 0 12 | m_DisableAudio: 0 13 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepVelocity: .150000006 10 | m_SleepAngularVelocity: .140000001 11 | m_MaxAngularVelocity: 7 12 | m_MinPenetrationForPenalty: .00999999978 13 | m_SolverIterationCount: 6 14 | m_RaycastsHitTriggers: 1 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 1 12 | m_SpritePackerMode: 2 13 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_AlwaysIncludedShaders: 8 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 9 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 10 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: .00100000005 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: .00100000005 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: .00100000005 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: .00100000005 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left cmd 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: .00100000005 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: .00100000005 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: .100000001 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: .100000001 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: .100000001 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: .189999998 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: .189999998 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: .00100000005 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: .00100000005 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: .00100000005 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: .00100000005 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: .00100000005 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: .00100000005 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: .00100000005 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshLayers.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshLayers: 5 | m_ObjectHideFlags: 0 6 | Built-in Layer 0: 7 | name: Default 8 | cost: 1 9 | editType: 2 10 | Built-in Layer 1: 11 | name: Not Walkable 12 | cost: 1 13 | editType: 0 14 | Built-in Layer 2: 15 | name: Jump 16 | cost: 2 17 | editType: 2 18 | User Layer 0: 19 | name: 20 | cost: 1 21 | editType: 3 22 | User Layer 1: 23 | name: 24 | cost: 1 25 | editType: 3 26 | User Layer 2: 27 | name: 28 | cost: 1 29 | editType: 3 30 | User Layer 3: 31 | name: 32 | cost: 1 33 | editType: 3 34 | User Layer 4: 35 | name: 36 | cost: 1 37 | editType: 3 38 | User Layer 5: 39 | name: 40 | cost: 1 41 | editType: 3 42 | User Layer 6: 43 | name: 44 | cost: 1 45 | editType: 3 46 | User Layer 7: 47 | name: 48 | cost: 1 49 | editType: 3 50 | User Layer 8: 51 | name: 52 | cost: 1 53 | editType: 3 54 | User Layer 9: 55 | name: 56 | cost: 1 57 | editType: 3 58 | User Layer 10: 59 | name: 60 | cost: 1 61 | editType: 3 62 | User Layer 11: 63 | name: 64 | cost: 1 65 | editType: 3 66 | User Layer 12: 67 | name: 68 | cost: 1 69 | editType: 3 70 | User Layer 13: 71 | name: 72 | cost: 1 73 | editType: 3 74 | User Layer 14: 75 | name: 76 | cost: 1 77 | editType: 3 78 | User Layer 15: 79 | name: 80 | cost: 1 81 | editType: 3 82 | User Layer 16: 83 | name: 84 | cost: 1 85 | editType: 3 86 | User Layer 17: 87 | name: 88 | cost: 1 89 | editType: 3 90 | User Layer 18: 91 | name: 92 | cost: 1 93 | editType: 3 94 | User Layer 19: 95 | name: 96 | cost: 1 97 | editType: 3 98 | User Layer 20: 99 | name: 100 | cost: 1 101 | editType: 3 102 | User Layer 21: 103 | name: 104 | cost: 1 105 | editType: 3 106 | User Layer 22: 107 | name: 108 | cost: 1 109 | editType: 3 110 | User Layer 23: 111 | name: 112 | cost: 1 113 | editType: 3 114 | User Layer 24: 115 | name: 116 | cost: 1 117 | editType: 3 118 | User Layer 25: 119 | name: 120 | cost: 1 121 | editType: 3 122 | User Layer 26: 123 | name: 124 | cost: 1 125 | editType: 3 126 | User Layer 27: 127 | name: 128 | cost: 1 129 | editType: 3 130 | User Layer 28: 131 | name: 132 | cost: 1 133 | editType: 3 134 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_VelocityIterations: 8 9 | m_PositionIterations: 3 10 | m_VelocityThreshold: 1 11 | m_MaxLinearCorrection: .200000003 12 | m_MaxAngularCorrection: 8 13 | m_MaxTranslationSpeed: 100 14 | m_MaxRotationSpeed: 360 15 | m_MinPenetrationForPenalty: .00999999978 16 | m_BaumgarteScale: .200000003 17 | m_BaumgarteTimeOfImpactScale: .75 18 | m_TimeToSleep: .5 19 | m_LinearSleepTolerance: .00999999978 20 | m_AngularSleepTolerance: 2 21 | m_RaycastsHitTriggers: 1 22 | m_RaycastsStartInColliders: 1 23 | m_ChangeStopsCallbacks: 0 24 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 25 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | AndroidProfiler: 0 8 | defaultScreenOrientation: 4 9 | targetDevice: 2 10 | targetGlesGraphics: 1 11 | targetIOSGraphics: -1 12 | targetResolution: 0 13 | accelerometerFrequency: 60 14 | companyName: DefaultCompany 15 | productName: Unity3D_2DRopeEditor 16 | defaultCursor: {fileID: 0} 17 | cursorHotspot: {x: 0, y: 0} 18 | defaultScreenWidth: 1024 19 | defaultScreenHeight: 768 20 | defaultScreenWidthWeb: 960 21 | defaultScreenHeightWeb: 600 22 | m_RenderingPath: 1 23 | m_MobileRenderingPath: 1 24 | m_ActiveColorSpace: 0 25 | m_MTRendering: 1 26 | m_MobileMTRendering: 0 27 | m_UseDX11: 1 28 | m_Stereoscopic3D: 0 29 | iosShowActivityIndicatorOnLoading: -1 30 | androidShowActivityIndicatorOnLoading: -1 31 | displayResolutionDialog: 1 32 | allowedAutorotateToPortrait: 1 33 | allowedAutorotateToPortraitUpsideDown: 1 34 | allowedAutorotateToLandscapeRight: 1 35 | allowedAutorotateToLandscapeLeft: 1 36 | useOSAutorotation: 1 37 | use32BitDisplayBuffer: 1 38 | use24BitDepthBuffer: 1 39 | defaultIsFullScreen: 1 40 | defaultIsNativeResolution: 1 41 | runInBackground: 1 42 | captureSingleScreen: 0 43 | Override IPod Music: 0 44 | Prepare IOS For Recording: 0 45 | enableHWStatistics: 1 46 | usePlayerLog: 1 47 | stripPhysics: 0 48 | forceSingleInstance: 0 49 | resizableWindow: 0 50 | useMacAppStoreValidation: 0 51 | gpuSkinning: 0 52 | xboxPIXTextureCapture: 0 53 | xboxEnableAvatar: 0 54 | xboxEnableKinect: 0 55 | xboxEnableKinectAutoTracking: 0 56 | xboxEnableFitness: 0 57 | visibleInBackground: 0 58 | macFullscreenMode: 2 59 | d3d9FullscreenMode: 1 60 | d3d11ForceExclusiveMode: 0 61 | xboxSpeechDB: 0 62 | xboxEnableHeadOrientation: 0 63 | xboxEnableGuest: 0 64 | videoMemoryForVertexBuffers: 0 65 | m_SupportedAspectRatios: 66 | 4:3: 1 67 | 5:4: 1 68 | 16:10: 1 69 | 16:9: 1 70 | Others: 1 71 | iPhoneBundleIdentifier: com.Company.ProductName 72 | metroEnableIndependentInputSource: 0 73 | metroEnableLowLatencyPresentationAPI: 0 74 | productGUID: 98ca872f606fe004cb2fcc26fa5fdea0 75 | iPhoneBundleVersion: 1.0 76 | iPhoneShortBundleVersion: 1.0 77 | AndroidBundleVersionCode: 1 78 | AndroidMinSdkVersion: 9 79 | AndroidPreferredInstallLocation: 1 80 | aotOptions: 81 | apiCompatibilityLevel: 2 82 | iPhoneStrippingLevel: 0 83 | iPhoneScriptCallOptimization: 0 84 | ForceInternetPermission: 0 85 | ForceSDCardPermission: 0 86 | CreateWallpaper: 0 87 | APKExpansionFiles: 0 88 | StripUnusedMeshComponents: 0 89 | iPhoneSdkVersion: 988 90 | iPhoneTargetOSVersion: 16 91 | uIPrerenderedIcon: 0 92 | uIRequiresPersistentWiFi: 0 93 | uIStatusBarHidden: 1 94 | uIExitOnSuspend: 0 95 | uIStatusBarStyle: 0 96 | iPhoneSplashScreen: {fileID: 0} 97 | iPhoneHighResSplashScreen: {fileID: 0} 98 | iPhoneTallHighResSplashScreen: {fileID: 0} 99 | iPhone47inSplashScreen: {fileID: 0} 100 | iPhone55inPortraitSplashScreen: {fileID: 0} 101 | iPhone55inLandscapeSplashScreen: {fileID: 0} 102 | iPadPortraitSplashScreen: {fileID: 0} 103 | iPadHighResPortraitSplashScreen: {fileID: 0} 104 | iPadLandscapeSplashScreen: {fileID: 0} 105 | iPadHighResLandscapeSplashScreen: {fileID: 0} 106 | iOSLaunchScreenType: 0 107 | iOSLaunchScreenPortrait: {fileID: 0} 108 | iOSLaunchScreenLandscape: {fileID: 0} 109 | iOSLaunchScreenBackgroundColor: 110 | serializedVersion: 2 111 | rgba: 4287465576 112 | iOSLaunchScreenFillPct: 100 113 | iOSLaunchScreenSize: 100 114 | iOSLaunchScreenCustomXibPath: 115 | AndroidTargetDevice: 0 116 | AndroidSplashScreenScale: 0 117 | AndroidKeystoreName: 118 | AndroidKeyaliasName: 119 | resolutionDialogBanner: {fileID: 0} 120 | m_BuildTargetIcons: [] 121 | m_BuildTargetBatching: [] 122 | webPlayerTemplate: APPLICATION:Default 123 | m_TemplateCustomTags: {} 124 | locationUsageDescription: 125 | XboxTitleId: 126 | XboxImageXexPath: 127 | XboxSpaPath: 128 | XboxGenerateSpa: 0 129 | XboxDeployKinectResources: 0 130 | XboxSplashScreen: {fileID: 0} 131 | xboxEnableSpeech: 0 132 | xboxAdditionalTitleMemorySize: 0 133 | xboxDeployKinectHeadOrientation: 0 134 | xboxDeployKinectHeadPosition: 0 135 | ps3TitleConfigPath: 136 | ps3DLCConfigPath: 137 | ps3ThumbnailPath: 138 | ps3BackgroundPath: 139 | ps3SoundPath: 140 | ps3TrophyCommId: 141 | ps3NpCommunicationPassphrase: 142 | ps3TrophyPackagePath: 143 | ps3BootCheckMaxSaveGameSizeKB: 128 144 | ps3TrophyCommSig: 145 | ps3SaveGameSlots: 1 146 | ps3TrialMode: 0 147 | psp2Splashimage: {fileID: 0} 148 | psp2LiveAreaGate: {fileID: 0} 149 | psp2LiveAreaBackround: {fileID: 0} 150 | psp2NPTrophyPackPath: 151 | psp2NPCommsID: 152 | psp2NPCommsPassphrase: 153 | psp2NPCommsSig: 154 | psp2ParamSfxPath: 155 | psp2PackagePassword: 156 | psp2DLCConfigPath: 157 | psp2ThumbnailPath: 158 | psp2BackgroundPath: 159 | psp2SoundPath: 160 | psp2TrophyCommId: 161 | psp2TrophyPackagePath: 162 | psp2PackagedResourcesPath: 163 | flashStrippingLevel: 2 164 | spritePackerPolicy: 165 | scriptingDefineSymbols: {} 166 | metroPackageName: Unity3D_2DRopeEditor 167 | metroPackageLogo: 168 | metroPackageLogo140: 169 | metroPackageLogo180: 170 | metroPackageLogo240: 171 | metroPackageVersion: 172 | metroCertificatePath: 173 | metroCertificatePassword: 174 | metroCertificateSubject: 175 | metroCertificateIssuer: 176 | metroCertificateNotAfter: 0000000000000000 177 | metroApplicationDescription: Unity3D_2DRopeEditor 178 | metroStoreTileLogo80: 179 | metroStoreTileLogo: 180 | metroStoreTileLogo140: 181 | metroStoreTileLogo180: 182 | metroStoreTileWideLogo80: 183 | metroStoreTileWideLogo: 184 | metroStoreTileWideLogo140: 185 | metroStoreTileWideLogo180: 186 | metroStoreTileSmallLogo80: 187 | metroStoreTileSmallLogo: 188 | metroStoreTileSmallLogo140: 189 | metroStoreTileSmallLogo180: 190 | metroStoreSmallTile80: 191 | metroStoreSmallTile: 192 | metroStoreSmallTile140: 193 | metroStoreSmallTile180: 194 | metroStoreLargeTile80: 195 | metroStoreLargeTile: 196 | metroStoreLargeTile140: 197 | metroStoreLargeTile180: 198 | metroStoreSplashScreenImage: 199 | metroStoreSplashScreenImage140: 200 | metroStoreSplashScreenImage180: 201 | metroPhoneAppIcon: 202 | metroPhoneAppIcon140: 203 | metroPhoneAppIcon240: 204 | metroPhoneSmallTile: 205 | metroPhoneSmallTile140: 206 | metroPhoneSmallTile240: 207 | metroPhoneMediumTile: 208 | metroPhoneMediumTile140: 209 | metroPhoneMediumTile240: 210 | metroPhoneWideTile: 211 | metroPhoneWideTile140: 212 | metroPhoneWideTile240: 213 | metroPhoneSplashScreenImage: 214 | metroPhoneSplashScreenImage140: 215 | metroPhoneSplashScreenImage240: 216 | metroTileShortName: 217 | metroCommandLineArgsFile: 218 | metroTileShowName: 0 219 | metroMediumTileShowName: 0 220 | metroLargeTileShowName: 0 221 | metroWideTileShowName: 0 222 | metroDefaultTileSize: 1 223 | metroTileForegroundText: 1 224 | metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 225 | metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 226 | metroSplashScreenUseBackgroundColor: 0 227 | metroCapabilities: {} 228 | metroUnprocessedPlugins: [] 229 | metroCompilationOverrides: 1 230 | blackberryDeviceAddress: 231 | blackberryDevicePassword: 232 | blackberryTokenPath: 233 | blackberryTokenExires: 234 | blackberryTokenAuthor: 235 | blackberryTokenAuthorId: 236 | blackberryAuthorId: 237 | blackberryCskPassword: 238 | blackberrySaveLogPath: 239 | blackberryAuthorIdOveride: 0 240 | blackberrySharedPermissions: 0 241 | blackberryCameraPermissions: 0 242 | blackberryGPSPermissions: 0 243 | blackberryDeviceIDPermissions: 0 244 | blackberryMicrophonePermissions: 0 245 | blackberryGamepadSupport: 0 246 | blackberryBuildId: 0 247 | blackberryLandscapeSplashScreen: {fileID: 0} 248 | blackberryPortraitSplashScreen: {fileID: 0} 249 | blackberrySquareSplashScreen: {fileID: 0} 250 | tizenProductDescription: 251 | tizenProductURL: 252 | tizenCertificatePath: 253 | tizenCertificatePassword: 254 | tizenGPSPermissions: 0 255 | tizenMicrophonePermissions: 0 256 | stvDeviceAddress: 257 | wp8UnprocessedPlugins: [] 258 | intPropertyNames: [] 259 | firstStreamedLevelWithResources: 0 260 | unityRebuildLibraryVersion: 9 261 | unityForwardCompatibleVersion: 39 262 | unityStandardAssetsVersion: 0 263 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 3 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Fastest 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | blendWeights: 1 18 | textureQuality: 1 19 | anisotropicTextures: 0 20 | antiAliasing: 0 21 | softParticles: 0 22 | softVegetation: 0 23 | vSyncCount: 0 24 | lodBias: .300000012 25 | maximumLODLevel: 0 26 | particleRaycastBudget: 4 27 | excludedTargetPlatforms: [] 28 | - serializedVersion: 2 29 | name: Fast 30 | pixelLightCount: 0 31 | shadows: 0 32 | shadowResolution: 0 33 | shadowProjection: 1 34 | shadowCascades: 1 35 | shadowDistance: 20 36 | blendWeights: 2 37 | textureQuality: 0 38 | anisotropicTextures: 0 39 | antiAliasing: 0 40 | softParticles: 0 41 | softVegetation: 0 42 | vSyncCount: 0 43 | lodBias: .400000006 44 | maximumLODLevel: 0 45 | particleRaycastBudget: 16 46 | excludedTargetPlatforms: [] 47 | - serializedVersion: 2 48 | name: Simple 49 | pixelLightCount: 1 50 | shadows: 1 51 | shadowResolution: 0 52 | shadowProjection: 1 53 | shadowCascades: 1 54 | shadowDistance: 20 55 | blendWeights: 2 56 | textureQuality: 0 57 | anisotropicTextures: 1 58 | antiAliasing: 0 59 | softParticles: 0 60 | softVegetation: 0 61 | vSyncCount: 0 62 | lodBias: .699999988 63 | maximumLODLevel: 0 64 | particleRaycastBudget: 64 65 | excludedTargetPlatforms: [] 66 | - serializedVersion: 2 67 | name: Good 68 | pixelLightCount: 2 69 | shadows: 2 70 | shadowResolution: 1 71 | shadowProjection: 1 72 | shadowCascades: 2 73 | shadowDistance: 40 74 | blendWeights: 2 75 | textureQuality: 0 76 | anisotropicTextures: 1 77 | antiAliasing: 0 78 | softParticles: 0 79 | softVegetation: 1 80 | vSyncCount: 1 81 | lodBias: 1 82 | maximumLODLevel: 0 83 | particleRaycastBudget: 256 84 | excludedTargetPlatforms: [] 85 | - serializedVersion: 2 86 | name: Beautiful 87 | pixelLightCount: 3 88 | shadows: 2 89 | shadowResolution: 2 90 | shadowProjection: 1 91 | shadowCascades: 2 92 | shadowDistance: 70 93 | blendWeights: 4 94 | textureQuality: 0 95 | anisotropicTextures: 2 96 | antiAliasing: 2 97 | softParticles: 1 98 | softVegetation: 1 99 | vSyncCount: 1 100 | lodBias: 1.5 101 | maximumLODLevel: 0 102 | particleRaycastBudget: 1024 103 | excludedTargetPlatforms: [] 104 | - serializedVersion: 2 105 | name: Fantastic 106 | pixelLightCount: 4 107 | shadows: 2 108 | shadowResolution: 2 109 | shadowProjection: 1 110 | shadowCascades: 4 111 | shadowDistance: 150 112 | blendWeights: 4 113 | textureQuality: 0 114 | anisotropicTextures: 2 115 | antiAliasing: 2 116 | softParticles: 1 117 | softVegetation: 1 118 | vSyncCount: 1 119 | lodBias: 2 120 | maximumLODLevel: 0 121 | particleRaycastBudget: 4096 122 | excludedTargetPlatforms: [] 123 | m_PerPlatformDefaultQuality: 124 | Android: 2 125 | BlackBerry: 2 126 | FlashPlayer: 3 127 | GLES Emulation: 3 128 | PS3: 3 129 | PS4: 3 130 | PSM: 3 131 | PSP2: 3 132 | Samsung TV: 2 133 | Standalone: 3 134 | Tizen: 2 135 | WP8: 3 136 | Web: 3 137 | Windows Store Apps: 3 138 | XBOX360: 3 139 | XboxOne: 3 140 | iPhone: 2 141 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | tags: 6 | - 7 | Builtin Layer 0: Default 8 | Builtin Layer 1: TransparentFX 9 | Builtin Layer 2: Ignore Raycast 10 | Builtin Layer 3: 11 | Builtin Layer 4: Water 12 | Builtin Layer 5: UI 13 | Builtin Layer 6: 14 | Builtin Layer 7: 15 | User Layer 8: 16 | User Layer 9: 17 | User Layer 10: 18 | User Layer 11: 19 | User Layer 12: 20 | User Layer 13: 21 | User Layer 14: 22 | User Layer 15: 23 | User Layer 16: 24 | User Layer 17: 25 | User Layer 18: 26 | User Layer 19: 27 | User Layer 20: 28 | User Layer 21: 29 | User Layer 22: 30 | User Layer 23: 31 | User Layer 24: 32 | User Layer 25: 33 | User Layer 26: 34 | User Layer 27: 35 | User Layer 28: 36 | User Layer 29: 37 | User Layer 30: 38 | User Layer 31: 39 | m_SortingLayers: 40 | - name: Default 41 | userID: 0 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unity3D 2D Rope Editor 2 | 3 | 4 | ## This Repo doesn't get the latest updates of the asset. If you want to get the latest updates please consider to purchase the asset from the [Asset Store]( http://u3d.as/t47). 5 | 6 | 7 | Easy to use and powerfull 2d rope editor for unity based on this [polyline editor](https://github.com/Dandarawy/Unity3DPolylineEditor) 8 | 9 |

10 | 11 |

12 | 13 | ## Features: 14 | - As it has been implemented based on [polyline editor](https://github.com/Dandarawy/Unity3DPolylineEditor) it gets all its features for simple editing. 15 | - Works with Unity 4+. 16 | - Customizable segments. 17 | - Configurable physics. 18 | 19 | ## Documentation 20 | Check [Wiki](https://github.com/Dandarawy/Unity3D_2DRopeEditor) Section. 21 | 22 | 23 | ## Asset store 24 | Download the latest unity package [Here]( http://u3d.as/t47) 25 | --------------------------------------------------------------------------------