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);
            } 
    }
  • 相关阅读:
    【JS】 Javascript 入门
    【CSS】 CSS的一些应用实例和参考
    【CSS】 CSS 定位
    【泛泛】 不知道怎么分类的豆知识
    【CSS】 CSS基础知识 属性和选择
    【HTML】 HTML基础知识 表单
    【HTML】 HTML基础知识 一些标签
    【Linux】 文本比较工具 diff和cmp
    php -- or 的用法
    php -- 检查是否存在
  • 原文地址:https://www.cnblogs.com/SHOR/p/4895861.html
Copyright © 2011-2022 走看看