Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RhythmKata
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
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
13정준영
RhythmKata
Commits
194f76df
Commit
194f76df
authored
5 years ago
by
15박보승
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
중간발표
parent
f2d98d0a
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
881 additions
and
282 deletions
+881
-282
DefaultNote.prefab
RhythmKata/Assets/Prefabs/DefaultNote.prefab
+1
-1
EdgeNote_Down.prefab
RhythmKata/Assets/Prefabs/EdgeNote_Down.prefab
+3
-3
EdgeNote_Left.prefab
RhythmKata/Assets/Prefabs/EdgeNote_Left.prefab
+3
-3
EdgeNote_Right.prefab
RhythmKata/Assets/Prefabs/EdgeNote_Right.prefab
+3
-3
EdgeNote_Up.prefab
RhythmKata/Assets/Prefabs/EdgeNote_Up.prefab
+3
-3
Gun Hand 1.prefab
RhythmKata/Assets/Prefabs/Gun Hand 1.prefab
+623
-0
Gun Hand 1.prefab.meta
RhythmKata/Assets/Prefabs/Gun Hand 1.prefab.meta
+7
-0
Gun Hand.prefab
RhythmKata/Assets/Prefabs/Gun Hand.prefab
+146
-9
Ring.prefab
RhythmKata/Assets/Prefabs/Ring.prefab
+2
-2
gun.prefab
RhythmKata/Assets/Prefabs/gun.prefab
+2
-2
gun.unity
RhythmKata/Assets/Scenes/gun.unity
+13
-70
Level.cs
RhythmKata/Assets/Scripts/Core/Level.cs
+2
-1
EdgeNoteObject.cs
RhythmKata/Assets/Scripts/EdgeNoteObject.cs
+12
-16
ForwardNoteObject.cs
RhythmKata/Assets/Scripts/ForwardNoteObject.cs
+3
-3
NoteObject.cs
RhythmKata/Assets/Scripts/NoteObject.cs
+4
-2
PlayEngine.cs
RhythmKata/Assets/Scripts/PlayEngine.cs
+44
-2
Player.prefab
...sets/SteamVR/InteractionSystem/Core/Prefabs/Player.prefab
+10
-162
No files found.
RhythmKata/Assets/Prefabs/DefaultNote.prefab
View file @
194f76df
...
...
@@ -121,7 +121,7 @@ Transform:
m_GameObject
:
{
fileID
:
8354046899824507571
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
10
}
m_LocalScale
:
{
x
:
5
,
y
:
5
,
z
:
5
}
m_LocalScale
:
{
x
:
10
,
y
:
10
,
z
:
10
}
m_Children
:
-
{
fileID
:
2824711142497691445
}
m_Father
:
{
fileID
:
0
}
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/EdgeNote_Down.prefab
View file @
194f76df
...
...
@@ -27,13 +27,13 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
4640709078173886784
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalRotation
:
{
x
:
0
.5
,
y
:
-0.5
,
z
:
0.5
,
w
:
0.5
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
10
,
y
:
10
,
z
:
1
}
m_LocalScale
:
{
x
:
3
,
y
:
10
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
90
,
y
:
0
,
z
:
9
0
}
---
!u!33
&4640709078173886787
MeshFilter
:
m_ObjectHideFlags
:
0
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/EdgeNote_Left.prefab
View file @
194f76df
...
...
@@ -27,13 +27,13 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
4734231541000158423
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
.7071068
,
z
:
0
,
w
:
0.7071068
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
10
,
y
:
10
,
z
:
1
}
m_LocalScale
:
{
x
:
3
,
y
:
10
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
9
0
,
z
:
0
}
---
!u!33
&4734231541000158424
MeshFilter
:
m_ObjectHideFlags
:
0
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/EdgeNote_Right.prefab
View file @
194f76df
...
...
@@ -27,13 +27,13 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1476454008853626150
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
.7071068
,
z
:
0
,
w
:
0.7071068
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
10
,
y
:
10
,
z
:
1
}
m_LocalScale
:
{
x
:
3
,
y
:
10
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
9
0
,
z
:
0
}
---
!u!33
&1476454008853626155
MeshFilter
:
m_ObjectHideFlags
:
0
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/EdgeNote_Up.prefab
View file @
194f76df
...
...
@@ -27,13 +27,13 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
4081910931583206819
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalRotation
:
{
x
:
0
.5
,
y
:
-0.5
,
z
:
0.5
,
w
:
0.5
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
10
,
y
:
10
,
z
:
1
}
m_LocalScale
:
{
x
:
3
,
y
:
10
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
90
,
y
:
0
,
z
:
9
0
}
---
!u!33
&4081910931583206814
MeshFilter
:
m_ObjectHideFlags
:
0
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/Gun Hand 1.prefab
0 → 100644
View file @
194f76df
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/Gun Hand 1.prefab.meta
0 → 100644
View file @
194f76df
fileFormatVersion: 2
guid: e3f9757e6febe094f82a40085b363ff5
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/Gun Hand.prefab
View file @
194f76df
...
...
@@ -115,14 +115,14 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
3145579070109668085
}
m_LocalRotation
:
{
x
:
1
,
y
:
-0
,
z
:
0
,
w
:
0.00002436792
4
}
m_LocalRotation
:
{
x
:
0.4957057
,
y
:
0.4957057
,
z
:
0.50425774
,
w
:
-0.5042577
4
}
m_LocalPosition
:
{
x
:
-0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
100
,
y
:
100
,
z
:
100
}
m_LocalScale
:
{
x
:
3
,
y
:
3
,
z
:
3
}
m_Children
:
-
{
fileID
:
4168023236793435463
}
m_Father
:
{
fileID
:
8004700759934727795
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
-90.98
,
y
:
180
,
z
:
9
0
}
---
!u!1
&3544202024608014537
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -178,8 +178,8 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
4323607481689171280
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
.4
,
y
:
-7.7
,
z
:
0
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
-
{
fileID
:
8004700759934727795
}
...
...
@@ -241,9 +241,9 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
6195634577605626057
}
m_LocalRotation
:
{
x
:
-0.70712405
,
y
:
0
,
z
:
-0
,
w
:
0.70708954
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0.00999885
,
y
:
-0.0013105178
,
z
:
0.0010001289
}
m_LocalScale
:
{
x
:
1
00
,
y
:
100
,
z
:
100
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
8004700759934727795
}
m_RootOrder
:
1
...
...
@@ -332,15 +332,16 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
6434853554315560032
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0
,
w
:
1
}
m_LocalRotation
:
{
x
:
0.23912664
,
y
:
0
,
z
:
0
,
w
:
0.9709884
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
-
{
fileID
:
6032679763793247741
}
-
{
fileID
:
6944302838222521118
}
-
{
fileID
:
2903384417594384234
}
m_Father
:
{
fileID
:
5559553495877387631
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
27.67
,
y
:
0
,
z
:
0
}
---
!u!95
&116085542682221321
Animator
:
serializedVersion
:
3
...
...
@@ -484,3 +485,139 @@ Transform:
m_Father
:
{
fileID
:
4168023236793435463
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&8719247719020841660
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
2903384417594384234
}
-
component
:
{
fileID
:
2936670206978590435
}
m_Layer
:
0
m_Name
:
Laser
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!4
&2903384417594384234
Transform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
8719247719020841660
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0.023
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
8004700759934727795
}
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!120
&2936670206978590435
LineRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
8719247719020841660
}
m_Enabled
:
1
m_CastShadows
:
1
m_ReceiveShadows
:
1
m_DynamicOccludee
:
1
m_MotionVectors
:
0
m_LightProbeUsage
:
0
m_ReflectionProbeUsage
:
0
m_RenderingLayerMask
:
1
m_RendererPriority
:
0
m_Materials
:
-
{
fileID
:
2100000
,
guid
:
753a9b80e714a8a43a0c1ff5a89d0bc9
,
type
:
2
}
m_StaticBatchInfo
:
firstSubMesh
:
0
subMeshCount
:
0
m_StaticBatchRoot
:
{
fileID
:
0
}
m_ProbeAnchor
:
{
fileID
:
0
}
m_LightProbeVolumeOverride
:
{
fileID
:
0
}
m_ScaleInLightmap
:
1
m_ReceiveGI
:
1
m_PreserveUVs
:
0
m_IgnoreNormalsForChartDetection
:
0
m_ImportantGI
:
0
m_StitchLightmapSeams
:
1
m_SelectedEditorRenderState
:
3
m_MinimumChartSize
:
4
m_AutoUVMaxDistance
:
0.5
m_AutoUVMaxAngle
:
89
m_LightmapParameters
:
{
fileID
:
0
}
m_SortingLayerID
:
0
m_SortingLayer
:
0
m_SortingOrder
:
0
m_Positions
:
-
{
x
:
0
,
y
:
0
,
z
:
0
}
-
{
x
:
0
,
y
:
0
,
z
:
10
}
m_Parameters
:
serializedVersion
:
3
widthMultiplier
:
1
widthCurve
:
serializedVersion
:
2
m_Curve
:
-
serializedVersion
:
3
time
:
0.029125214
value
:
0.00746727
inSlope
:
0
outSlope
:
0
tangentMode
:
0
weightedMode
:
0
inWeight
:
0.33333334
outWeight
:
0.33333334
-
serializedVersion
:
3
time
:
0.30744338
value
:
0.47014925
inSlope
:
0
outSlope
:
0
tangentMode
:
0
weightedMode
:
0
inWeight
:
0
outWeight
:
0
m_PreInfinity
:
2
m_PostInfinity
:
2
m_RotationOrder
:
4
colorGradient
:
serializedVersion
:
2
key0
:
{
r
:
1
,
g
:
0
,
b
:
0.8258381
,
a
:
1
}
key1
:
{
r
:
1
,
g
:
0
,
b
:
0.8094106
,
a
:
1
}
key2
:
{
r
:
0
,
g
:
0
,
b
:
0
,
a
:
0
}
key3
:
{
r
:
0
,
g
:
0
,
b
:
0
,
a
:
0
}
key4
:
{
r
:
0
,
g
:
0
,
b
:
0
,
a
:
0
}
key5
:
{
r
:
0
,
g
:
0
,
b
:
0
,
a
:
0
}
key6
:
{
r
:
0
,
g
:
0
,
b
:
0
,
a
:
0
}
key7
:
{
r
:
0
,
g
:
0
,
b
:
0
,
a
:
0
}
ctime0
:
0
ctime1
:
65535
ctime2
:
0
ctime3
:
0
ctime4
:
0
ctime5
:
0
ctime6
:
0
ctime7
:
0
atime0
:
0
atime1
:
65535
atime2
:
0
atime3
:
0
atime4
:
0
atime5
:
0
atime6
:
0
atime7
:
0
m_Mode
:
0
m_NumColorKeys
:
2
m_NumAlphaKeys
:
2
numCornerVertices
:
0
numCapVertices
:
40
alignment
:
0
textureMode
:
0
shadowBias
:
0.5
generateLightingData
:
0
m_UseWorldSpace
:
0
m_Loop
:
0
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/Ring.prefab
View file @
194f76df
...
...
@@ -27,7 +27,7 @@ RectTransform:
m_GameObject
:
{
fileID
:
8100479809720507869
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
5
,
y
:
5
,
z
:
1
}
m_LocalScale
:
{
x
:
10
,
y
:
10
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
...
...
@@ -35,7 +35,7 @@ RectTransform:
m_AnchorMin
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchorMax
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
0
}
m_SizeDelta
:
{
x
:
3.3
,
y
:
3.3
}
m_SizeDelta
:
{
x
:
6.6
,
y
:
6.6
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!222
&8100479809720507870
CanvasRenderer
:
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Prefabs/gun.prefab
View file @
194f76df
...
...
@@ -394,7 +394,7 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
7988148489419422301
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
.7071068
,
z
:
0
,
w
:
0.7071068
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
...
...
@@ -402,7 +402,7 @@ Transform:
-
{
fileID
:
6325786366004493603
}
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
9
0
,
z
:
0
}
---
!u!95
&3894136634755032372
Animator
:
serializedVersion
:
3
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Scenes/gun.unity
View file @
194f76df
...
...
@@ -683,10 +683,11 @@ MonoBehaviour:
gunSfx
:
{
fileID
:
8300000
,
guid
:
7eb98e62c3fbe5344aa72ecad87ce5cc
,
type
:
3
}
explosion
:
{
fileID
:
0
}
fire
:
actionPath
:
actionPath
:
/actions/default/in/GrabPinch
needsReinit
:
0
leftHand
:
1
rightHand
:
2
player
:
{
fileID
:
1838822467
}
---
!u!4
&1011486260
Transform
:
m_ObjectHideFlags
:
0
...
...
@@ -1003,6 +1004,12 @@ RectTransform:
m_AnchoredPosition
:
{
x
:
200
,
y
:
0
}
m_SizeDelta
:
{
x
:
100
,
y
:
100
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!1
&1838822467
stripped
GameObject
:
m_CorrespondingSourceObject
:
{
fileID
:
107946
,
guid
:
dc06161b6d97feb419f45f03b62e14b9
,
type
:
3
}
m_PrefabInstance
:
{
fileID
:
1988354649
}
m_PrefabAsset
:
{
fileID
:
0
}
---
!u!1001
&1988354649
PrefabInstance
:
m_ObjectHideFlags
:
0
...
...
@@ -1071,6 +1078,11 @@ PrefabInstance:
propertyPath
:
inputSource
value
:
2
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
11401046
,
guid
:
dc06161b6d97feb419f45f03b62e14b9
,
type
:
3
}
propertyPath
:
renderModelPrefab
value
:
objectReference
:
{
fileID
:
4323607481689171280
,
guid
:
e3f9757e6febe094f82a40085b363ff5
,
type
:
3
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
dc06161b6d97feb419f45f03b62e14b9
,
type
:
3
}
---
!u!1
&2112533737
stripped
...
...
@@ -1092,72 +1104,3 @@ MonoBehaviour:
m_Name
:
m_EditorClassIdentifier
:
incr
:
1
---
!u!1001
&2160170553380165745
PrefabInstance
:
m_ObjectHideFlags
:
0
serializedVersion
:
2
m_Modification
:
m_TransformParent
:
{
fileID
:
0
}
m_Modifications
:
-
target
:
{
fileID
:
7988148489419422301
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_Name
value
:
gun
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.w
value
:
1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_RootOrder
value
:
6
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.z
value
:
0
objectReference
:
{
fileID
:
0
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Scripts/Core/Level.cs
View file @
194f76df
...
...
@@ -21,10 +21,11 @@ class Level
if
(
judge
.
type
!=
JudgeType
.
Ignore
)
{
note
.
HandleJudge
(
judge
);
note
.
Deactivate
();
break
;
}
note
.
HandleJudge
(
judge
);
}
}
}
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Scripts/EdgeNoteObject.cs
View file @
194f76df
...
...
@@ -6,7 +6,7 @@ public class EdgeNoteObject : NoteObject
{
[
SerializeField
]
private
Vector3
direction
;
private
const
float
radius
=
10
0
f
;
private
const
float
radius
=
10f
;
public
void
Init
(
HandType
hand
)
{
...
...
@@ -31,21 +31,17 @@ public class EdgeNoteObject : NoteObject
public
override
void
SetPosition
(
float
remainedTime
)
{
if
(
remainedTime
>
0.5f
)
{
transform
.
position
=
new
Vector3
(
0
,
0
,
Mathf
.
Lerp
(
radius
,
500
,
(
remainedTime
-
0.5f
)
*
2
));
}
else
{
float
angle
=
Mathf
.
Lerp
(
0
,
90
,
Mathf
.
Pow
(
remainedTime
*
2
-
1
,
2
));
transform
.
position
=
Quaternion
.
Euler
(
direction
.
x
*
angle
,
direction
.
y
*
angle
,
0
)
*
new
Vector3
(
0
,
0
,
radius
);
transform
.
LookAt
(
Vector3
.
zero
);
}
//transform.position = Vector3.Lerp(endPoint, endPoint + new Vector3(0, 0, 200), remainedTime);
//if (remainedTime > 0.5f)
//{
// transform.position = new Vector3(0, 0, Mathf.Lerp(radius, 500, (remainedTime - 0.5f) * 2));
//}
//else
//{
// float angle = Mathf.Lerp(0, 90, Mathf.Pow(remainedTime * 2 - 1, 2));
// transform.position = Quaternion.Euler(direction.x * angle, direction.y * angle, 0) * new Vector3(0, 0, radius);
// transform.LookAt(Vector3.zero);
//}
transform
.
position
=
endPoint
+
new
Vector3
(
0
,
0
,
200
)
*
remainedTime
;
}
public
override
bool
IsHit
(
Ray
ray
)
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Scripts/ForwardNoteObject.cs
View file @
194f76df
...
...
@@ -16,9 +16,9 @@ public class ForwardNoteObject : NoteObject
//Ray ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width * x, Screen.height * y, 0));
//endPoint = ray.GetPoint(perfectZ);
endPoint
=
new
Vector3
(-
7.5f
+
15
*
x
,
-
7.5f
+
15
*
y
,
perfectZ
);
endPoint
=
new
Vector3
(-
20f
+
40
*
x
,
-
20.0f
+
40
*
y
,
perfectZ
);
transform
.
position
=
endPoint
+
new
Vector3
(
0
,
0
,
50
);
transform
.
position
=
endPoint
+
new
Vector3
(
0
,
0
,
15
);
ring
=
IngameUIManager
.
inst
.
AddNoteRingUI
();
ring
.
position
=
endPoint
;
...
...
@@ -89,6 +89,6 @@ public class ForwardNoteObject : NoteObject
public
override
bool
IsHit
(
Ray
ray
)
{
RaycastHit
hit
;
return
GetComponent
<
Collider
>().
Raycast
(
ray
,
out
hit
,
40
);
return
GetComponent
<
Collider
>().
Raycast
(
ray
,
out
hit
,
40
0
);
}
}
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Scripts/NoteObject.cs
View file @
194f76df
...
...
@@ -65,11 +65,13 @@ public abstract class NoteObject : MonoBehaviour
/*
var meshRenderer = gameObject.GetComponent<MeshRenderer>();
var trailRenderer = gameObject.GetComponent<TrailRenderer>();
if (meshRenderer) meshRenderer.enabled = false;
if (trailRenderer) trailRenderer.enabled = false;
*/
var
trailRenderer
=
gameObject
.
GetComponent
<
TrailRenderer
>();
if
(
trailRenderer
)
trailRenderer
.
enabled
=
false
;
PlayEngine
.
inst
.
HandleNoteJudge
(
judge
.
type
);
}
}
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/Scripts/PlayEngine.cs
View file @
194f76df
...
...
@@ -32,6 +32,8 @@ public class PlayEngine : SingletonBehaviour<PlayEngine>
public
SteamVR_Input_Sources
leftHand
;
public
SteamVR_Input_Sources
rightHand
;
public
GameObject
player
;
private
int
combo
;
private
int
score
;
...
...
@@ -73,11 +75,28 @@ public class PlayEngine : SingletonBehaviour<PlayEngine>
if
(
level
!=
null
)
{
var
playbackTime
=
AudioSettings
.
dspTime
-
startDspTime
;
level
.
UpdateNotes
(
playbackTime
);
PlayerInput
input
=
new
PlayerInput
();
input
.
time
=
playbackTime
;
//get laser
var
handObjects
=
player
.
GetComponent
<
Valve
.
VR
.
InteractionSystem
.
Player
>().
hands
;
var
leftHandObject
=
handObjects
[
0
];
var
rightHandObject
=
handObjects
[
1
];
var
leftLaser
=
leftHandObject
.
gameObject
.
GetComponentInChildren
<
LineRenderer
>();
var
rightLaser
=
rightHandObject
.
gameObject
.
GetComponentInChildren
<
LineRenderer
>();
if
(
leftLaser
)
{
var
p1
=
leftLaser
.
transform
.
TransformPoint
(
leftLaser
.
GetPosition
(
0
));
var
p2
=
leftLaser
.
transform
.
TransformPoint
(
leftLaser
.
GetPosition
(
1
));
input
.
ray
=
new
Ray
(
p1
,
p2
-
p1
);
Debug
.
DrawRay
(
input
.
ray
.
origin
,
input
.
ray
.
direction
,
Color
.
red
);
}
level
.
UpdateNotes
(
playbackTime
);
if
(
Input
.
GetKeyDown
(
KeyCode
.
Alpha1
))
{
input
.
ray
=
Camera
.
main
.
ScreenPointToRay
(
Input
.
mousePosition
);
...
...
@@ -98,9 +117,32 @@ public class PlayEngine : SingletonBehaviour<PlayEngine>
if
(
fire
.
GetStateDown
(
leftHand
))
{
input
.
hand
=
HandType
.
Left
;
if
(
leftLaser
)
{
var
p1
=
leftLaser
.
transform
.
TransformPoint
(
leftLaser
.
GetPosition
(
0
));
var
p2
=
leftLaser
.
transform
.
TransformPoint
(
leftLaser
.
GetPosition
(
1
));
input
.
ray
=
new
Ray
(
p1
,
p2
-
p1
);
Debug
.
DrawRay
(
input
.
ray
.
origin
,
input
.
ray
.
direction
,
Color
.
magenta
,
1
);
level
.
HandleInput
(
input
);
}
}
if
(
fire
.
GetStateDown
(
rightHand
))
{
input
.
hand
=
HandType
.
Right
;
if
(
rightLaser
)
{
var
p1
=
rightLaser
.
transform
.
TransformPoint
(
rightLaser
.
GetPosition
(
0
));
var
p2
=
rightLaser
.
transform
.
TransformPoint
(
rightLaser
.
GetPosition
(
1
));
input
.
ray
=
new
Ray
(
p1
,
p2
-
p1
);
Debug
.
DrawRay
(
input
.
ray
.
origin
,
input
.
ray
.
direction
,
Color
.
cyan
,
1
);
level
.
HandleInput
(
input
);
}
}
}
catch
(
NullReferenceException
e
)
...
...
This diff is collapsed.
Click to expand it.
RhythmKata/Assets/SteamVR/InteractionSystem/Core/Prefabs/Player.prefab
View file @
194f76df
...
...
@@ -28,7 +28,7 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
485514
}
m_RootOrder
:
2
m_RootOrder
:
1
m_LocalEulerAnglesHint
:
{
x
:
135
,
y
:
170
,
z
:
90
}
---
!u!1
&101548
GameObject
:
...
...
@@ -673,7 +673,7 @@ Transform:
m_LocalScale
:
{
x
:
1.0099999
,
y
:
1.01
,
z
:
1.0099999
}
m_Children
:
[]
m_Father
:
{
fileID
:
485514
}
m_RootOrder
:
3
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!114
&11405908
MonoBehaviour
:
...
...
@@ -898,7 +898,6 @@ Transform:
m_LocalPosition
:
{
x
:
-0.25
,
y
:
1
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
-
{
fileID
:
3315847632698384166
}
-
{
fileID
:
4000012325712216
}
-
{
fileID
:
4000011474053580
}
-
{
fileID
:
451882
}
...
...
@@ -950,7 +949,7 @@ MonoBehaviour:
noSteamVRFallbackCamera
:
{
fileID
:
0
}
noSteamVRFallbackMaxDistanceNoItem
:
10
noSteamVRFallbackMaxDistanceWithItem
:
0.5
renderModelPrefab
:
{
fileID
:
1000011547835092
,
guid
:
d5082f7d9f947374197e0a97786f4e40
,
renderModelPrefab
:
{
fileID
:
4323607481689171280
,
guid
:
558045d2a2630cf428328893396ef21c
,
type
:
3
}
renderModels
:
[]
mainRenderModel
:
{
fileID
:
0
}
...
...
@@ -1050,7 +1049,6 @@ Transform:
m_LocalPosition
:
{
x
:
0.25
,
y
:
1
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
-
{
fileID
:
6035716701327093889
}
-
{
fileID
:
480432
}
-
{
fileID
:
490018
}
-
{
fileID
:
495400
}
...
...
@@ -1102,7 +1100,7 @@ MonoBehaviour:
noSteamVRFallbackCamera
:
{
fileID
:
0
}
noSteamVRFallbackMaxDistanceNoItem
:
10
noSteamVRFallbackMaxDistanceWithItem
:
0.5
renderModelPrefab
:
{
fileID
:
1000012617731570
,
guid
:
837f93beb9a614743ae3a2c0ada7c388
,
renderModelPrefab
:
{
fileID
:
4323607481689171280
,
guid
:
558045d2a2630cf428328893396ef21c
,
type
:
3
}
renderModels
:
[]
mainRenderModel
:
{
fileID
:
0
}
...
...
@@ -1200,7 +1198,7 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
485514
}
m_RootOrder
:
1
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&167242
GameObject
:
...
...
@@ -1231,7 +1229,7 @@ Transform:
m_LocalScale
:
{
x
:
1.0100001
,
y
:
1.01
,
z
:
1.0100001
}
m_Children
:
[]
m_Father
:
{
fileID
:
476540
}
m_RootOrder
:
3
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!114
&11461284
MonoBehaviour
:
...
...
@@ -1356,7 +1354,7 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
485514
}
m_RootOrder
:
4
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!114
&11489144
MonoBehaviour
:
...
...
@@ -1407,7 +1405,7 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
476540
}
m_RootOrder
:
4
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!114
&11494192
MonoBehaviour
:
...
...
@@ -2559,7 +2557,7 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
476540
}
m_RootOrder
:
1
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&1000013804283954
GameObject
:
...
...
@@ -2683,155 +2681,5 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
476540
}
m_RootOrder
:
2
m_RootOrder
:
1
m_LocalEulerAnglesHint
:
{
x
:
135
,
y
:
-170
,
z
:
-90
}
---
!u!1001
&811755411450525903
PrefabInstance
:
m_ObjectHideFlags
:
0
serializedVersion
:
2
m_Modification
:
m_TransformParent
:
{
fileID
:
485514
}
m_Modifications
:
-
target
:
{
fileID
:
7988148489419422301
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_Name
value
:
gun
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.x
value
:
-0.25
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.y
value
:
-1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.x
value
:
-0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.y
value
:
-0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.z
value
:
-0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.w
value
:
1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_RootOrder
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.z
value
:
0
objectReference
:
{
fileID
:
0
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
---
!u!4
&6035716701327093889
stripped
Transform
:
m_CorrespondingSourceObject
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
m_PrefabInstance
:
{
fileID
:
811755411450525903
}
m_PrefabAsset
:
{
fileID
:
0
}
---
!u!1001
&8540094520710305640
PrefabInstance
:
m_ObjectHideFlags
:
0
serializedVersion
:
2
m_Modification
:
m_TransformParent
:
{
fileID
:
476540
}
m_Modifications
:
-
target
:
{
fileID
:
7988148489419422301
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_Name
value
:
gun
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.x
value
:
0.25
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.y
value
:
-1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalPosition.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.x
value
:
-0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.y
value
:
-0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.z
value
:
-0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalRotation.w
value
:
1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_RootOrder
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.z
value
:
0
objectReference
:
{
fileID
:
0
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
---
!u!4
&3315847632698384166
stripped
Transform
:
m_CorrespondingSourceObject
:
{
fileID
:
6377311900370995278
,
guid
:
552978e18fd475d44a20b08bee06ddc0
,
type
:
3
}
m_PrefabInstance
:
{
fileID
:
8540094520710305640
}
m_PrefabAsset
:
{
fileID
:
0
}
This diff is collapsed.
Click to expand it.
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