Unity3D】【Unity粒子】unity粒子怎么绕圆形转圈

2020-12-31 19:48发布

5条回答
ban_gank
2楼 · 2021-01-03 10:23

在场景中添加一个 Particle System,然后把 Particle System 的 Start Speed 设置为0,把 Shape 的 Shape 设置为 Circle,Radius 设置为 5,Radius Thickness 设置为 0,把 Particle System 的 Duration 设置为 2, Start Lifetime设置为2, Emission 的 Rate Over Time 设置为 100,把Shape的 Mode 设置为 Loop,勾选 Particle System 的 Color Over Lifetime 和 Size Over Lifetime,颜色的透明度逐渐减小为0,Size的大小逐渐减小为0,根据自己需要合理调整即可,把 Particle System 的 Shape 的 Speed 设置为 0.6,根据自己需要合理调整即可。

20200921文 - 做更棒的自己!
3楼 · 2021-11-19 12:23

把粒子发射器加到一个空对象a上,再把a作为子物体加到你想要的物体上,至于拖尾只要你设置的粒子生命周期长一点一般都会有

水默
4楼 · 2021-01-03 18:25

private Vector3 centerPos;    //你围绕那个点 就用谁的角度

    private float radius = 3;     //物理离 centerPos的距离

    private float angle = 0;      //偏移角度  

     

    void Start()

    {

        CreateMosquitoCoil();

    }

 

    public void CreateCubeAngle30()

    {

        centerPos = transform.position;

         //20度生成一个圆

        for (angle = 0; angle < 360 xss=removed>

        {

            //先解决你物体的位置的问题

            // x = 原点x + 半径 * 邻边除以斜边的比例,   邻边除以斜边的比例 = cos(弧度) , 弧度 = 角度 *3.14f / 180f;   

            float x = centerPos.x + radius * Mathf.Cos(angle * 3.14f / 180f);

            float y = centerPos.y + radius * Mathf.Sin(angle * 3.14f / 180f);

            // 生成一个圆

            GameObject obj1 = GameObject.CreatePrimitive(PrimitiveType.Sphere);

            //设置物体的位置Vector3三个参数分别代表x,y,z的坐标数  

            obj1.transform.position = new Vector3(x, centerPos.z,y);

        }

    }

 

    // 生成螺旋   //原理 += 半径

    public void CreateMosquitoCoil()

    {

        centerPos = transform.position;

        // 每隔30度就生成一个小方块  

        for (int i = 0; i < 120 xss=removed xss=removed>

        {

            // 根据原点,角度,半径获取物体的位置.  x = 原点x + 半径 * 邻边除以斜边的比例  

            float x = centerPos.x + radius * Mathf.Cos(angle * 3.14f / 180f);

            float y = centerPos.y + radius * Mathf.Sin(angle * 3.14f / 180f);  

            //我们将obj1初始化为一个Cube立方体,当然我们也可以初始化为其他的形状  

            GameObject obj1 = GameObject.CreatePrimitive(PrimitiveType.Cube);

            //设置物体的位置Vector3三个参数分别代表x,y,z的坐标数  

            obj1.transform.position = new Vector3(x, centerPos.z,y);

        }

    }


我的网名不再改
5楼 · 2021-11-10 13:39

方法/步骤

  1. 1

    打开Unity,新建一个空工程,并且在场景中添加一个 Particle System,具体如下图

    Unity 粒子特效之 环形拖尾的效果的简单实现

    Unity 粒子特效之 环形拖尾的效果的简单实现

  2. 2

    然后把 Particle System 的 Start Speed 设置为0,把 Shape 的 Shape 设置为 Circle,Radius 设置为 5,Radius Thickness 设置为 0,具体效果如下图

    Unity 粒子特效之 环形拖尾的效果的简单实现

    Unity 粒子特效之 环形拖尾的效果的简单实现

  3. 3

    把 Particle System 的 Duration 设置为 2, Start Lifetime设置为2, Emission 的 Rate Over Time 设置为 100,把Shape的 Mode 设置为 Loop,具体如下图

    Unity 粒子特效之 环形拖尾的效果的简单实现

    Unity 粒子特效之 环形拖尾的效果的简单实现

  4. 4

    勾选 Particle System 的 Color Over Lifetime 和 Size Over Lifetime,颜色的透明度逐渐减小为0,Size的大小逐渐减小为0,根据自己需要合理调整即可,具体如下图

    Unity 粒子特效之 环形拖尾的效果的简单实现

    Unity 粒子特效之 环形拖尾的效果的简单实现

  5. 5

    把 Particle System 的 Shape 的 Speed 设置为 0.6,根据自己需要合理调整即可,具体如下图

    Unity 粒子特效之 环形拖尾的效果的简单实现

  6. 6

    运行场景,简单的环形拖尾效果,具体如下图

    Unity 粒子特效之 环形拖尾的效果的简单实现

    END


希希
6楼 · 2021-11-16 10:14

在场景中添加一个 Particle System,然后把 Particle System 的 Start Speed 设置为0,把 Shape 的 Shape 设置为 Circle,Radius 设置为 5,Radius Thickness 设置为 0,把 Particle System 的 Duration 设置为 2, Start Lifetime设置为2, Emission 的 Rate Over Time 设置为 100,把Shape的 Mode 设置为 Loop,勾选 Particle System 的 Color Over Lifetime 和 Size Over Lifetime,颜色的透明度逐渐减小为0,Size的大小逐渐减小为0,根据自己需要合理调整即可

相关问题推荐

  • 回答 17

    还是要学好编程基础呀如果你觉得编程很苦难 不一定要从c#开始学  学学js flash as等等  有个梯度就好多了如果要用好unity  不会编程那是不行的  学习的过程中都有个头疼的过程  记住  头越痛  代表你要接受的东西越多  坚持 你的大脑在和知识兼容中:D...

  • unity如何自学Unity3D 2022-01-06 15:24
    回答 18

    可以先思考学习的目的,是什么因素在驱动你。是完成一款作品?进入某个行业?还是探究某类问题?否则和技术相关的知识浩如烟海,很容易迷失在细枝末节上。而要找到动力源头。个人的经验,就是关注一些和自己同方向,同类型的创作者。他们输出的作品会激励你,...

  • 回答 23

    可以让模型师直接作出这样的形状,如果用纯Unity制作,就要用基本游戏对象拼接了,包括楼梯,城堡,都可以拼接出来。正常情况不会这样做,因为不够精美,都是建模师来实现,毕竟Unity不属于专业的建模软件,侧重于实现功能。...

  • 回答 2

    Shader Unlit/Test{Properties{_MainTex(MainTex,2D)=white{}_MainColor(MainColor,COLOR)=(1,1,1,1)_AddTex(AddTex,2D)=white{}_Maxset(Max,Range(0.1,1.0))=0.1}SubShader{Tags{RenderType=Transparent Queue=Tran...

  • 回答 4

    文章主要为大家详细介绍了Unity Shader实现水波纹效果,文中示例代码介绍的非常详细具体代码实现如下:Shader Custom/shuibowen{ Properties{ _MainTex(Base (RGB),2D)=white{} _distanceFactor(Distancefactor,float)=1 _timeFactor(time factor,float)=...

  • 回答 7

    策划的最基本的原则就是:改进缺点,做别人没有做到的。无论游戏策划还是其它策划都是一样!    游戏策划的第二个原则:放飞思想。也许你认为我是说策划们应该充满想象力,能想一些匪夷所思的东西!对不起。不是这意思!一个合格的策划不是为了发泄自己的...

  • 回答 7
    已采纳

    可以多玩一些其它的游戏,看一些科幻电影等,寻找灵感。

  • 回答 3
    已采纳

    游戏架构与设计不纯粹是一门科学,它不需要提出假设或探究真理,也不被逻辑或正规方法的严格标准所束缚。游戏的目的就是通过玩来获得娱乐,因此游戏设计即需要艺术家一样的创造力,也需要工程师一样的精心规划。游戏设计是一门手艺,就像好莱坞的电影摄像或服...

  • 回答 5

    void Update(){          transform.rotation = Quaternion.Euler(Vector3.zero);}可以试一下,保证物体x轴和z轴为0就可以使其一直垂直。

  • 回答 3

    界面左右移动、上下移动。。本质都是:手指滑动。。。可以参考这些:https://www.cnblogs.com/coldcode/p/5362537.htmlhttps://blog.csdn.net/totosj/article/details/80112852https://blog.csdn.net/zcc858079762/article/details/85253120...

  • 回答 6

    首先新建一个C#脚本,命名为MyFollow,然后把以下代码粘贴进去,保存:AخA 1using UnityEngine;2using System.Collections;3public class MyFollow : MonoBehaviour4{5    public float distanceAway = 5;          // distance...

  • 回答 5

    安装高通的Vuforia插件即可。

  • 回答 5

    不可以,只能一个工程打一个包。

  • 回答 2

    Edit->Project Settings->Graphics 找到Shader Stripping 中fog mode设置为custom(原来是Automatic),然后选中你想要的模式,最后重新打包就ok

  • 回答 2

    用到的插件:System.Drawing.dllSystem.Windows.Forms.dllSystem.Deployment.dll(运用基于.Net4.x的dll打包时,需要用到该dll,否则会报错)代码如下:using System;using System.Runtime.InteropServices;using UnityEngine;using UnityEngine.UI; p......

  • 回答 6

    如下图,设置为none,然后删掉滑动条就可以了。

没有解决我的问题,去提问