怎么在unity3d创建一个地形terrain

怎么在unity3d创建一个地形terrain,第1张

控制角色移动播放动作或者其他逻辑则需要给这个橘色节点绑定逻辑脚本,UNity支持多种脚本语言,在此是用JAVA脚本
创建 脚本Assets --; Create ----; JavaScript 创建一个空的逻辑脚本,并将这个脚本绑定在主角对象身上,绑定方式是直接拖拽到主角节点即可。
对脚本的编写:
类及接口主要参照帮助文档,这里只介绍脚本基本结构和简单示例:
每个脚本至少都有两个函数: function Start() 可以认为是初始化 function Updata()则是每帧更新函数。
要实现对角色位置的控制移动首先要定义该角色,
首先 定义GameObject对象也就是要控制的目标: private var _MainRole:GameObject;;
在function Start() 函数中初始化该对象: inRole = GameObjectFind(MainRole); // 从场景中查找到名叫MainRole的对象也就是主角。
在每帧更新时侦听键盘事件,如果按键按下W则空对象向前移动
if(InputGetKey(KeyCodeW))
{
_MainRoletransformTranslate( Vector3forward 005 );
}
至此,就已经完成按键控制角色移动的全部过程,运行游戏就可以用按键控制角色移动。

2020-05-05
项目需要把真实地形导入Unity。
获得真实地形的方法可以是去一些免费地理网站上获取,比如网上说的很多的tarrainparty,
我们这里用激光雷达扫描地形,得到点云数据,生成DEM(数字高程模型)的。

导进来就OK了

在ArcScene中基于3种数据集(地形栅格、TIN和多面体)进行显示。

多面体形成的立体图的底部是基于两个TIN之间拉伸的结果,缓冲区多边形是拉伸过程中的输入要素类。事实上,这就是做一个高程栅格边缘的2D多边形缓冲。按照下列步骤,做这样一个地形图:

从DEM创建TIN。(你也可以在ArcGIS10中创建一个地形)

2使用栅格域工具来创建一个高程区域的多边形。

3使用要素类转要素类工具(禁止使用环境设置中Z值)。

4缓冲多边形来(例子中的缓冲距离为1米)扩展外边区域。

5添加字段,并指定基础高程。(这取决于数据,我选择了1310底高程为海拔栅格值1200。)

6从一个新的多边形创建TIN,并基于新字段制定一个硬线。

7使用拉伸工具创建多面体。

8打开ArcScene,添加加强显示效果的多面体和栅格数据。

9右键单击目录内容中的栅格数据。选择“属性”>“基础高程”,并选择你使用的TIN。

10选择三维效果工具条,选择多面体,设置多面体的显示优先级要低于栅格数据。

1,编译上边的程序,需要classpath中加入slf4j-api-141jar文件
2,运行时,需要classpath中加上slf4j-simple-141jar 运行得到结果:这个是simple log风格,
3,切换:如果想切换到jdk14的log的风格,只需要把slf4j-simple-141jar 从classpath中移除,同时classpath中加入slj4j-jdk14-141jar 这时的运行结果已经变成jdk14的log风格了。
4,再次切换到log4j,同样移除slj4j-jdk14-141jar,加入slf4j-log4j12-141jar,同时加入 log4j-12xjar 加入log4jproperties。

Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac 和Windows的网页浏览。它的网页播放器也被Mac widgets所支持


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12874017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存