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
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.position;
m_boyStartRotation = m_boyTrans.rotation;
m_boyStartPos = m_boyTrans.localPosition;
m_boyStartRotation = m_boyTrans.localRotation;
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.DOLocalRotateQuaternion(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.DOLocalRotateQuaternion(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.DOMoveX(0.5f, 2.0f));
m_sq.Join(m_girlTrans.DOMove(m_girlStartPos, 2.0f));
m_sq.Append(m_boyTrans.DOLocalMoveX(1.0f, 2.0f));
m_sq.Join(m_girlTrans.DOLocalMove(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_Idle3);
PlayGirlAnim(GlobalConfig.Ani_Idle1);
}
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_Idle3);
PlayBoyAnim(GlobalConfig.Ani_Idle1);
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)
......
......@@ -7,7 +7,7 @@ Material:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: NPC_Face2
m_Name: NPC_Face3
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:
......
......@@ -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:
......
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