• 自己手写可不容易,因为需要利用《【Unity3D】Mesh》(点击打开链接)将一个物体分解成个碎片,然后再写一系列的方法。此时可以利用到Unity3D的一个插件Fracturing & Destruction,官网上60美金,但用和谐的我,也...

    如果要想做到如下图的爆裂、炸裂、碎裂效果特效:


    自己手写可不容易,因为需要利用《【Unity3D】Mesh》(点击打开链接)将一个物体分解成多个碎片,然后再写一系列的方法。此时可以利用到Unity3D的一个插件Fracturing & Destruction,官网上60美金,但用和谐的我,也给大家上传了一份:http://download.csdn.net/detail/yongh701/9845202

    上述例子具体实现方法如下。

    一、场景布置

    1、基本的几何体设置如下图所示,没啥好说的。


    2、之后导入Fracturing & Destruction 1.11.unitypackage组件。


    3、之后可以如图【Create Other】->【Ultimate Game Tools】->【Fractured Object】添加一个Fractured Object。


    4、对于Fractured Object设置如下图所示,Source Object就是要被碎裂的物体,Start Static勾上是指一开始不碎裂。Chunk Physic Material选择Rock也只有这种可以给你选。Fracture Method有两种,一种是BSP,是严格地按照方框装切割物体,表现的碎裂的方式是物体内部的张力较大,就是你手撕鱿鱼片的感觉,对于普通物体不太真实,但耗资源少。这里选择Voronoi这种方式,同时在Cells in Local XYZ增大倍数,意思在XYZ方向上产生更多的碎片。Interior Material应与这个墙的材质保持一致。


    设置完毕,点击Compute Chunks计算碎片。这里的Cells In Local X Y Z设置9x9x9=729块碎片,如果机器配置不行或者Unity3D版本低可能会报错或者死机,修改为4x4x4=64块碎片,重新点击Compute Chunks计算碎片。询问是否将原来的模型隐藏,选择是,然后就会形成一个又无数子模型组成的原模型来替代。如图所示。


    5、之后给球【Componet】->【Physics】->【Rigidbody】加上一个刚体属性。并且同时调大球的质量为10,让它足够重去撞碎这堆墙。之后就可以开始脚本的编写。


    二、脚本布置

    给球加上如下的一个简单脚本Push.cs,就能看到效果。

    using UnityEngine;
    using System.Collections;
    
    public class Push : MonoBehaviour
    {
    
        void Start()
        {
            rigidbody.velocity = new Vector3(0, 0, 50);
        }
    
    }
    
    很简单,就一行的力,这里只是让球有一个向墙的、极高的初始速度,足以像子弹一样将墙撞碎。不要用《【Unity3D】用鼠标点击事件、AddForce完成跳跃与二段跳》(点击打开链接)加力的方式,因为根据牛顿第一定律,物体是有惯性的,给物体就算加再大的力,也很难在初始得到如此高的动能,你只是能得到一个很高的加速度罢了,得不到这种效果。

    而且这里的速度不能设置得过高,因为如果速度过高,Unity3d会有Bug,认为这个球在瞬间会有极高的位移,出现球穿墙的bug。Unity3d的物理引擎认为就是像你迅速挪动桌布一样,不会对桌面上的物体有任何影响,球也是无法击碎墙的。

    展开全文
  • 为了避免脚本占用太多的资源,我们只是在需要的时候将其附加到物体上,一旦操作完成就将脚本从物体上删除。 为物体添加脚本的方法如下: GameObject go = GameObject.FindGameObjectWithTag("tagname"); go....
  • 如果要想做到如下图的爆裂、炸裂、碎裂效果特效:自己手写可不容易,因为需要利用《【Unity3D】Mesh》(点击打开链接)将一个物体分解成个碎片,然后再写一系列的方法。此时可以利用到Unity3D的一个插件Fracturing...
  • 一部分的目录东西太多了 行为控制脚本 鼠标的路线 Unity3D教程:游戏玩家服务器的制作 Unity3D教程:实例化 JS脚本控制逐渐淡出的欢迎界面 Unity3D教程:界面插件NGUI的使用 (2) 脚本控制物体的变换 脚本的运行顺序...
  • 各位朋友,大家好,我是秦元培,欢迎大家关注我的博主,我的博客地址是blog.csdn.net/...本文采用的方法依然是在[Unity3D]Unity3D游戏开发之自由视角下的角色控制这篇文章中所采用的方法,所以如果大家对于这部
  • 今天我们来说说通过反编译Unity3D的AssetBundle来提取游戏资源,博主写这篇文章的目的并非是要教大家如何去破解一款基于Unity3D引擎开发的游戏,而是想通过今天这篇文章来告诉大家如何在开发Unity3D游戏的过程中保护...
  • unity3d 各大插件评测 2018-01-30 15:00:43
    原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 引言:想用Unity3D制作优秀的游戏,插件是必不可少的。工欲善其事必先利其器。本文主旨是告诉使用Unity3D引擎的同学们如何根据需求选择适当的工具...
  • 在使用unity 3d制作游戏的时候,大部分情况发我们无论在Npc,还是Player上挂载很不同功能的碰撞器,例如在射击类游戏中,当玩家走过去,需要一个检测是否进入寻找范围的碰撞器,同时,我们需要一个检测是否进入...
  • 一个物体下,不一定只有一个碰撞体,本人在做一个项目的过程中,遇到了一个物体加了几十个至上百个碰撞体,如果想让碰撞体变成触发状态,不可能一个一个的点过来,所以写了个脚本进行遍历的调整。 遇到的情况如下...
  • Unity3D占用内存大的解决方法 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是...
  • 刚刚接触Unity3d的童鞋花了大量的时间自学,可总是把握不好Unity3d的烘焙,刚从一个坑里爬出来,又陷入另一个新的坑,每次烘焙一个场景少则几个小时,则几十个小时,机器总是处于假死机状态,半天看不到结果,...
  • Unity3d导入模型尺寸问题 2017-03-09 20:21:24
    大家都知道,Unity3D系统单位是米,所以当我们用3dmax建模的时候也要一开始就把单位设置成公制单位米 虽然这样做已经和Unity3d里面的单位统一啦,但是,3dmax导出fbx到Unity3d中去的时候单位比例却会发生变化,...
  • 本篇博客给读者介绍关于如何实现模型的变形,在项目开发中经常会涉及到模型的变形操作,比如如下效果图: 第一部分准备工作 首先在Unity中建立一个场景,在场景中放置一个球体,这个球体可以使用Max工具建立,在球体...
  • [unity Button旋转](unity3D Button应用 长按按钮实现物体的旋转,松开时停止旋转) using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using ...
  • 最近开始研究Unity3D游戏场景优化,每次提及游戏优化这个话题的时候,我的脑海中都会浮现出《仙剑奇侠传六》这个让四路泰坦都光荣陨落的神奇游戏,作为一个使用Unity3D引擎进行游戏开发的仙剑玩家,我曾经天真的以为...
  • 一部分的目录东西太多了 行为控制脚本 鼠标的路线 Unity3D教程:游戏玩家服务器的制作 Unity3D教程:实例化 JS脚本控制逐渐淡出的欢迎界面 Unity3D教程:界面插件NGUI的使用 (2) 脚本控制物体的变换 脚本的运行顺序...
  • 博主本来计划在Unity3D游戏开发之从《魂斗罗》游戏说起(上)——目标追踪这篇文章后再写一篇《Unity3D游戏开发之从《魂斗罗》游戏说起(下)》,不过目前博主的项目进度有些缓慢,所以想等项目稳定下来以后再和大家分享...
  • 最近要简化一些模型,由于面数太多而且模型子物体也特别多,就找了个插件 SimpleLOD。(asset store可以搜到) 此插件主要功能是 1.合并模型(若顶点数超过unity单个Mesh 65535个顶点限制的话,会自动生成多个子...
  • Unity3D常见面试题 2017-08-11 20:20:00
    Unity3D常见面试题
1 2 3 4 5 ... 20
收藏数 4,850
精华内容 1,940