12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 5413|回复: 13
打印 上一主题 下一主题

[教程] UniSky基本入门操作

[复制链接]

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2012-9-23 16:42:59 |只看该作者 |倒序浏览
pstatus"> 本帖最后由 艾西格亚 于 2013-9-27 01:42 编辑



(来源:Mr.野猪)



上图就是UniSky的制作天空的一个截图。今天呢,我不想在和往前一样,是step by step的方式了,在这里,我利用官网的文档,进行了中文的翻译,并且加上了自己的部分注解。同样希望朋友可以很明白,很快的可以上手去制作属于自己的sky。

UniSky是一个令人瞠目结舌的程序天气插件。他提供了模拟大气视觉效果系统。可以让你快速创建出AAA级别的逼真的天空。



注意:UniSky目前不支持Unity Xbox。



如何设置UniSky?



UniSky很简单就可以导入到你的项目中:



注意:首先重要的是确保你的摄像机可以看到UniSky.修改摄像机的标签为"Solid Color"并且设置颜色为黑色.设置摄像机裁切面大约为100000左右.

1.    第一步导入你选择的包到你的场景中,并且打开文件夹.

2.    在"Resource"文件夹中找到"UniskyAPI"预置,把他拖到你的层次面板.

3.    拖拽你的主摄像机到UniSkyAPI's编辑器UI的"Scene Camera"槽中.

4.    现在你可以实例化并且通过脚本控制UniSkyAPI.

5.    下面的API函数,我都已经给加上了中文注解,想设置什么环境,就加上相应的api函数的调用就ok啦!



API函数/参数



下面是对UniSky参数的介绍,并且都对其进行了效果解释。下面的列表可以再UniSkyAPI.js/cs中找到。

//一天的时间(0到24小时循环)

SetTime(float time);

LerpTime(float time, float milliseconds);

GetTime();



//返回太阳的颜色

GetSunColor();



//启用或禁用太阳和月亮的阴影。类型: "LightShadows.None" 、"LightShadows.Hard" 和 "LightShadows.Soft"

public void SetSunShadows(LightShadows sunShadows)

public void SetMoonShadows(LightShadows moonShadows)



//设置暴风雨云层中心的坐标

SetStormCenter(Vector3 stormCenter);  



//散射半径,他影响着天空的颜色(默认是45000,通常情况下是一个真实的天空)

SetScatteringRadius(float scatteringRadius);

LerpScatteringRadius(float scatteringRadius, float milliseconds);



//主大气层的覆盖是(-5到5)

void SetCloudCover(float cloudCover);

LerpCloudCover(float cloudCover, float milliseconds);



//黑暗的云层,不是暴风雨的大气层。(2-0,越低,云层颜色越深)

SetPrecipitationLevel(float precipitationLevel);

LerpPrecipitationLevel(float precipitationLevel, float milliseconds);



//暴风雨的覆盖层级是(建议是-3.5到-1.0)

SetStormCloudCover(float cloudCover);

LerpStormCloudCover(float cloudCover, float milliseconds);



//雨的数量。没有大暴雨的,但是都是小雨。(任何地方都是从0-1000)

SetRainLevel(float rainLevel, float sfxLevel);

LerpRainLevel(float rainLevel, float sfxLevel, float milliseconds);



//特大暴雨。一片都有雨。(任何地方都是从0-200)

SetStormLevel(float stormLevel, float sfxLevel);

LerpStormLevel(float stormLevel, float sfxLevel, float milliseconds);



//太阳的亮度或浓度。由于黑暗中阴天或暴风雨天(0到0.5)淡入淡出

SetSunIntensity(float intensity);

LerpSunIntensity(float intensity, float milliseconds);



//设置内置雾(0到0.03)

SetFogLevel(float fogLevel);

LerpFogLevel(float fogLevel, float milliseconds);

//设置屏幕图像上滴落的速率(0到5)

SetDropletLevel(float dropletLevel);

LerpDropletLevel(float dropletLevel, float milliseconds);



//设置云的方向,加速度和演化的速度。X=x方向和加速度,Y=y方向和加速度,Z=演化速度(0到1)

SetCloudSpeedDirection(Vector3 speedDirection);

LerpCloudSpeedDirection(Vector3 speedDirection, float milliseconds);



