Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
curvedflats
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
6
Issues
6
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Flatland
curvedflats
Commits
525b88d4
Commit
525b88d4
authored
Jul 16, 2019
by
18김민수
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added a collider to every line.
parent
b3dc240e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
134 additions
and
115 deletions
+134
-115
Prefabs.meta
Assets/Prefabs.meta
+8
-0
PathCollider.prefab
Assets/Prefabs/PathCollider.prefab
+94
-0
PathCollider.prefab.meta
Assets/Prefabs/PathCollider.prefab.meta
+7
-0
SampleScene.unity
Assets/Scenes/SampleScene.unity
+9
-100
PathRenderer.cs
Assets/Scripts/PathRenderer.cs
+16
-15
No files found.
Assets/Prefabs.meta
0 → 100644
View file @
525b88d4
fileFormatVersion: 2
guid: 81dfd1357c8addb439f4daac59fd5f4d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Assets/Prefabs/PathCollider.prefab
0 → 100644
View file @
525b88d4
%YAML
1.1
%TAG
!u!
tag:unity3d.com,2011:
---
!u!1
&8684657376034186961
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
8684657376034186973
}
-
component
:
{
fileID
:
8684657376034186972
}
-
component
:
{
fileID
:
8684657376034186975
}
-
component
:
{
fileID
:
8684657376034186974
}
m_Layer
:
0
m_Name
:
PathCollider
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!4
&8684657376034186973
Transform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
8684657376034186961
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
-15.01
,
y
:
5
,
z
:
-1
}
m_LocalScale
:
{
x
:
1
,
y
:
0.5
,
z
:
0
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!33
&8684657376034186972
MeshFilter
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
8684657376034186961
}
m_Mesh
:
{
fileID
:
10208
,
guid
:
0000000000000000e000000000000000
,
type
:
0
}
---
!u!23
&8684657376034186975
MeshRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
8684657376034186961
}
m_Enabled
:
1
m_CastShadows
:
1
m_ReceiveShadows
:
1
m_DynamicOccludee
:
1
m_MotionVectors
:
1
m_LightProbeUsage
:
1
m_ReflectionProbeUsage
:
1
m_RenderingLayerMask
:
1
m_RendererPriority
:
0
m_Materials
:
-
{
fileID
:
10303
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_StaticBatchInfo
:
firstSubMesh
:
0
subMeshCount
:
0
m_StaticBatchRoot
:
{
fileID
:
0
}
m_ProbeAnchor
:
{
fileID
:
0
}
m_LightProbeVolumeOverride
:
{
fileID
:
0
}
m_ScaleInLightmap
:
1
m_PreserveUVs
:
0
m_IgnoreNormalsForChartDetection
:
0
m_ImportantGI
:
0
m_StitchLightmapSeams
:
1
m_SelectedEditorRenderState
:
3
m_MinimumChartSize
:
4
m_AutoUVMaxDistance
:
0.5
m_AutoUVMaxAngle
:
89
m_LightmapParameters
:
{
fileID
:
0
}
m_SortingLayerID
:
0
m_SortingLayer
:
0
m_SortingOrder
:
0
---
!u!136
&8684657376034186974
CapsuleCollider
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
8684657376034186961
}
m_Material
:
{
fileID
:
0
}
m_IsTrigger
:
0
m_Enabled
:
1
m_Radius
:
0.5
m_Height
:
2
m_Direction
:
1
m_Center
:
{
x
:
0
,
y
:
0
,
z
:
0
}
Assets/Prefabs/PathCollider.prefab.meta
0 → 100644
View file @
525b88d4
fileFormatVersion: 2
guid: bf9de3c1290fd0749b383f44c1e706f8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Assets/Scenes/SampleScene.unity
View file @
525b88d4
...
...
@@ -211,7 +211,7 @@ Transform:
m_LocalScale
:
{
x
:
17.44
,
y
:
17.44
,
z
:
17.44
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&519420028
GameObject
:
...
...
@@ -360,7 +360,7 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
3
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&818789540
GameObject
:
...
...
@@ -393,7 +393,8 @@ MonoBehaviour:
m_Name
:
m_EditorClassIdentifier
:
square
:
{
fileID
:
1577789449
}
PathCollider
:
{
fileID
:
1059381751
}
PathColliderPrefab
:
{
fileID
:
8684657376034186961
,
guid
:
bf9de3c1290fd0749b383f44c1e706f8
,
type
:
3
}
---
!u!120
&818789542
LineRenderer
:
m_ObjectHideFlags
:
0
...
...
@@ -409,7 +410,7 @@ LineRenderer:
m_LightProbeUsage
:
0
m_ReflectionProbeUsage
:
0
m_RenderingLayerMask
:
1
m_RendererPriority
:
0
m_RendererPriority
:
1
m_Materials
:
-
{
fileID
:
2100000
,
guid
:
695981ce54564b0439a7358d033eb87c
,
type
:
2
}
m_StaticBatchInfo
:
...
...
@@ -436,7 +437,7 @@ LineRenderer:
-
{
x
:
0
,
y
:
0
,
z
:
1
}
m_Parameters
:
serializedVersion
:
3
widthMultiplier
:
1
widthMultiplier
:
1
.5
widthCurve
:
serializedVersion
:
2
m_Curve
:
...
...
@@ -497,103 +498,11 @@ Transform:
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
818789540
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&1059381751
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
1059381755
}
-
component
:
{
fileID
:
1059381754
}
-
component
:
{
fileID
:
1059381753
}
-
component
:
{
fileID
:
1059381752
}
m_Layer
:
0
m_Name
:
PathCollider
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!136
&1059381752
CapsuleCollider
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1059381751
}
m_Material
:
{
fileID
:
0
}
m_IsTrigger
:
0
m_Enabled
:
1
m_Radius
:
0.5
m_Height
:
2
m_Direction
:
1
m_Center
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!23
&1059381753
MeshRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1059381751
}
m_Enabled
:
1
m_CastShadows
:
1
m_ReceiveShadows
:
1
m_DynamicOccludee
:
1
m_MotionVectors
:
1
m_LightProbeUsage
:
1
m_ReflectionProbeUsage
:
1
m_RenderingLayerMask
:
1
m_RendererPriority
:
0
m_Materials
:
-
{
fileID
:
10303
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_StaticBatchInfo
:
firstSubMesh
:
0
subMeshCount
:
0
m_StaticBatchRoot
:
{
fileID
:
0
}
m_ProbeAnchor
:
{
fileID
:
0
}
m_LightProbeVolumeOverride
:
{
fileID
:
0
}
m_ScaleInLightmap
:
1
m_PreserveUVs
:
0
m_IgnoreNormalsForChartDetection
:
0
m_ImportantGI
:
0
m_StitchLightmapSeams
:
1
m_SelectedEditorRenderState
:
3
m_MinimumChartSize
:
4
m_AutoUVMaxDistance
:
0.5
m_AutoUVMaxAngle
:
89
m_LightmapParameters
:
{
fileID
:
0
}
m_SortingLayerID
:
0
m_SortingLayer
:
0
m_SortingOrder
:
0
---
!u!33
&1059381754
MeshFilter
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1059381751
}
m_Mesh
:
{
fileID
:
10208
,
guid
:
0000000000000000e000000000000000
,
type
:
0
}
---
!u!4
&1059381755
Transform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1059381751
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
-15.01
,
y
:
5
,
z
:
-1
}
m_LocalScale
:
{
x
:
2
,
y
:
0.5
,
z
:
0
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
4
m_RootOrder
:
1
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&1577789448
GameObject
:
...
...
@@ -691,5 +600,5 @@ Transform:
m_Children
:
-
{
fileID
:
519420032
}
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
1
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
Assets/Scripts/PathRenderer.cs
View file @
525b88d4
...
...
@@ -9,15 +9,14 @@ public class PathRenderer : MonoBehaviour
[
SerializeField
]
Square
square
;
[
SerializeField
]
GameObject
PathCollider
;
GameObject
PathCollider
Prefab
;
LineRenderer
_pathRenderer
;
float
_zPosition
=>
square
.
transform
.
position
.
z
;
float
_originalPathColliderY
;
// Start is called before the first frame update
void
Start
()
{
_originalPathColliderY
=
PathCollider
.
transform
.
localScale
.
y
;
_originalPathColliderY
=
PathCollider
Prefab
.
transform
.
localScale
.
y
;
_pathRenderer
=
GetComponent
<
LineRenderer
>();
_ResetPaths
();
...
...
@@ -35,7 +34,6 @@ public class PathRenderer : MonoBehaviour
{
if
(
Input
.
GetKey
(
KeyCode
.
LeftShift
))
{
Debug
.
Log
(
"asdf"
);
_DrawMorePath
(
hit
.
point
);
}
else
...
...
@@ -60,11 +58,10 @@ public class PathRenderer : MonoBehaviour
private
void
_DrawOnePath
(
Vector3
point
)
{
_ResetPaths
();
point
.
z
=
_zPosition
;
square
.
pathList
[
0
]
=
transform
.
position
;
square
.
pathList
[
1
]
=
point
;
_pathRenderer
.
SetPositions
(
square
.
pathList
.
ToArray
());
_
modifyCapsule
(
);
_
InstantiatePathCollider
(
0
);
}
private
void
_ResetPaths
()
...
...
@@ -72,30 +69,34 @@ public class PathRenderer : MonoBehaviour
_pathRenderer
.
positionCount
=
2
;
square
.
pathList
.
Clear
();
square
.
pathList
.
Add
(
transform
.
position
);
square
.
pathList
.
Add
(
new
Vector3
(
0
,
0
,
_zPosition
));
square
.
pathList
.
Add
(
new
Vector3
(
0
,
0
,
0
));
_pathRenderer
.
SetPositions
(
square
.
pathList
.
ToArray
());
for
(
int
i
=
0
;
i
<
transform
.
childCount
;
i
++)
Destroy
(
transform
.
GetChild
(
i
).
gameObject
);
}
private
void
_DrawMorePath
(
Vector3
point
)
{
point
.
z
=
_zPosition
;
square
.
pathList
.
Add
(
point
);
_pathRenderer
.
positionCount
=
square
.
pathList
.
Count
();
_pathRenderer
.
SetPositions
(
square
.
pathList
.
ToArray
());
_InstantiatePathCollider
(
square
.
pathList
.
Count
()
-
2
);
}
private
void
_
modifyCapsule
(
)
private
void
_
InstantiatePathCollider
(
int
n
)
{
PathCollider
.
transform
.
localScale
=
new
Vector3
(
2
,
_originalPathColliderY
,
0
);
PathCollider
.
transform
.
eulerAngles
=
new
Vector3
(
0
,
0
,
var
_pathCollider
=
Instantiate
(
PathColliderPrefab
,
transform
);
_pathCollider
.
name
=
"PathCollider-"
+
n
;
_pathCollider
.
transform
.
localScale
=
new
Vector3
(
2
,
_originalPathColliderY
,
0
);
_pathCollider
.
transform
.
eulerAngles
=
new
Vector3
(
0
,
0
,
(
float
)
Constants
.
RadianToDegree
(
Mathf
.
PI
/
2
+
Mathf
.
Atan
(
square
.
GetTangent
(
square
.
GetNthPath
(
0
)))));
square
.
GetNthPath
(
n
)))));
float
_newY
=
square
.
GetNthPath
(
0
).
magnitude
;
P
athCollider
.
transform
.
localScale
=
new
Vector3
(
2
,
_newY
*
_originalPathColliderY
,
0
);
float
_newY
=
square
.
GetNthPath
(
n
).
magnitude
;
_p
athCollider
.
transform
.
localScale
=
new
Vector3
(
2
,
_newY
*
_originalPathColliderY
,
0
);
PathCollider
.
transform
.
position
=
square
.
GetNthPath
(
0
)
/
2
;
_pathCollider
.
transform
.
position
=
(
square
.
pathList
[
n
]
+
square
.
pathList
[
n
+
1
]
)
/
2
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment