update lại về cam và logic
This commit is contained in:
@@ -47,6 +47,7 @@
|
||||
<Analyzer Include="C:\Program Files\Unity\Hub\Editor\6000.3.10f1\Editor\Data\Tools\BuildPipeline\Unity.SourceGenerators\Unity.UIToolkit.SourceGenerator.dll" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Assets\Script\CameraFollow.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\TMP_TextEventHandler.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\EnvMapAnimator.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\TMP_TextSelector_A.cs" />
|
||||
@@ -76,6 +77,7 @@
|
||||
<Compile Include="Assets\TutorialInfo\Scripts\Readme.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\Benchmark01.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\TextMeshSpawner.cs" />
|
||||
<Compile Include="Assets\Script\ARFirstPersonController.cs" />
|
||||
<Compile Include="Assets\Joystick Pack\Scripts\Joysticks\DynamicJoystick.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\CameraController.cs" />
|
||||
<Compile Include="Assets\Joystick Pack\Scripts\Base\Joystick.cs" />
|
||||
@@ -91,6 +93,7 @@
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\TextConsoleSimulator.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\TeleType.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\TMP_TextEventCheck.cs" />
|
||||
<Compile Include="Assets\Script\BouncyBall.cs" />
|
||||
<Compile Include="Assets\TextMesh Pro\Examples & Extras\Scripts\TextMeshProFloatingText.cs" />
|
||||
<None Include="Assets\TextMesh Pro\Shaders\TMPro.cginc" />
|
||||
<None Include="Assets\TextMesh Pro\Shaders\TMP_SDF-Mobile Overlay.shader" />
|
||||
|
||||
@@ -10,6 +10,6 @@ PhysicsMaterial:
|
||||
serializedVersion: 2
|
||||
m_DynamicFriction: 0.6
|
||||
m_StaticFriction: 0.6
|
||||
m_Bounciness: 0
|
||||
m_Bounciness: 0.5
|
||||
m_FrictionCombine: 0
|
||||
m_BounceCombine: 0
|
||||
|
||||
@@ -29,7 +29,7 @@ Transform:
|
||||
m_GameObject: {fileID: 7093238386133182062}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 933.9104, y: -0, z: 1958.721}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
|
||||
@@ -270,7 +270,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4058037651045720570, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -1.88
|
||||
value: -1.936
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4058037651045720570, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
@@ -278,7 +278,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4058037651045720570, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -0.023
|
||||
value: -0.018
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4058037651045720570, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
@@ -315,6 +315,24 @@ PrefabInstance:
|
||||
- targetCorrespondingSourceObject: {fileID: 3682496519326268224, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1075063774}
|
||||
- targetCorrespondingSourceObject: {fileID: 3682496519326268224, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1075063778}
|
||||
- targetCorrespondingSourceObject: {fileID: 3682496519326268224, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1075063777}
|
||||
- targetCorrespondingSourceObject: {fileID: 3682496519326268224, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1075063783}
|
||||
- targetCorrespondingSourceObject: {fileID: 3682496519326268224, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1075063782}
|
||||
- targetCorrespondingSourceObject: {fileID: 3682496519326268224, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1075063781}
|
||||
- targetCorrespondingSourceObject: {fileID: 3682496519326268224, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1075063784}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 216411d97f5a68f4a87e27e0d0ade2d7, type: 3}
|
||||
--- !u!1 &141601765
|
||||
GameObject:
|
||||
@@ -685,6 +703,59 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 599855876}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &745371152
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 745371154}
|
||||
- component: {fileID: 745371153}
|
||||
m_Layer: 0
|
||||
m_Name: ScoreZone
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!65 &745371153
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 745371152}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 2.8223405, y: 0.11762619, z: 3.7329292}
|
||||
m_Center: {x: -0.18779182, y: 0.4411869, z: 0.09677839}
|
||||
--- !u!4 &745371154
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 745371152}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -1.03147, y: 11.41, z: -0.3}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &832575517
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -734,6 +805,11 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &914997203 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 4708965725589232951, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
m_PrefabInstance: {fileID: 1616289390}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &942389252 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
@@ -757,7 +833,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!114 &968778833
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -841,13 +917,13 @@ MonoBehaviour:
|
||||
PreviewVisible: 1
|
||||
RuntimeOcclusion: 0
|
||||
RuntimeCollider: 0
|
||||
mTrackableName: z7784214748644_b3ccece5f73d2a2e0581f0a58b2b8aa7
|
||||
mTrackableName: snake
|
||||
mInitializedInEditor: 1
|
||||
mDataSetPath: Vuforia/DatabaseName.xml
|
||||
mAspectRatio: 2.2210424
|
||||
mDataSetPath: Vuforia/NGTUAN.xml
|
||||
mAspectRatio: 1.4521515
|
||||
mImageTargetType: 0
|
||||
mWidth: 5
|
||||
mHeight: 11.105212
|
||||
mHeight: 7.2607574
|
||||
mRuntimeTexture: {fileID: 0}
|
||||
mMotionHint: 1
|
||||
mTrackingOptimization: 0
|
||||
@@ -883,8 +959,8 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Vuforia.Unity.Engine.dll::Vuforia.ImageTargetPreview
|
||||
mObserverBehaviour: {fileID: 968778834}
|
||||
mHiddenRoot: {fileID: 0}
|
||||
mTargetName: z7784214748644_b3ccece5f73d2a2e0581f0a58b2b8aa7
|
||||
mDatasetName: Vuforia/DatabaseName.xml
|
||||
mTargetName: snake
|
||||
mDatasetName: Vuforia/NGTUAN.xml
|
||||
mCastedBehaviour: {fileID: 968778834}
|
||||
mMeshFilter: {fileID: 0}
|
||||
mMeshRenderer: {fileID: 0}
|
||||
@@ -911,6 +987,138 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::ScoreManager
|
||||
scoreText: {fileID: 38800816}
|
||||
--- !u!65 &1075063777
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1075063772}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.77672637, y: 0.8418276, z: 0.13022546}
|
||||
m_Center: {x: -0.050724592, y: 0.0023020746, z: 0.37827945}
|
||||
--- !u!54 &1075063778
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1075063772}
|
||||
serializedVersion: 5
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 0
|
||||
m_AngularDamping: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 126
|
||||
m_CollisionDetection: 0
|
||||
--- !u!65 &1075063781
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1075063772}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.060377598, y: 0.8473031, z: 0.596032}
|
||||
m_Center: {x: 0.37287885, y: 0.005039835, z: 0.01628306}
|
||||
--- !u!65 &1075063782
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1075063772}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.63381463, y: 0.8473031, z: 0.08439002}
|
||||
m_Center: {x: 0.015751136, y: 0.005039835, z: -0.3373408}
|
||||
--- !u!65 &1075063783
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1075063772}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.11698814, y: 0.8473031, z: 0.6487788}
|
||||
m_Center: {x: -0.3805935, y: 0.005039835, z: 0.023673272}
|
||||
--- !u!65 &1075063784
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1075063772}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.71972764, y: 0.09103336, z: 0.6759124}
|
||||
m_Center: {x: -0.0054461, y: -0.373096, z: 0.010183764}
|
||||
--- !u!1 &1172560393
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1305,21 +1513,33 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: Ring
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -0.3635254
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -0.0004516709
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0.17551857
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
@@ -1327,7 +1547,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
@@ -1339,7 +1559,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 180
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
@@ -1351,7 +1571,13 @@ PrefabInstance:
|
||||
- targetCorrespondingSourceObject: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1075063773}
|
||||
m_AddedComponents: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 4708965725589232951, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 2027009480}
|
||||
- targetCorrespondingSourceObject: {fileID: 4708965725589232951, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 2027009479}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
--- !u!1 &1660361740
|
||||
GameObject:
|
||||
@@ -1431,13 +1657,13 @@ MonoBehaviour:
|
||||
PreviewVisible: 1
|
||||
RuntimeOcclusion: 0
|
||||
RuntimeCollider: 0
|
||||
mTrackableName: z7784214748644_b3ccece5f73d2a2e0581f0a58b2b8aa7
|
||||
mTrackableName: cherry
|
||||
mInitializedInEditor: 1
|
||||
mDataSetPath: Vuforia/DatabaseName.xml
|
||||
mAspectRatio: 2.2210424
|
||||
mDataSetPath: Vuforia/NGTUAN.xml
|
||||
mAspectRatio: 1.4603536
|
||||
mImageTargetType: 0
|
||||
mWidth: 5
|
||||
mHeight: 11.105212
|
||||
mHeight: 7.3017683
|
||||
mRuntimeTexture: {fileID: 0}
|
||||
mMotionHint: 1
|
||||
mTrackingOptimization: 0
|
||||
@@ -1473,8 +1699,8 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Vuforia.Unity.Engine.dll::Vuforia.ImageTargetPreview
|
||||
mObserverBehaviour: {fileID: 1660361742}
|
||||
mHiddenRoot: {fileID: 0}
|
||||
mTargetName: z7784214748644_b3ccece5f73d2a2e0581f0a58b2b8aa7
|
||||
mDatasetName: Vuforia/DatabaseName.xml
|
||||
mTargetName: cherry
|
||||
mDatasetName: Vuforia/NGTUAN.xml
|
||||
mCastedBehaviour: {fileID: 1660361742}
|
||||
mMeshFilter: {fileID: 0}
|
||||
mMeshRenderer: {fileID: 0}
|
||||
@@ -1497,6 +1723,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::PlayerController
|
||||
joystick: {fileID: 1239197812}
|
||||
moveSpeed: 2
|
||||
animator: {fileID: 0}
|
||||
--- !u!114 &1755326608
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1523,7 +1750,7 @@ PrefabInstance:
|
||||
m_Modifications:
|
||||
- target: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0.11936338
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
@@ -1531,7 +1758,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -0.14514594
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
@@ -1539,15 +1766,15 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3426146483806157536, guid: 810eccd8d23152e4e873f7c1a46a53bc, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -1588,6 +1815,54 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5337411849267447693, guid: f1ed58764d968b047b58d640e9cf1417, type: 3}
|
||||
m_PrefabInstance: {fileID: 1616289390}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!65 &2027009479
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 914997203}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1.5552647, y: 3.8137977, z: 1.8599999}
|
||||
m_Center: {x: -0.6316332, y: 1.9073505, z: -0.00000019073487}
|
||||
--- !u!54 &2027009480
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 914997203}
|
||||
serializedVersion: 5
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 0
|
||||
m_AngularDamping: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 126
|
||||
m_CollisionDetection: 0
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1599,3 +1874,4 @@ SceneRoots:
|
||||
- {fileID: 1660361743}
|
||||
- {fileID: 1429989164}
|
||||
- {fileID: 141601768}
|
||||
- {fileID: 745371154}
|
||||
|
||||
23
Assets/Script/ARFirstPersonController.cs
Normal file
23
Assets/Script/ARFirstPersonController.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class ARFirstPersonController : MonoBehaviour
|
||||
{
|
||||
public Transform player; // Kéo nhân vật vào đây
|
||||
public Transform imageTarget; // Kéo ImageTarget vào đây
|
||||
public Vector3 viewOffset = new Vector3(0, -1.6f, 0.5f); // Điều chỉnh để mắt nhân vật khớp với camera
|
||||
|
||||
void LateUpdate()
|
||||
{
|
||||
if (player == null || imageTarget == null) return;
|
||||
|
||||
// Ép vị trí của toàn bộ ImageTarget di chuyển sao cho Player luôn nằm ở vị trí Camera
|
||||
// Điều này tạo ra góc nhìn thứ nhất trong AR
|
||||
Vector3 targetPosition = Camera.main.transform.position + Camera.main.transform.TransformDirection(viewOffset);
|
||||
|
||||
// Di chuyển ImageTarget để bù trừ vị trí
|
||||
imageTarget.position = targetPosition;
|
||||
|
||||
// Xoay ImageTarget để hướng nhìn của nhân vật khớp với hướng điện thoại
|
||||
imageTarget.rotation = Quaternion.LookRotation(Camera.main.transform.forward);
|
||||
}
|
||||
}
|
||||
2
Assets/Script/ARFirstPersonController.cs.meta
Normal file
2
Assets/Script/ARFirstPersonController.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9969d44b616718648be576e1df5cae97
|
||||
@@ -7,16 +7,29 @@ public class BallShooter : MonoBehaviour
|
||||
public float shootForce = 500f;
|
||||
public float upwardForce = 200f; // Lực ném vòng cung lên trên
|
||||
|
||||
// Gọi hàm này khi bấm nút Ném trên UI
|
||||
public void ShootBall()
|
||||
{
|
||||
GameObject newBall = Instantiate(ballPrefab, shootPoint.position, shootPoint.rotation);
|
||||
// 1. Lấy vị trí ném: Từ Camera lùi xuống dưới một chút (giống tay người cầm bóng)
|
||||
Vector3 spawnPosition = Camera.main.transform.position
|
||||
+ Camera.main.transform.forward * 0.5f
|
||||
- Camera.main.transform.up * 0.2f;
|
||||
|
||||
// 2. Tạo quả bóng
|
||||
GameObject newBall = Instantiate(ballPrefab, spawnPosition, Camera.main.transform.rotation);
|
||||
|
||||
// 3. Đảm bảo bóng không bị dính vào Image Target
|
||||
newBall.transform.SetParent(null);
|
||||
|
||||
Rigidbody rb = newBall.GetComponent<Rigidbody>();
|
||||
if (rb != null)
|
||||
{
|
||||
// 4. Lấy hướng nhìn của điện thoại
|
||||
Vector3 shootDirection = Camera.main.transform.forward;
|
||||
|
||||
// 5. Thêm lực ném (Mạnh hơn một chút để bay tới rổ trên bàn)
|
||||
rb.AddForce(shootDirection * shootForce + Vector3.up * upwardForce);
|
||||
}
|
||||
|
||||
// Thêm lực để quả bóng bay về phía trước và hơi hếch lên trên
|
||||
rb.AddForce(shootPoint.forward * shootForce + Vector3.up * upwardForce);
|
||||
|
||||
// Hủy quả bóng sau 5 giây để tránh lag game
|
||||
Destroy(newBall, 5f);
|
||||
}
|
||||
}
|
||||
32
Assets/Script/BouncyBall.cs
Normal file
32
Assets/Script/BouncyBall.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class BouncyBall : MonoBehaviour
|
||||
{
|
||||
void Start()
|
||||
{
|
||||
// Tự động gán Tag để chắc chắn ScoreManager nhận ra quả bóng
|
||||
gameObject.tag = "Ball";
|
||||
|
||||
Rigidbody rb = GetComponent<Rigidbody>();
|
||||
if (rb != null)
|
||||
{
|
||||
// Đảm bảo quả bóng có trọng lượng và không quá nặng
|
||||
rb.mass = 0.6f; // Khối lượng chuẩn quả bóng rổ (kg)
|
||||
rb.collisionDetectionMode = CollisionDetectionMode.Continuous;
|
||||
}
|
||||
|
||||
Collider col = GetComponent<Collider>();
|
||||
if (col != null)
|
||||
{
|
||||
// Tạo Physic Material bằng code nếu chưa có
|
||||
PhysicsMaterial bouncyMat = new PhysicsMaterial("BasketballMaterial");
|
||||
bouncyMat.bounciness = 0.8f; // Độ nảy (0 đến 1)
|
||||
bouncyMat.bounceCombine = PhysicsMaterialCombine.Maximum;
|
||||
bouncyMat.frictionCombine = PhysicsMaterialCombine.Minimum;
|
||||
bouncyMat.staticFriction = 0.4f;
|
||||
bouncyMat.dynamicFriction = 0.4f;
|
||||
|
||||
col.material = bouncyMat;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Script/BouncyBall.cs.meta
Normal file
2
Assets/Script/BouncyBall.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 15dabd6ae947f12439f46655ed59fd7c
|
||||
18
Assets/Script/CameraFollow.cs
Normal file
18
Assets/Script/CameraFollow.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class CameraFollow : MonoBehaviour
|
||||
{
|
||||
public Transform target; // Nhân vật (Player)
|
||||
public Vector3 headOffset = new Vector3(0, 1.6f, 0.2f); // Vị trí mắt so với chân nhân vật
|
||||
|
||||
void LateUpdate()
|
||||
{
|
||||
if (target == null) return;
|
||||
|
||||
// Đặt camera ngay tại vị trí "mắt" của nhân vật
|
||||
transform.position = target.position + target.TransformDirection(headOffset);
|
||||
|
||||
// Camera luôn nhìn theo hướng xoay của nhân vật
|
||||
transform.rotation = target.rotation;
|
||||
}
|
||||
}
|
||||
2
Assets/Script/CameraFollow.cs.meta
Normal file
2
Assets/Script/CameraFollow.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3918e143eb5bc084a9998b8660c75684
|
||||
@@ -4,6 +4,7 @@ public class PlayerController : MonoBehaviour
|
||||
{
|
||||
public Joystick joystick; // Kéo Fixed Joystick ở Canvas vào đây
|
||||
public float moveSpeed = 2f;
|
||||
public Animator animator; // Kéo Animator của nhân vật vào đây
|
||||
|
||||
void Update()
|
||||
{
|
||||
@@ -19,12 +20,22 @@ public class PlayerController : MonoBehaviour
|
||||
|
||||
// Di chuyển object theo trục X và Z
|
||||
Vector3 direction = new Vector3(horizontal, 0, vertical).normalized;
|
||||
float currentSpeed = direction.magnitude * moveSpeed;
|
||||
|
||||
transform.Translate(direction * moveSpeed * Time.deltaTime, Space.World);
|
||||
|
||||
// (Tùy chọn) Xoay object theo hướng di chuyển
|
||||
// Xoay object mượt mà theo hướng di chuyển
|
||||
if (direction != Vector3.zero)
|
||||
{
|
||||
transform.forward = direction;
|
||||
Quaternion targetRotation = Quaternion.LookRotation(direction);
|
||||
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, 15f * Time.deltaTime);
|
||||
}
|
||||
|
||||
// Cập nhật Animator
|
||||
if (animator != null)
|
||||
{
|
||||
// Giả sử Animator có parameter "Speed" kiểu Float
|
||||
animator.SetFloat("Speed", currentSpeed);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,20 +6,55 @@ public class ScoreManager : MonoBehaviour
|
||||
public TextMeshProUGUI scoreText; // Kéo UI Text điểm số vào đây
|
||||
private int currentScore = 0;
|
||||
|
||||
void Start()
|
||||
{
|
||||
currentScore = 0;
|
||||
UpdateScoreUI();
|
||||
|
||||
// CHẨN ĐOÁN LỖI:
|
||||
Collider col = GetComponent<Collider>();
|
||||
if (col == null)
|
||||
Debug.LogError("<color=red>LỖI NẶNG: Object này (" + gameObject.name + ") CHƯA CÓ COLLIDER. Hãy add Box Collider ngay!</color>");
|
||||
else if (!col.isTrigger)
|
||||
Debug.LogWarning("<color=yellow>CẢNH BÁO: Collider của rổ chưa tích 'Is Trigger'. Hãy tích vào!</color>");
|
||||
|
||||
Debug.Log("<color=white>Script ScoreManager đang hoạt động trên: " + gameObject.name + "</color>");
|
||||
}
|
||||
|
||||
// Bắt va chạm kiểu Trigger (Xuyên qua)
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
// Kiểm tra xem vật lọt qua rổ có phải là bóng không
|
||||
if (other.CompareTag("Ball"))
|
||||
GhiDiem(other.gameObject, "TRIGGER");
|
||||
}
|
||||
|
||||
// Bắt va chạm kiểu Vật lý (Đập vào nhau) - Dự phòng nếu bạn chưa tích Is Trigger
|
||||
private void OnCollisionEnter(Collision collision)
|
||||
{
|
||||
GhiDiem(collision.gameObject, "PHYSICS");
|
||||
}
|
||||
|
||||
void GhiDiem(GameObject obj, string type)
|
||||
{
|
||||
Debug.Log("PHÁT HIỆN VA CHẠM [" + type + "] với: " + obj.name + " | Tag: " + obj.tag);
|
||||
|
||||
if (obj.CompareTag("Ball") || obj.name.Contains("Sphere") || obj.name.Contains("ball"))
|
||||
{
|
||||
currentScore += 2; // Cộng 2 điểm
|
||||
currentScore += 2;
|
||||
UpdateScoreUI();
|
||||
|
||||
// (Tùy chọn) Thêm hiệu ứng âm thanh hoặc Particle vào đây
|
||||
Debug.Log("<color=cyan>===> GHI ĐIỂM THÀNH CÔNG! Điểm hiện tại: " + currentScore + "</color>");
|
||||
Destroy(obj, 0.2f);
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateScoreUI()
|
||||
{
|
||||
scoreText.text = "Score: " + currentScore;
|
||||
if (scoreText != null)
|
||||
{
|
||||
scoreText.text = "Score: " + currentScore;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("ScoreText chưa được kéo vào ScoreManager!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user