//光晕差异。设置云边缘的照明强度(0到10)。提示:设置为0左右,会有一个很好的卷云效果。

SetGlowVariance(float glowVariance);

LerpGlowVariance(float glowVariance, float milliseconds);



//设置云褪色到大气中的距离(0到20)

SetViewDistance(float viewDistance);

LerpViewDistance(float viewDistance, float milliseconds);





//调节默认颜色。建议RGB的默认值(1.5,1.5,1.5)。如果你想要粉红色或绿色的云:D

SetColorVariance(Vector3 colorVariance);

LerpColorVariance(Vector3 colorVariance, milliseconds);



//如果你想时间自动循环,这个是时间流逝的速度。(0到0.1)

SetSpeedOfTime(float speedOfTime);



//改变光散射到云中,只影响云的颜色。最好是保持他的默认值,40.(-20到100)

SetRayleighLevel(float rayleighLevel);



//如果启用该选项,一天中时间的播放器与系统时钟同步。

SetUseSystemTime(bool enabled);



//改变环境光的颜色。我建议在一天的时间内进行插值或混浊。

SetAmbientLighting(Color ambientLevel);

LerpAmbientLighting(Color ambientLevel, float milliseconds);



//设置月亮的大小

SetMoonSize(float moonSize);



//清除雾滴缓存

ClearDropletBuffer();



//设置打雷闪电的频率。越高越频繁(0到100)。

SetLightningFrequency(float frequency);





重要提醒:

1.    为了避免着色器的问题重要的是保留UniSky的位置和缩放.如果有需要,缩放你的场景或适当的使用脚本来回移动,你不会失去场景的任何缩放.

2.    如果你看不到完整的天空或不能看到月亮,有可能是摄像机剔除掉他了.为了避免这个问题设置摄像机的远切面为一个很高的值(或许100000).一个聪明的解决方案是设置预置体在他自己的层,不会被摄像机的远切面剔除,你仍然可以保持一个更有效的剔除效果.

3.    重分利用太阳和月亮的光和颜色,移除场景中其他直射的灯光并且设置环境光的颜色为灰色或黑色.





看完上面的这些内容,已经学会了如何来制作sky,但是想制作出来一个逼真效果很赞的sky,需要你花点耐心多做些参数细化的设置,搭配出来sky的环境。如果再想有进一步的了解sky的工作原理,亲,那就好好的研究下里面的脚本和shader方面的东东喽!come on!


已有 1 人评分纳金币 收起 理由
wongbeyond + 1

总评分: 纳金币 + 1   查看全部评分

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

沙发
发表于 2012-9-24 23:24:10 |只看该作者
感谢野猪先生的第一手学习资讯!!请大家多多给予鼓励与支持!
回复

使用道具 举报

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38266
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-11-22 20:13:29 |只看该作者
顶,支持野猪教程!!
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-11-23 01:39:53 |只看该作者
学习了,谢谢
回复

使用道具 举报

may    

8830

主题

80

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52328
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

5#
发表于 2012-11-30 03:05:53 |只看该作者
支持楼主
回复

使用道具 举报

Zack    

459

主题

1

听众

5478

积分

高级设计师

Rank: 6Rank: 6

纳金币
5531
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2013-1-30 03:59:44 |只看该作者
本帖最后由 艾西格亚 于 2013-7-15 13:25 编辑

这个教程很不错,推荐一下
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

7#
发表于 2013-7-15 13:25:49 |只看该作者
不太了解Unisky用途的朋友可以参考一下这个教程
回复

使用道具 举报

4

主题

1

听众

631

积分

初级设计师

Rank: 3Rank: 3

纳金币
269
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2013-7-15 14:01:22 |只看该作者
支持支持,希望lz能出更多的翻译。学习了
回复

使用道具 举报

4

主题

1

听众

631

积分

初级设计师

Rank: 3Rank: 3

纳金币
269
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2013-7-16 21:59:10 |只看该作者
好教程 学习了
回复

使用道具 举报

0

主题

0

听众

10

积分

设计初学者

Rank: 1

纳金币
3
精华
0
10#
发表于 2013-7-18 17:53:06 |只看该作者
好资源  谢谢楼主分享
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-6-8 16:17 , Processed in 0.092693 second(s), 36 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部