CityEngine数据导入及规则使用常见问题

针对当前CityEngine群里大家比较关心的几个问题,统一列出来希望对大家有帮助。
1. 拖放规则后提示没有初始规则,其错误如下:
报错的原因:规则中有错误。
检查的方法:打开规则编辑器查看规则中有红叉 标识的部分。

错误的一般形式
1) 中文符号引起的错误,下例是由于函数中存在中文标点符号引起的。
说明:在CityEngine的规则编写中与其它程序语言一样中文的字符、标点符号只能出现英文双引号内,或者出现在注释里,否则就会报错。
2) 引用函数的参数值不是参数的可选值。如下例:
scope.x并不是setupProjection函数的axesSelection参数的可选值所以会报错。
说明:当引用函数的参数值个数不对时,规则会认为是一个新的模型标识并不会报错。
3) 条件语句/随机语句缺少else。如下:
4) 随机语句除else以外的百分数的和超过100%。如下:
5) 引入未定义属性。如下:
CityEngine引入的属性必须是提前定义(attr、const或无前缀定义)。

当发现有错误提示时,针对其错误的类型选定解决方案。

2. 构建场景加载矢量数据时提示距离过远,其所报错误如下:
CityEngine是基于空间参考进行建模的(采用投影坐标),其涉及到场景坐标地形影像坐标矢量数据坐标。当三者采用的投影坐标系或者其位置偏差较远时都会报此错误。一般我们遇到错误主要是以下几种情况造成的:
1) 影像缺少位置信息。以tiff格式的影像地形为例,缺少影像坐标信息的文本文件(tfw文件)。CityEngine通过读取坐标信息文本文件记录的位置信息对其正确定位。tfw文件中各信息代表的意义如下:
当没有这些信息时,CityEngine在读取影像数据时,影像的范围即XZ的大小分别对应影像的行列数,X-offset值为0,Z-offset的值为负的Z-Size。
2) 矢量数据与场景数据的投影坐标系不一致

避免出现此类问题,在进入场景做一下准备工作:
1) 数据加载到ArcMap里检查所有的数据位置是否一致;
2) 检查数据的空间参考信息(必须是投影坐标),国内的数据坐标值一般X是6位,Y值 是七位;(注:参考信息可以是UnKnowen,这种情况下创建场景时就不要选择坐标系)
3) 检查影像地形数据是否带坐标信息文件。

当满足上述条件时,在创建场景时选择相应的投影坐标系,就会避免距离过远的错误提示。

3. 静态模型导入时距离过远,其提示错误信息如下:
如果直接文件导航窗口中拖动的话说明模型自身带有坐标值,即模型中心坐标不是(0,0)。这种情况下就无法把模型放到你拖动的位置,如果中心坐标过大时就提示该错误。

如果要导入带有投影坐标的静态模型(obj格式的)可以选择File->Import…OBJ Import进行导入,这样就能保证模型能正确导入。

说明:如果利用规则或直接通过文件导航窗口拖放到场景还要注意以下事项:
1)模型的中心坐标应为(0,0,0);
2)建筑模型方向应与建筑底面方向一致;
3)部件模型如路灯等应保持灯头的方向一致以方便规则的编写。

4.3Dmax导出的obj模型,导入CityEngine没有纹理

解决办法:

1)从3Dmax导出模型为dae,再导入CityEngine

### 关于Unity动画系统 Unity 动画系统是一个强大的工具集,旨在帮助开发者创建复杂的角色动画和其他动态效果。为了更好地理解如何使用 Unity动画系统,可以从以下几个方面入手: #### 1. **Animator 组件** 当在场景对象上添加 Animator 组件时,如果没有指定 Animator Controller,Unity 将会按照默认逻辑运行特定流程[^2]。这通常意味着需要手动配置 Animator Controller 来定义状态机和过渡规则。 #### 2. **Animator Controller** Animator Controller 是 Unity 中管理动画的核心文件之一。它允许用户通过可视化界面设置动画状态及其之间的转换条件。要实现复杂的行为模式,可以利用混合树(Blend Trees)、参数驱动的状态切换等功能。 以下是简单的脚本示例,展示如何访问并控制 Animator 参数: ```csharp using UnityEngine; public class Example : MonoBehaviour { private Animator _animator; void Start() { _animator = GetComponent<Animator>(); // 设置浮点型参数 _animator.SetFloat("Speed", 0.7f); // 触发布尔值变化 _animator.SetBool("IsRunning", true); } } ``` #### 3. **官方文档资源** 对于初学者而言,《User Guide》部分提供了关于 Unity 接口、资产工作流以及游戏构建的基础介绍[^3]。建议从 “Unity Basics” 子章节开始学习,逐步深入至更高级的主题如动画系统教程。 另外值得注意的是,尽管两份描述略有差异,但它们都强调了手册作为全面指导的重要性——既可以顺序阅读也可以按需查阅[^1][^4]。 #### 4. **常见问题排查** 如果遇到具体的技术难题,比如动画无法播放或者预期行为不一致,则应检查以下几点: - 是否正确关联了 Animator Controller 文件? - 所有必要的触发器/参数是否已被正确定义并在代码中调用? ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值