zoukankan      html  css  js  c++  java
  • 关于Unity3d粒子系统的小发现(天堂3技能释放)

    导入系统给的粒子包,发现了一个问题:系统的粒子都有移动轨迹。

    而自己新建的空粒子系统却没有这个功能。顺便也复习一下粒子系统。

    Particle System (粒子系统):

    Duration(持续时间)

    Looping(是否循环)

    Prewarm(不知)

    Start Delay(启动延迟)

    Start Lifetime (粒子产生后的寿命)有四个选项:Constant(常数,固定时间消失),Curve(曲线,设定个曲线控制粒子寿命),Random Between Two Constants(两个常熟之间随机),Random Between Two Curves(两个曲线之间随机)

    Start Speed(粒子速度)选项同上

    Start Size (粒子大小)选项同上

    Start Rotation(粒子角度)选项同上

    Start Color(粒子颜色)有四个选项:Color(单一颜色),Gradient(颜色梯度控制,可调透明度),Random Between Two Color,Random Between Two Gradient

    Gravity Modifier(重力):可调成负数,比如用来制作烟雾效果。

    Simulation Space(模拟空间):在世界坐标和本地坐标中切换,这个就是制作技能痕迹的重要位置,新建的粒子系统一般都默认为local,所以在粒子本体移动的时候也跟着进行移动,改为world的话,粒子就不会跟随本体移动而是随着发出的方向自己进行移动。

    就可以出现以下效果(用鼠标写出来的):

    附上代码,灰常简单:

    using UnityEngine;
    using System.Collections;
    
    public class MouseFire : MonoBehaviour {
    
        public GameObject Fire;
        private GameObject showFire;
    
        void Update () {
    
            if (Input.GetMouseButtonDown (0)) {
        
                            //获取鼠标点击位置,射线
                Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
                RaycastHit hit = new RaycastHit ();
                Physics.Raycast (ray, out hit);
                            //实例化出火焰
                showFire = Instantiate (Fire,hit.point, Quaternion.identity) as GameObject;
    
            } else if (Input.GetMouseButtonUp (0)) {
                            //过时间销毁
                Destroy(showFire,10.1f);
            } 
    }
  • 相关阅读:
    eclipse配置自动提示EXTJS和jQurey
    Java用jdom.jar解析读取XML文件信息
    Hibernate配置XML连接数据库
    【codeforces】ZeptoLab Code Rush 2015 E 跳跃表? D kmp还不错的题
    各种语言版本的输出本身源代码的程序
    原地归并排序
    c/c++ static
    【程序员的自我修养——链接、装载与库】笔记
    【清华大学OS公开课】
    学习需要记录才行啊
  • 原文地址:https://www.cnblogs.com/SHOR/p/4895861.html
Copyright © 2011-2022 走看看