Unity 3D 学习——NO.6(进行优化)

本文介绍了一种称为遮挡剔除的技术,该技术通过在物体进入渲染流水线前剔除摄像机视角不可见的物体来减少渲染数据量。在场景物体密集时特别适用,能够有效降低渲染负载。

Occlusion Culling(即时遮挡剔除)
减少渲染数据数量。
当物体被送进渲染流水线之前,将摄像机视角看不见的物体进行剔除,从而减少渲染数据量。
在场景中物体分布密集时,适用遮挡剔除。
在这里插入图片描述
在这里插入图片描述
离物体近,则显示较为精细的模型,距离物体远,则显示粗糙的模型,减少渲染量,可是占据内存(多了好几个模型)

### 如何在 Unity3D 中实现强化学习 #### 使用 Unity ML-Agents 工具包设置环境 为了使 Unity 环境能够支持机器学习UnityEnvWrapper 将 Unity 环境保存为二进制文件。加载此环境需调用 Unity ML-Agents 的 Python API;具体来说,`UnityEnvironment` 接口接受环境名称作为输入,并提供一个用于互动的环境实例对象[^1]。 ```python from mlagents_envs.environment import UnityEnvironment env = UnityEnvironment(file_name="path_to_your_build", no_graphics=True) ``` 接着,通过 `UnityToGymWrapper` 对象封装上述创建的环境实体,从而兼容 Ray RLLib 和 SageMaker RL 所需的数据结构形式,使得这些平台能顺利处理来自 Unity 场景的信息流。 #### 配置 MyLauncher 类启动训练过程 MyLauncher 继承自 SageMakerRayLauncher 抽象基类,旨在让 Amazon SageMaker 平台上的应用程序得以运用 Ray RLLib 进行分布式计算资源下的高效模型训练工作。在此上下文中定义了若干关键属性与方法来描述待解决问题域内的动态特性——比如注册可供使用的仿真场景及其内部逻辑规则集、设定初始参数表单(如折扣系数 gamma、学习速率 alpha)、指定最大轮次限制等超参数配置项。 ```python class MyLauncher(SageMakerRayLauncher): def register_env(self): from ray.tune.registry import register_env from unity_wrapper import UnityToGymWrapper env_name = "your_environment_name" def create_unity_env(env_config={}): return UnityToGymWrapper(UnityEnvironment(...)) register_env(env_name, create_unity_env) def get_experiment_spec(self): spec = { 'training': { ... }, 'evaluation': { ... } } return spec ``` #### 实施 PPO 强化学习算法优化决策制定流程 考虑到 Policy Gradient 方法可能存在的收敛速度慢及稳定性差等问题,PPO 提出了改进措施以确保每次更新都能朝着更优解前进而不至于偏离太远。该技术特别适用于连续动作空间的任务模拟环境中,因为它允许代理基于历史经验调整未来行动倾向度量值,进而逐步逼近全局最优策略方案[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值