Posts Tagged ‘Unity’

Unity3D中Animation的初级使用方法及技巧

星期四, 十二月 27th, 2012 6,379 views

这一节说一下如何使用Unity的Animation编辑器控制GameObject的一些动画效果。并简述如何为Animation添加Event事件的方法。
首先,先创建一个Gameobject例子,这里我们还是Create 一个 Cube好了。


(更多…)

Unity3D自动匹配摄像机全方向公告板

星期三, 十二月 19th, 2012 125 views

项目需要在GUI上做一些特效,按道理应该是直接做2D序列帧动画,然后GUI播放的,但是介于美术实现的时间原因,决定用例子来做UI特效,但是目前遇到难题是GUI不能加载粒子。
所以决定运用公告板来虚拟一个UI,脚本代码如下:

FaceToCamera.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using UnityEngine;
using System.Collections;
using System;

public class FaceToCamera : MonoBehaviour
{
    public Camera _camera;
    public float _z = 5.0F;//纵深
    public float _x = 1.0F;//相对中心点x偏移
    public float _y = -1.0F;//相对中心点y偏移

    void Update()
    {

        _camera = Camera.current;//获取当前摄像机
        if (!_camera) return;

        transform.rotation = _camera.transform.rotation;//将对象角度与摄像机统一
        transform.position = _camera.transform.position;//将对象移动到摄像机当前位置

        transform.Translate(Vector3.forward * _z);//纵向推远,否则看不见
        transform.Translate(Vector3.right * _x);
        transform.Translate(Vector3.down * _y);

    }  
}

以上代码即可完成一个自动匹配摄像机的全方向公告板,即便摄像机来回切换Gameobject也会自动匹配上摄像机。唯一缺陷是该公告板不停刷新,可能会在某些极端情况下出现闪烁。

该Cube仅用于测试,此脚本适用于任意的Gameobject。

BeiTown
2012.12.19

Unity3D粒子系统的使用

星期二, 十二月 18th, 2012 305 views

先从最简单的粒子特效做起,点击[GameObject]->[Create Other]->[Particle System],此时在场景中创建一个粒子系统。如下图所示:

选中场景中的粒子系统,点击[Component]->[Effects]->[Legacy Particles]->[Ellipsoid Particle Emitter] 以及 [Particle Animator] 为粒子系统实例分别添加粒子发射器和粒子动画器。
如下图:
(更多…)

在C#调用DLL包(U3D同理)

星期四, 十二月 13th, 2012 70 views

本文简单说明一下如何在Unity3D中调用一个DLL包,用法和C#调用一个DLL包一样,由于比较简单这里就直接上代码吧

1
2
3
4
5
[DllImport("DLLNAME")]//DLLNAME为dll包的名字,不需要加.dll后缀
static extern void TestFun1();//定义一个DLL包中的方法TestFun1
[DllImport("DLLNAME")]
static extern void TestFun2();//定义一个DLL包中的方法TestFun2
...

之后在代码中直接调用TestFun1() 和正常的C#函数一样使用即可
关于DLL包的放置位置,如果是C#中,和.exe执行文件同一个目录下即可
在Unity中应将DLL文件放置在 Assets\Plugins 文件夹下,没有就自己创建一个
就说到这里吧,本文意在分享,欢迎指着交流

BeiTown
2012.12.13

Unity3D几种透明(Alpha)效果实例

星期五, 十一月 30th, 2012 2,507 views

熟悉图像处理的朋友应该知道对一个对象透明效果的处理是通过调整其Alpha值来实现的
在Unity中我们通常通过调整对象的Alpha值来实现一些基础的半透明效果,以下分别针对GameObject以及GUI的来进行说明

先从GameObject的半透明效果:

①新建一个Cube对象

②拖一张图片至Project窗体中

③直接把图片拖拽至于Cube对象上,为Cube附上Texture 效果如下


(更多…)

Unity3D音频播放动态加载组件

星期三, 十一月 28th, 2012 934 views

网上大多数Unity教程只讲述了如何在Unity里播放音乐,如何通过拖拽添加音频文件之后就没有继续了
但在游戏中有时候一个对象需要播放好几种声音,这个时候我们就需要用代码进行控制,教程上推拽给AudioClip赋值的方法就显得不是那么实用了
所以本篇将重点讲述如何在Unity中创建一个最简化的音频播放器,并通过代码进行动态加载与播放

①创建一个Empty对象 点击菜单栏[GameObject]–>Create Empty 命名为Audio

②选取这个空对象 点击菜单栏[Component]–>Audio–>Audio Source 这样就在场景里创建了如图所示的一个喇叭

(更多…)