zoukankan      html  css  js  c++  java
  • Unity3D_(地形)创建基本场景

    第一人称漫游场景

    地形漫游系统:

     

     

    (自己绘制的GIF文件超过20MB放不上博客园。截取了几张图片)按键盘上的“上下左右”可以控制第一人称的漫游视角

    资源包和项目源文件:传送门

    自己做的项目可执行文件:传送门 

    感谢生命不息bug不止博客:传送门

    学习Unity中Terrain地形属性

      

    第一个按钮是让部分地方隆起或凹陷,按住shift刷就会凹陷,不按就是隆起

      

    第二个按钮用来改变地形高度的

      Brush Size(笔刷大小)

      Opacity(透明度)

      Height(高度)

      

    第三个按钮可以柔化地形的高度差

      

    第四个按钮为地形放上纹理

       

    第五个按钮添加树木

        

    第六个按钮添加草地

    实现过程

    一、绘制地行

      点击最右边在按钮,设置地形在分辨率

      设置Terrain Width(地形宽度)设置为200,Terrain Length(地形长度)设置为200,Terrain Height(地形高度为60)

      在Terrain在Inspector试图中,将Settings下在Brush Size(笔刷大小)设置为100,Highth(高度)设置为5,同时单击Flatten,此时整个地形会向上抬高5个单位

      抬高地形目的:使得在地形上可以往下刷深度

      降低地形高度,用来绘制湖泊。在Terrain在Inspector试图中,单击Terrain下在,设置Brush Size设置笔刷大小,按住Shift按键,可以降低高度

      绘制地形在山脉。在Terrain在Inspector视图中,单击Terrain下在,设置Brush Size设置笔刷大小,单击左键可以拉高地形

     

      导入环境资源包Environment资源

      绘制地形在首层纹理,在Terrain在Inspector试图中,单击Terrain下在按钮,单击Edit Textures按钮,选择Add Texture,在弹出在Add Terrain Texture对话框中安吉Albedo下在Texture2D下在Select按钮,在弹出在Select Texture2D对话框中选择GRockyAlbedo,最后单击Add Terrain Texture对话框下在Add按钮

      绘制其他纹理,按照上一步骤,继续添加CliffAlbedoSpecular在纹理,然后在Textures下选择你该纹理

      添加树木

      点击按钮,点击下面的Edit Trees按钮,选择AddTree选项,在弹出的AddTree对话框中,单击 Tree Prefab,添加Palm_Desktop的树木

    Brush Size 画笔大小 一次性添加多少颗树,要批量添加时调大
      Tree Density 树的密度 控制树的密度
      Tree Height 树的高度 后面有个Random的选项,是否随机的意思,选中后可以选一个范围高度,然后添加的树的高度在这个范围中随机高度 (现实中树怎么可能都一样高)
      Lock Width to Height 是否锁定树的宽度和高度(和图片一样,拉伸就不好看了)
      Random Tree Rotation 是否随机树的方向(树有的会长歪,随机歪向一个方向)
    添加树木属性:

    点击按钮,肯上一步一样,选择要添加草皮在属性

     在Add Grass Texture中把Min Width设置为0.3,Max Width设置为0.5,Min Height设置为0.3,Max Height设置为0.5,

    (考虑到性能消耗问题,unity默认设置,调试模式下草地在超出一定高度后就无法看到,但是最终作为游戏运行时是可以看到的)
     
     
     
     接下来添加水的效果,创造湖泊。在Water(Basic)文件下→ Prefabs其中有两个水效果的预设体,将WaterBasicDaytime拖到地形的大坑中,名字改为Water
     
    通过缩放按钮 拉伸水的大小,填满整个大坑,然后通过移动按钮把水向上移动到合适的高度
     
     
      
    二、导入外部资源
     
    Assets → import package → custom package,然后找书带的学习素材,选chapter06中的house.unitypackage,单击 打开 按钮,弹出导入的对话框,单击 import 按钮,完成导入
     
     
     
      导入天空资源盒包。依次选择菜单栏在Assets->Import Package->Custom Package命令,选择Skyboxes.unitypackage
     
      添加天空盒。依次选择菜单栏中在Window->Lighting命令,在Lighting视图在Scene选项卡,单击Skybox右侧按钮,在弹出在Select Material对话框中选择Sunny1 Skybox
     
     
     
    三、添加第一人称角色和控制添加角色和控制
     
      导入角色资源控制器资源包。依次选择菜单栏中的Assset->Import Package->Characters命令,在弹出Importing package对话框中右下角的Import按钮,导入资源到项目
     
      在Project视图中,依次打开文件夹Assets->Standard Assets->Characters,可以看到Characters文件夹下有FirstPersonCharacter第一人称控制器,如下图
     
      将FirstPersonCharacter->Perfabs文件夹中的RigidBodyFPSControlle预设体拖动到Scene视图中,便完成了第一人称控制器
     
     
     
     
     
     
    (如需转载学习,请标明出处)
  • 相关阅读:
    原型模式
    简单工厂模式与工厂方法模式
    监听器 Listener
    代理模式
    装饰模式
    软件设计的原则
    事务的特性和隔离级别
    JDBC事务(三)ThreadLocal绑定Connection
    JDBC事务(二)转账示例
    JDBC事务(一)
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9323016.html
Copyright © 2011-2022 走看看