Unity 您所在的位置:网站首页 cc补充光整画龙 Unity

Unity

2023-06-16 15:53| 来源: 网络整理| 查看: 265

本博纯属回顾之前学习的知识,掌握Unity基本的操作,不具有普适性。大神绕道。

大吉大利,今晚吃鸡!!!是不是玩过吃鸡游戏,那主角怎么就能在那么大个地儿跑的那么欢畅呢?还能躲在房子里,还有能量可以补充,还能开心的相互射来射去?恩?这是什么描述?- - 。。。不如叫大吉大利,今晚赤激吧。

所以,地形是怎么创建的?那些个玩意儿怎么整出来呢?额??越说越不像正经人了。今天还是个正经的博主么?可能已经疯了吧orz,下车!

今天我们要用Unity自带的地形编辑器工具构建一个美丽的小岛,我们在这美丽的小岛上喝着啤酒,唱着歌儿,晒晒太阳,蹦蹦迪,为后面的“赤激”打下基础。。嗯,博主你这样很危险!!!你会被和谐的!!!!

思路,看到了没,这就是想象很丰满,现实很骨干,就像博主想要小哥哥一样扯淡。。摔!咱不要小哥哥了,咱要小叔叔!!没错,深夜12点,小婶婶又开始胡言乱语了。。:

ok,先说好,Unity几乎啥都有,是个聚宝盆,连地形都有。

然后来看这个地形的Inspector面板,具体这些个功能都有啥,反正有提升高度的,降低高度的,柔和边缘的,种植树木花草的。是不是觉得Unity把图形学的地形建模这块都囊括了。简直惊叹啊:

在铺设纹理时,有一点特别重要:就是你添加的第一种纹理,会自动地作用在整片地形上。当你意识到这一点,你要确保你添加到检视面板的第一种纹理是我们地形的主要纹理。

此外,我们在创建游戏工程的时候,导入了地形资源包(Terrain Assets),这个资源包中就有我们所要的地形纹理,下面我们把这些纹理加入到检视面板中。

点击检视面板中Terrain选项栏中的Edit Texture(编辑纹理)按钮,在弹出菜单中选择Add Textures(添加纹理),我们把我们需要的4种纹理添加到检视面板中。

当你点击Add Textures时,将会弹出一个对话框,选择Texture栏中的Select按钮打开纹理选择窗口,在该窗口的众多选项中选择Grass(Hill),并且保持Size和Offset的默认值,因为纹理将被应用到整个地形上,小的数值让小草的纹理更加细致,然后点击Add确定导入。

重复上面的步骤,把其它三种纹理GrassRockyAlbedoGoodDirt、Cliff(Layered Rock)添加到检视面板中。注意其中Cliff(Layered Rock)纹理的Size的x、y属性全都改为70,其它的纹理则保持默认值。而接下来的纹理,就需要我们手动粉刷。

你看到RGB了没,看到Texture2D了没,其实这个纹理其实就是RGB图贴上去,就是贴图啦。。。总之这些东西很简单,你试着试着就出来了,作为手残党,当看到自己调出来一个长满青草绿树的小岛时,我仿佛看到了又一个大触明星在冉冉升起,没错就是本尊!

下面是带光晕的太阳,虽然在Unity里面设置非常简单,但是在图形学里,这些个特效可是用了什么各种和光有关的函数写出来的啊呜呜呜:

如果之前你没有建立一个光源,此时需要在层次面板点击Create按钮,选择Directional Light(平行光),这时我们场景中便有了一盏平行光。平行光是从一个方向照射到另一个方向,只有投射的光线才能被看到。由于我们在本实验中要用它来模拟太阳,因此我们要对它使用镜头光晕特效。

在检视面板中调节Directional Light的位置为(0,250,-200),为了让它更好地照射在小岛地形上,我们把绕X旋转设为30,设置光强(Intensity)为0.8。

下一步,为了模拟太阳,我们将使光源变得可见。要做到这一点,我们将使用镜头光晕特效。在Unity顶部菜单选择Assets | Import Package |Effects导入资源包,在弹出菜单中选择Import完成导入(如果之前已经导入了就不需要了)。

然后在层次面板中选择Directional Light,在检视面板点击光源组件的Flare设置右边的圆形选择按钮,在弹出的对话框中双击选择Sun,完成操作。这时运行程序时应当能够看到带光晕的太阳了。

天空盒:

在创建3D环境时,我们用一个天空盒代表地平线的远方。一个天空盒是由Cubemap构成的,Cubemap是在一个立方体里面放置的6个纹理,使得它们无缝衔接,作为游戏的天空和地平线。Cubemap始终存在于3D世界中,跟现实的地平线一样远不可及。

在顶菜单栏中选择Window | Lighting。这时检视面板中会出现渲染设置面板,在Skybox Material(天空盒材质)选项的右边点击圆形按钮,

在弹出的选择材质对话框中选择Default-skybox,这是我们的场景便有了蔚蓝的天空。哇!

海水:

我们构建好海滩之后,应该在小岛的四周加入海水了。Unity免费版中的水其实是把一个动画材质应用在物体表面,从而得到流动的效果。Water(Basic)Assets资源包为我们提供了2个现成的水材质,在工程面板选择Standard Assets | Environment | Water(Basic)| WaterBasicDaytime.prefab,把它拖到我们的场景视图中,修改它的位置(250,4,250)我们把水材质放在了小岛的中心,并把高度调为4,这样就覆盖了我们的海床。然后我们把它的Scale的X、Z属性增大到1600,从而使得小岛被海水包围。(YG: 你离近了就能看出水面的动态波澜效果。不过如果你进入水面一下就会看到原先的地面,没有一个在水体中的那种感觉了。)

(YG: 注意水是作为一个预制的物体加入的,是一个圆形的片。)

看到了没,就是这么简单~!!!但是在图形学里还有专门的研究方向叫做流体模拟!!!就是学术大佬搞出来的算法,然后我们直接用了!!!!

角色:

还记得之前写过的第一人称设计角色的雏形那个博客吗?就是拿相机做了第一人称。这里我们还用第一人称。但是我们用的是Unity的FPS控制器!没错就连这个Unity都给封装好了!!

在Characters/FirstPersonCharacter/Prefabs/FPSController.prefab。

由于角色控制器自带相机,现在我们不再需要创建工程时自带的Main Camera了。在层次面板选中它,delete删除。感谢它陪伴了我们这么久!(YG: 其实也用不着删除Main camera,只要在inspector面板中将其前面的对勾去掉即可)

 

好了!!!既然啥都Unity给做了,那我们就看看这个第一人称能不能到处走动走动吧!!

点击Play按钮,现在你可以通过键盘上的W/S/A/D键来实现走动,通过鼠标转动来改变角色行动方向和视角。当你调整到太阳的方向就可以看到太阳光晕的效果。当你对测试结果满意时,先按esc键,这样就会有鼠标了。再次点击Play按钮退出播放模式。

 

牛批!!!我还可以跳呢!!!

 

来,让我们遨游在这美丽的小岛上,开始幸福的一天吧!!

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有