unity, itween 对不透明对象使用FadeTo需要先更换material
跟自己实现fade一样,使用itween对不透明对象FadeTo前也要先更换material为透明material。
设player的Hierarchy如下:
player
--aniRoot
----head
----body
其中head和body都挂有如下脚本:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.Assertions.Must;
public class materialControl : MonoBehaviour {
public List<string> m_keyList;
public List<Material> m_matList;
private Dictionary<string,Material> m_matDic=new Dictionary<string, Material>();//dictionary will not show in inspeactor
void Awake(){
int keyCount = m_keyList.Count;
int matCount = m_matList.Count;
keyCount.MustBeEqual(matCount);
for (int i=0; i<keyCount; i++) {
string key=m_keyList[i];
Material mat=m_matList[i];
m_matDic.Add (key,mat);
}
}
public Material getMaterialByKey(string key){
Material mat=null;
bool isGot=m_matDic.TryGetValue (key,out mat);
if (isGot) {
return mat;
} else {
return null;
}
}
public void changeMaterialTo(string key){
Material mat=getMaterialByKey (key);
if (mat) {
GetComponent<MeshRenderer> ().material = mat;
} else {
Debug.Log("error: material not found!");
}
}
}
player挂有如下脚本:
using UnityEngine;
using System.Collections;
using UnityEngine.Assertions.Must;
public class playerControl : MonoBehaviour {
void fadeOut(){
Transform aniRoot = transform.FindChild ("aniRoot");
Transform[] allChildren = aniRoot.GetComponentsInChildren<Transform> ();
foreach (Transform child in allChildren) {
materialControl materialControlScript = child.GetComponent<materialControl> ();
if (materialControlScript) {
materialControlScript.changeMaterialTo ("fadeMat");
}
}
//ref: http://www.xuanyusong.com/archives/2052
Hashtable args = new Hashtable();
args.Add("alpha",0);
args.Add("time",0.2f);
args.Add ("oncomplete", "disActive");
args.Add("oncompleteparams", gameObject);
args.Add("oncompletetarget", gameObject);
iTween.FadeTo (aniRoot.gameObject, args);
}
void disActive(GameObject target){
target.SetActive (false);
}
......
}
unity, itween 对不透明对象使用FadeTo需要先更换material的更多相关文章
- unity, itween, closed path
- 【Unity Shaders】Diffuse Shading——向Surface Shader添加properties
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- Unity Glossary
https://docs.unity3d.com/2018.4/Documentation/Manual/Glossary.html 2D terms 2D Physics terms AI term ...
- 网格导入设置 Import settings for Meshes
原地址:http://game.ceeger.com/Components/FBXImporter-Model.html The Import Settings for a model file wi ...
- iTween for Unity
你曾经在你的游戏中制作过动画吗?问这个问题可能是愚蠢的,几乎每个Game都有动画,虽然有一些没有,但你必须处理有动画和没有动画.让我们结识 ITween. iTween 官方网站:http://itw ...
- 【转】iTween for Unity
http://www.cnblogs.com/zhaoqingqing/p/3833321.html?utm_source=tuicool&utm_medium=referral 你曾经在你的 ...
- unity开源移动库iTween使用完整Demo
public Vector3[] paths; // Use this for initialization void Start () { paths = ] { , , ), , , -) }; ...
- Unity路径规划
Unity路径规划 转自:http://www.cnblogs.com/zsb517/p/4090629.html 背景 酷跑游戏中涉及到弯道.不规则道路. 找来一些酷跑游戏的案例来看,很多都是只有 ...
- iTween研究院之学习笔记Move移动篇
最近项目中需要加入一些模型移动的小动画,学习过程中发现了iTween这个类库.它主要的功能就是处理模型从起始点到结束点之间运动的轨迹.(移动,旋转,音频,路径,摄像机等)它是一个开源 ...
随机推荐
- Adaptive Query Optimization in Oracle Database 12c (12.1 and 12.2)
https://oracle-base.com/articles/12c/adaptive-query-optimization-12cr1
- How do I find what queries were executing in a SQL memory dump?-----stack
https://blogs.msdn.microsoft.com/askjay/2010/10/03/how-do-i-find-what-queries-were-executing-in-a-s ...
- sql server 博客:不胜人生一场醉
http://blog.csdn.net/baoqiangwang/article/category/604358
- tcpreplay工具使用
参考:http://www.cnblogs.com/jiayy/p/3447047.html 速率控制算法的大体思路就是,通过适当的sleep,增加包发送的时间,从而减小算出来的速率,以达到用户设 ...
- 基于tiny4412的Linux内核移植 -- DM9621NP网卡驱动移植(四)
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...
- 【mybatis】mybatis中避免where空条件后面添加1=1垃圾条件的 优化方法
在mybatis中拼接查询语句,偶尔会出现where后面可能一个字段的值都没有,就导致所有条件无效,导致where没有存在的意义:但也有可能这些条件会存在.那解决这个问题的方法,最常见的就是: 在wh ...
- 网络上的等待事件 —— SQL*Net message from client/dblink
SQL*Net message from client SQL> select event#,name,parameter1,parameter2,parameter3 from v$event ...
- xfs mount and repair
sudo mount -t xfs /dev/sdb1 /storage xfs文件系统修复方法 2017年12月03日 10:14:19 阅读数:2749 1. 前言 首先尝试mount和umoun ...
- [转]SSIS Recordset Destination
本文转自:http://www.sqlis.com/sqlis/post/Shredding-a-Recordset.aspx Doing what to a recordset? Shredding ...
- 30分钟LINQ教程【转】
千万别被这个页面的滚动条吓到!!! 我相信你一定能在30分钟之内看完它!!! 在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之 ...