今天又平常的过去
Unity上解决了材质透明的动画的设置,主要是先改变shader
》shader》Transparent》diffuse 接着在上面获得颜色进行设置
注意赋值的时候设置Color变量对material的color进行赋值。
using UnityEngine;
using System.Collections;
public class texturee : MonoBehaviour {
private MeshRenderer mesh;
private float i = 1;
private Color c;
// Use this for initialization
void Start () {
mesh = GetComponent<MeshRenderer>();
//mesh.material.mainTexture = (Texture)Resources.Load("ttt");
c = mesh.material.color;
c.a = 0f;
}
// Update is called once per frame
void Update () {
Begin();
}
void Begin()
{
if (i > 0)
{
i -= Time.deltaTime * 0.3f;
c.a = i;
mesh.material.color = c;
Debug.Log(i);
}
if (i < 0)
{
return;
}
}
}
在进行敌机的角色动画的设计上,没有进行骨架的绑定动画,采用的是模型的位移动画,
结果:动画状态机上没法对动画进行控制,要回到Animation组件上.play()对动画进行调用
而且不知道为什么剪动画出来的时候电脑变得很卡。
敌人追踪玩家的时候用的四元数Quaternion 控制
Quaternion targetRotation = Quaternion.LookRotation(player.position - transform.position); 此处获得了玩家与敌人的偏差角度
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * Speed); 让敌人旋转
transform.Translate(Vector3.forward * Time.deltaTime * curSpeed); //让敌机向前移动
另外Instantiate实例化的时候要传3个参数,分别是(gameobject,position位置,rotation角度)这个方法用了还几遍没记下来
在记录子弹的碰撞时用的是接触点ContactPoint
void OnCollisionEnter(Collision col) //子弹碰撞检测
{
ContactPoint contact=col.contacts [0]; //记录子弹碰撞的点
Instantiate(BaoZha,contact.point,Quaternion.identity); //碰撞点位置 实例化爆炸
Destroy(gameObject); //销毁子弹
}
在整理unity的素材资源的时候习惯很不好,,没有养成打包package的习惯,给一起工作的伙伴造成了困惑。
回家继续工作的时候发现自己还是十分不专注,已经成了一种不好的习惯,打开ManicTime看的时候发现自己今晚所有的时间
在电脑上的时间75%在刷网,从歌曲到明星绯闻到八卦视频,看了太多毫无意义的东西。
明天应该整理游戏逻辑与思路,主要是第二关场景,开始游戏进行射击,并分类打包各资源文件,让工作不至于陷入繁乱。
在项目一开始的时候自己急于写项目的demo,简单的想当然写了demo与动作资源的制作,
往下进行的时候发现动画素材在程序上并没有合理衔接,造成了别扭的效果。这是由于自己对程序的设计思考不够深入导致的。
时间浪费了吗,不知道,感觉是经验不足。不应该再犯同样的错。
如果设计考虑合理的话,这种事情应该是一带而过的,不应该再返回调制。
应该好好整理游戏的逻辑设计,让资源的制作一带而过实现程序,不为最后的效果造成烦扰。
下午的时候百度了UI的素材,自己之前竟然在PS里面慢慢画,不知道自己脑袋在想什么。
脑残。
能用素材解决的,或者能用素材2次设计解决的不应该从零开始制作。
这跟代码的封装的原理是一样的。
因为喜欢这个项目,在制作过程中实在是按奈不住想把它做完善。