Commit 0039c3d4 authored by wanqing's avatar wanqing

角色动画avatar

parent 20112f8b
This diff is collapsed.
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();
}
}
fileFormatVersion: 2
guid: c51878c69fbb18645a84a23a3d784348
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -14,13 +14,20 @@ public class SelectLevelCtrl : MonoBehaviour ...@@ -14,13 +14,20 @@ public class SelectLevelCtrl : MonoBehaviour
public GameObject m_sportEffectObj; public GameObject m_sportEffectObj;
public Transform m_camera; public Transform m_camera;
//表情材质
public Material m_normalMat;
public Material m_happyMat;
public Material m_disappointedMat;
private Transform m_boyTrans; private Transform m_boyTrans;
private Vector3 m_boyStartPos; private Vector3 m_boyStartPos;
private Quaternion m_boyStartRotation; private Quaternion m_boyStartRotation;
private NpcFaceView m_boyNpcFace;
private Transform m_girlTrans; private Transform m_girlTrans;
private Vector3 m_girlStartPos; private Vector3 m_girlStartPos;
private Quaternion m_girlStartRotation; private Quaternion m_girlStartRotation;
private NpcFaceView m_girlNpcFace;
private Vector3 m_cameraPos; private Vector3 m_cameraPos;
//private string m_idle1 = "TK_idle1"; //private string m_idle1 = "TK_idle1";
...@@ -39,14 +46,18 @@ public class SelectLevelCtrl : MonoBehaviour ...@@ -39,14 +46,18 @@ public class SelectLevelCtrl : MonoBehaviour
void Start() void Start()
{ {
m_boyTrans = m_boyAni.transform; m_boyTrans = m_boyAni.transform;
m_boyStartPos = m_boyTrans.position; m_boyStartPos = m_boyTrans.localPosition;
m_boyStartRotation = m_boyTrans.rotation; m_boyStartRotation = m_boyTrans.localRotation;
PlayBoyAnim(GlobalConfig.Ani_Idle1); PlayBoyAnim(GlobalConfig.Ani_Idle1);
PlayGirlAnim(GlobalConfig.Ani_Idle3); 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_girlTrans = m_girlAni.transform;
m_girlStartPos = m_girlTrans.position; m_girlStartPos = m_girlTrans.localPosition;
m_girlStartRotation = m_girlTrans.rotation; 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; m_cameraPos = m_camera.position;
BattleCtrl.instance.battleUI.onNextBtn += CameraMoveUp; BattleCtrl.instance.battleUI.onNextBtn += CameraMoveUp;
...@@ -69,14 +80,14 @@ public class SelectLevelCtrl : MonoBehaviour ...@@ -69,14 +80,14 @@ public class SelectLevelCtrl : MonoBehaviour
{ {
if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex) if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex)
{ {
m_girlTrans.DORotateQuaternion(Quaternion.Euler(0, 90, 0), 0.5f).onComplete = delegate () { m_girlTrans.DOLocalRotateQuaternion(Quaternion.Euler(0, 90, 0), 0.5f).onComplete = delegate () {
StartMove(); StartMove();
}; };
m_fruitEffectObj.SetActive(false); m_fruitEffectObj.SetActive(false);
} }
else if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex) else if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex)
{ {
m_boyTrans.DORotateQuaternion(Quaternion.Euler(0, 90, 0), 0.5f).onComplete = delegate () { m_boyTrans.DOLocalRotateQuaternion(Quaternion.Euler(0, 90, 0), 0.5f).onComplete = delegate () {
StartMove(); StartMove();
}; };
m_sportEffectObj.SetActive(false); m_sportEffectObj.SetActive(false);
...@@ -89,15 +100,16 @@ public class SelectLevelCtrl : MonoBehaviour ...@@ -89,15 +100,16 @@ public class SelectLevelCtrl : MonoBehaviour
if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex) if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex)
{ {
m_sq = DOTween.Sequence(); 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); m_sq.AppendCallback(MoveFinish);
} }
else if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex) else if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex)
{ {
m_sq = DOTween.Sequence(); m_sq = DOTween.Sequence();
m_sq.Append(m_boyTrans.DOMoveX(0.5f, 2.0f)); m_sq.Append(m_boyTrans.DOLocalMoveX(1.0f, 2.0f));
m_sq.Join(m_girlTrans.DOMove(m_girlStartPos, 2.0f)); m_sq.Join(m_girlTrans.DOLocalMove(new Vector3(0, 0, 0.172f), 2.0f));
m_sq.AppendCallback(MoveFinish); m_sq.AppendCallback(MoveFinish);
} }
} }
...@@ -108,6 +120,7 @@ public class SelectLevelCtrl : MonoBehaviour ...@@ -108,6 +120,7 @@ public class SelectLevelCtrl : MonoBehaviour
{ {
m_sportEffectObj.SetActive(true); m_sportEffectObj.SetActive(true);
PlayBoyAnim(GlobalConfig.Ani_Idle3); PlayBoyAnim(GlobalConfig.Ani_Idle3);
m_girlNpcFace.OnKill();
} }
else if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex) else if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex)
{ {
...@@ -126,7 +139,7 @@ public class SelectLevelCtrl : MonoBehaviour ...@@ -126,7 +139,7 @@ public class SelectLevelCtrl : MonoBehaviour
m_girlTrans.position = m_girlStartPos; m_girlTrans.position = m_girlStartPos;
m_girlTrans.rotation = m_girlStartRotation; m_girlTrans.rotation = m_girlStartRotation;
PlayBoyAnim(GlobalConfig.Ani_Idle1); PlayBoyAnim(GlobalConfig.Ani_Idle1);
PlayGirlAnim(GlobalConfig.Ani_Idle3); PlayGirlAnim(GlobalConfig.Ani_Idle1);
} }
else if(BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex) else if(BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex)
{ {
...@@ -134,7 +147,7 @@ public class SelectLevelCtrl : MonoBehaviour ...@@ -134,7 +147,7 @@ public class SelectLevelCtrl : MonoBehaviour
m_boyTrans.rotation = m_girlStartRotation; m_boyTrans.rotation = m_girlStartRotation;
m_girlTrans.position = m_boyStartPos; m_girlTrans.position = m_boyStartPos;
m_girlTrans.rotation = m_boyStartRotation; m_girlTrans.rotation = m_boyStartRotation;
PlayBoyAnim(GlobalConfig.Ani_Idle3); PlayBoyAnim(GlobalConfig.Ani_Idle1);
PlayGirlAnim(GlobalConfig.Ani_Idle1); PlayGirlAnim(GlobalConfig.Ani_Idle1);
} }
} }
...@@ -183,6 +196,7 @@ public class SelectLevelCtrl : MonoBehaviour ...@@ -183,6 +196,7 @@ public class SelectLevelCtrl : MonoBehaviour
{ {
if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex) if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex)
{ {
m_girlTrans.GetComponent<NpcFaceView>().SetFace();
m_girlTrans.DOLocalMove(m_girlStartPos, 1.0f); m_girlTrans.DOLocalMove(m_girlStartPos, 1.0f);
} }
else if(BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex) else if(BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelTwoIndex)
......
...@@ -7,7 +7,7 @@ Material: ...@@ -7,7 +7,7 @@ Material:
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: NPC_Face2 m_Name: NPC_Face3
m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: m_ShaderKeywords:
m_LightmapFlags: 4 m_LightmapFlags: 4
...@@ -40,7 +40,7 @@ Material: ...@@ -40,7 +40,7 @@ Material:
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _MainTex: - _MainTex:
m_Texture: {fileID: 2800000, guid: 30636364a97909b4185d613e0c6d9a75, type: 3} m_Texture: {fileID: 2800000, guid: 779a5dc9ab2776946a1a356a41761fce, type: 3}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _MetallicGlossMap: - _MetallicGlossMap:
......
...@@ -38,7 +38,7 @@ ModelImporter: ...@@ -38,7 +38,7 @@ ModelImporter:
animationDoRetargetingWarnings: 0 animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0 importAnimatedCustomProperties: 0
importConstraints: 0 importConstraints: 0
animationCompression: 1 animationCompression: 3
animationRotationError: 0.5 animationRotationError: 0.5
animationPositionError: 0.5 animationPositionError: 0.5
animationScaleError: 0.5 animationScaleError: 0.5
...@@ -98,13 +98,13 @@ ModelImporter: ...@@ -98,13 +98,13 @@ ModelImporter:
globalScale: 1 globalScale: 1
rootMotionBoneName: rootMotionBoneName:
hasTranslationDoF: 0 hasTranslationDoF: 0
hasExtraRoot: 0 hasExtraRoot: 1
skeletonHasParents: 1 skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0} lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1 autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2 animationType: 3
humanoidOversampling: 1 humanoidOversampling: 1
avatarSetup: 0 avatarSetup: 1
additionalBone: 0 additionalBone: 0
userData: userData:
assetBundleName: assetBundleName:
......
fileFormatVersion: 2
guid: fb2fbcc08624cd741beb7f4e3d95c353
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment