Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
3
3D Fruit
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
wanqing
3D Fruit
Commits
0039c3d4
Commit
0039c3d4
authored
Jun 04, 2021
by
wanqing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
角色动画avatar
parent
20112f8b
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
221536 additions
and
163503 deletions
+221536
-163503
DemoScenes.unity
3D Fruit/Assets/#A1_Scenes/DemoScenes.unity
+211661
-160661
NpcFaceView.cs
3D Fruit/Assets/#A2_Scripts/Battle/View/NpcFaceView.cs
+68
-0
NpcFaceView.cs.meta
3D Fruit/Assets/#A2_Scripts/Battle/View/NpcFaceView.cs.meta
+11
-0
SelectLevelCtrl.cs
3D Fruit/Assets/#A2_Scripts/Level/SelectLevelCtrl.cs
+26
-12
NPC_Face3.mat
3D Fruit/Assets/#C1_Models/NewNPC/Mat/NPC_Face3.mat
+2
-2
NPC_G01.fbx.meta
3D Fruit/Assets/#C1_Models/NewNPC/NPC_G01.fbx.meta
+4
-4
NewNPC.meta
3D Fruit/Assets/#C2_Animations/NewNPC.meta
+8
-0
SelectLevel.prefab
3D Fruit/Assets/Res/Levels/SelectLevel.prefab
+9756
-2824
No files found.
3D Fruit/Assets/#A1_Scenes/DemoScenes.unity
View file @
0039c3d4
This diff is collapsed.
Click to expand it.
3D Fruit/Assets/#A2_Scripts/Battle/View/NpcFaceView.cs
0 → 100644
View file @
0039c3d4
using
System.Collections
;
using
System.Collections.Generic
;
using
UnityEngine
;
using
DG.Tweening
;
public
class
NpcFaceView
:
MonoBehaviour
{
public
Transform
m_faceParent
;
private
MeshRenderer
[]
m_meshRender
;
private
Sequence
m_sq
;
private
Vector3
m_smallSize
=
new
Vector3
(
0.8f
,
0.8f
,
1.0f
);
private
Vector3
m_bigSize
=
new
Vector3
(
1.2f
,
1.2f
,
1.0f
);
//表情材质
private
Material
m_normalMat
;
private
Material
m_happyMat
;
private
Material
m_disappointedMat
;
// Start is called before the first frame update
void
Awake
()
{
m_meshRender
=
m_faceParent
.
GetComponentsInChildren
<
MeshRenderer
>();
}
//设置材质
public
void
SetMat
(
Material
normal
,
Material
happy
,
Material
disappoint
)
{
m_normalMat
=
normal
;
m_happyMat
=
happy
;
m_disappointedMat
=
disappoint
;
}
//设置表情
public
void
SetFace
()
{
for
(
int
i
=
0
;
i
<
m_meshRender
.
Length
;
i
++)
{
m_meshRender
[
i
].
sharedMaterial
=
m_normalMat
;
m_meshRender
[
i
].
transform
.
localScale
=
Vector3
.
one
;
}
Invoke
(
"DelayPlayEmoji"
,
1.5f
);
}
//延迟播放表情
void
DelayPlayEmoji
()
{
m_sq
=
DOTween
.
Sequence
();
for
(
int
i
=
0
;
i
<
m_meshRender
.
Length
;
i
++)
{
m_meshRender
[
i
].
sharedMaterial
=
m_happyMat
;
}
m_sq
.
Append
(
m_meshRender
[
0
].
transform
.
DOScale
(
m_smallSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
0
].
transform
.
DOScale
(
m_smallSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
1
].
transform
.
DOScale
(
m_smallSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
1
].
transform
.
DOScale
(
m_smallSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
2
].
transform
.
DOScale
(
m_smallSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
2
].
transform
.
DOScale
(
m_smallSize
,
0.5f
));
m_sq
.
Append
(
m_meshRender
[
0
].
transform
.
DOScale
(
m_bigSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
0
].
transform
.
DOScale
(
m_bigSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
1
].
transform
.
DOScale
(
m_bigSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
1
].
transform
.
DOScale
(
m_bigSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
2
].
transform
.
DOScale
(
m_bigSize
,
0.5f
));
m_sq
.
Join
(
m_meshRender
[
2
].
transform
.
DOScale
(
m_bigSize
,
0.5f
));
m_sq
.
SetLoops
(-
1
);
}
//释放动画
public
void
OnKill
()
{
m_sq
.
Kill
();
}
}
3D Fruit/Assets/#A2_Scripts/Battle/View/NpcFaceView.cs.meta
0 → 100644
View file @
0039c3d4
fileFormatVersion: 2
guid: c51878c69fbb18645a84a23a3d784348
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
3D Fruit/Assets/#A2_Scripts/Level/SelectLevelCtrl.cs
View file @
0039c3d4
...
...
@@ -14,13 +14,20 @@ public class SelectLevelCtrl : MonoBehaviour
public
GameObject
m_sportEffectObj
;
public
Transform
m_camera
;
//表情材质
public
Material
m_normalMat
;
public
Material
m_happyMat
;
public
Material
m_disappointedMat
;
private
Transform
m_boyTrans
;
private
Vector3
m_boyStartPos
;
private
Quaternion
m_boyStartRotation
;
private
NpcFaceView
m_boyNpcFace
;
private
Transform
m_girlTrans
;
private
Vector3
m_girlStartPos
;
private
Quaternion
m_girlStartRotation
;
private
NpcFaceView
m_girlNpcFace
;
private
Vector3
m_cameraPos
;
//private string m_idle1 = "TK_idle1";
...
...
@@ -39,14 +46,18 @@ public class SelectLevelCtrl : MonoBehaviour
void
Start
()
{
m_boyTrans
=
m_boyAni
.
transform
;
m_boyStartPos
=
m_boyTrans
.
p
osition
;
m_boyStartRotation
=
m_boyTrans
.
r
otation
;
m_boyStartPos
=
m_boyTrans
.
localP
osition
;
m_boyStartRotation
=
m_boyTrans
.
localR
otation
;
PlayBoyAnim
(
GlobalConfig
.
Ani_Idle1
);
PlayGirlAnim
(
GlobalConfig
.
Ani_Idle3
);
m_boyNpcFace
=
m_boyTrans
.
GetComponent
<
NpcFaceView
>();
m_boyNpcFace
.
SetMat
(
m_normalMat
,
m_happyMat
,
m_disappointedMat
);
m_girlTrans
=
m_girlAni
.
transform
;
m_girlStartPos
=
m_girlTrans
.
position
;
m_girlStartRotation
=
m_girlTrans
.
rotation
;
m_girlStartPos
=
m_girlTrans
.
localPosition
;
m_girlStartRotation
=
m_girlTrans
.
localRotation
;
m_girlNpcFace
=
m_girlTrans
.
GetComponent
<
NpcFaceView
>();
m_girlNpcFace
.
SetMat
(
m_normalMat
,
m_happyMat
,
m_disappointedMat
);
m_cameraPos
=
m_camera
.
position
;
BattleCtrl
.
instance
.
battleUI
.
onNextBtn
+=
CameraMoveUp
;
...
...
@@ -69,14 +80,14 @@ public class SelectLevelCtrl : MonoBehaviour
{
if
(
BattleCtrl
.
instance
.
levelManager
.
CurLevelIndex
==
LevelEnum
.
levelOneIndex
)
{
m_girlTrans
.
DORotateQuaternion
(
Quaternion
.
Euler
(
0
,
90
,
0
),
0.5f
).
onComplete
=
delegate
()
{
m_girlTrans
.
DO
Local
RotateQuaternion
(
Quaternion
.
Euler
(
0
,
90
,
0
),
0.5f
).
onComplete
=
delegate
()
{
StartMove
();
};
m_fruitEffectObj
.
SetActive
(
false
);
}
else
if
(
BattleCtrl
.
instance
.
levelManager
.
CurLevelIndex
==
LevelEnum
.
levelTwoIndex
)
{
m_boyTrans
.
DORotateQuaternion
(
Quaternion
.
Euler
(
0
,
90
,
0
),
0.5f
).
onComplete
=
delegate
()
{
m_boyTrans
.
DO
Local
RotateQuaternion
(
Quaternion
.
Euler
(
0
,
90
,
0
),
0.5f
).
onComplete
=
delegate
()
{
StartMove
();
};
m_sportEffectObj
.
SetActive
(
false
);
...
...
@@ -89,15 +100,16 @@ public class SelectLevelCtrl : MonoBehaviour
if
(
BattleCtrl
.
instance
.
levelManager
.
CurLevelIndex
==
LevelEnum
.
levelOneIndex
)
{
m_sq
=
DOTween
.
Sequence
();
m_sq
.
Append
(
m_girlTrans
.
DOMoveX
(
0.5f
,
2.0f
));
m_sq
.
Join
(
m_boyTrans
.
DOMove
(
m_girlStartPos
,
2.0f
));
m_sq
.
Append
(
m_girlTrans
.
DOLocalMoveX
(
1.0f
,
2.0f
));
m_sq
.
Join
(
m_boyTrans
.
DOLocalMove
(
new
Vector3
(
0
,
0
,
0.172f
),
2.0f
));
m_sq
.
AppendCallback
(
MoveFinish
);
}
else
if
(
BattleCtrl
.
instance
.
levelManager
.
CurLevelIndex
==
LevelEnum
.
levelTwoIndex
)
{
m_sq
=
DOTween
.
Sequence
();
m_sq
.
Append
(
m_boyTrans
.
DO
MoveX
(
0.5
f
,
2.0f
));
m_sq
.
Join
(
m_girlTrans
.
DO
Move
(
m_girlStartPos
,
2.0f
));
m_sq
.
Append
(
m_boyTrans
.
DO
LocalMoveX
(
1.0
f
,
2.0f
));
m_sq
.
Join
(
m_girlTrans
.
DO
LocalMove
(
new
Vector3
(
0
,
0
,
0.172f
)
,
2.0f
));
m_sq
.
AppendCallback
(
MoveFinish
);
}
}
...
...
@@ -108,6 +120,7 @@ public class SelectLevelCtrl : MonoBehaviour
{
m_sportEffectObj
.
SetActive
(
true
);
PlayBoyAnim
(
GlobalConfig
.
Ani_Idle3
);
m_girlNpcFace
.
OnKill
();
}
else
if
(
BattleCtrl
.
instance
.
levelManager
.
CurLevelIndex
==
LevelEnum
.
levelTwoIndex
)
{
...
...
@@ -126,7 +139,7 @@ public class SelectLevelCtrl : MonoBehaviour
m_girlTrans
.
position
=
m_girlStartPos
;
m_girlTrans
.
rotation
=
m_girlStartRotation
;
PlayBoyAnim
(
GlobalConfig
.
Ani_Idle1
);
PlayGirlAnim
(
GlobalConfig
.
Ani_Idle
3
);
PlayGirlAnim
(
GlobalConfig
.
Ani_Idle
1
);
}
else
if
(
BattleCtrl
.
instance
.
levelManager
.
CurLevelIndex
==
LevelEnum
.
levelTwoIndex
)
{
...
...
@@ -134,7 +147,7 @@ public class SelectLevelCtrl : MonoBehaviour
m_boyTrans
.
rotation
=
m_girlStartRotation
;
m_girlTrans
.
position
=
m_boyStartPos
;
m_girlTrans
.
rotation
=
m_boyStartRotation
;
PlayBoyAnim
(
GlobalConfig
.
Ani_Idle
3
);
PlayBoyAnim
(
GlobalConfig
.
Ani_Idle
1
);
PlayGirlAnim
(
GlobalConfig
.
Ani_Idle1
);
}
}
...
...
@@ -183,6 +196,7 @@ public class SelectLevelCtrl : MonoBehaviour
{
if
(
BattleCtrl
.
instance
.
levelManager
.
CurLevelIndex
==
LevelEnum
.
levelOneIndex
)
{
m_girlTrans
.
GetComponent
<
NpcFaceView
>().
SetFace
();
m_girlTrans
.
DOLocalMove
(
m_girlStartPos
,
1.0f
);
}
else
if
(
BattleCtrl
.
instance
.
levelManager
.
CurLevelIndex
==
LevelEnum
.
levelTwoIndex
)
...
...
3D Fruit/Assets/#C1_Models/NewNPC/Mat/NPC_Face3.mat
View file @
0039c3d4
...
...
@@ -7,7 +7,7 @@ Material:
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_Name
:
NPC_Face
2
m_Name
:
NPC_Face
3
m_Shader
:
{
fileID
:
10750
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_ShaderKeywords
:
m_LightmapFlags
:
4
...
...
@@ -40,7 +40,7 @@ Material:
m_Scale
:
{
x
:
1
,
y
:
1
}
m_Offset
:
{
x
:
0
,
y
:
0
}
-
_MainTex
:
m_Texture
:
{
fileID
:
2800000
,
guid
:
30636364a97909b4185d613e0c6d9a75
,
type
:
3
}
m_Texture
:
{
fileID
:
2800000
,
guid
:
779a5dc9ab2776946a1a356a41761fce
,
type
:
3
}
m_Scale
:
{
x
:
1
,
y
:
1
}
m_Offset
:
{
x
:
0
,
y
:
0
}
-
_MetallicGlossMap
:
...
...
3D Fruit/Assets/#C1_Models/NewNPC/NPC_G01.fbx.meta
View file @
0039c3d4
...
...
@@ -38,7 +38,7 @@ ModelImporter:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression:
1
animationCompression:
3
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
...
...
@@ -98,13 +98,13 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot:
0
hasExtraRoot:
1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType:
2
animationType:
3
humanoidOversampling: 1
avatarSetup:
0
avatarSetup:
1
additionalBone: 0
userData:
assetBundleName:
...
...
3D Fruit/Assets/#C2_Animations/NewNPC.meta
0 → 100644
View file @
0039c3d4
fileFormatVersion: 2
guid: fb2fbcc08624cd741beb7f4e3d95c353
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
3D Fruit/Assets/Res/Levels/SelectLevel.prefab
View file @
0039c3d4
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