3D游戏编程期末大作业——粒子系统

本文详细介绍了使用Unity3D创建3D游戏编程期末大作业——粒子系统的过程,包括建立对象、编写C#脚本ParSystem、挂载脚本并设置参数、创建多个粒子环和调整Camera参数以优化视觉效果。通过粒子系统的应用,实现了光环的动态收缩效果,并提供了完整代码链接和参考资源。
摘要由CSDN通过智能技术生成

3D游戏编程期末大作业——粒子系统

1.建立对象

  • 建立一个空对象并命名为System,并在System中建立三个空对象:Collider、out_circle、in_circle。
    建立System

  • 设置Collider的参数并添加Sphere Collider,用于设置控制粒子呈现效果。
    collider

  • 设置out_circle和in_circle的参数并添加Particle System用于呈现粒子效果,这两个物体的参数相同:
    outcircle

其中要通过修改Render中的material来修改粒子的材质,否则无法达到预期的呈现效果:
修改材质

2.编写C#脚本ParSystem

  • 新建CirclePosition结构,用于记录粒子光环的当前半径大小radius、角度angle和时间time,其中时间是游离运动需要的:
public class CirclePosition
{
    public float radius = 0f, angle = 0f, time = 0f;
    public CirclePosition(float radius, float angle, float time)
    {
        this.radius = radius; // 半径
        this.angle = angle;   // 角度
        this.time = time;     // 时间
    }
}
  • 声明ParSystem的各项私有变量,粒子系统和粒子数组是必须的,CirclePosition数组对应每个粒子,也是必须的,还有让粒子光环产生分层感的速度差分层数;另外还需要加入控制粒子收缩的各项变量:
private ParticleSystem particleSystem;                  // 粒子系统
private ParticleSystem.Particle[] particleSystemArray;  // 粒子数组
private CirclePosition[] CirclePos;                     // 极坐标数组
private int speeddiffer = 10;                           // 速度差分层
private Ray ray;                                        // 射线
private RaycastHit rayhit;              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值