返回介绍

3ds Max 帮助

3ds Max 帮助归档

修改参数块

发布于 2022-07-23 00:47:10 字数 2432 浏览 0 评论 0 收藏 0

可以编辑 MCG 工具的“自定义 UI”属性来扩展自动生成的参数块,并覆盖参数事件处理程序或创建其他参数块。

例如,可以添加图形中不存在、但用于自定义 MAXScript 代码中其他位置的参数。还可以覆盖参数事件处理程序,例如,对于图形中的列表参数。

为此,请重新打开参数块进行必要的修改。请注意,此操作不会完全覆盖上一个块。尤其是,重新定义现有参数将产生错误。

例如,以下是使用单个列表参数为图形自动生成的参数块:

	parameters pblock rollout:params
	(
		MyList_Tab type:#floatTab tabSizeVariable:true
		on MyList_Tab tabChanged action index count do
		(
			if (paramsOpen) do mcgAPOps.FloatA_TabChanged action index count (this.params.MyList_UI) MyList_List MyList_Tab
		)
		on MyList_Tab set val index do
		(
			if (paramsOpen) do mcgAPOps.FloatA_TabSet val index (this.params.MyList_UI) MyList_List
		)
		_dummy type:#boolean -- this exists to enable easy invalidation of the object
		pluginGraph type:#filename assettype:#MaxCreationGraph readOnly:true enumAsAsset:true 
		pluginGraphDependencies type:#filenametab assettype:#MaxCreationGraph readOnly:true enumAsAsset:true tabSize:0 tabSizeVariable:true
	)

可以通过编辑“自定义 UI”属性来添加参数并覆盖参数事件,如下所示:

 -- Reopen the parameter block
 parameters pblock rollout:params
 (

  -- Add to the parameter block
	 MyExtraParam default:0 type:#float

	 -- Override the event handler for adding or removing an item in MyList
  on MyList_Tab tabChanged action index count do
  (
 	 -- my custom code goes here
  )

	 -- Override the event handler for setting a value in MyList
  on MyList_Tab set val index do
  (
 	 -- my custom code goes here
	 )
 )

	rollout params "Parameters"
	(
  
  -- Restore the default rollout contents   
<<ParamUIDefs>>
<<RolloutParamsHanders>>

  -- Add UI for added parameter if desired
  spinner MyExtraParam "My Pretty Name" range:[-100, 100, 0] type:#float


  -- Redefine the rollout event handlers (not included in ParamUIDefs)
		on params open do
		(
			paramsOpen = true			mcgAPOps.OneColParamsOpen MyList_UI MyList_Tab mcgAPOps.ToStringFunc #("MyList") selected:&MyList_selection
		)
		on params close do
		(
			mcgAPOps.OneColParamsClose MyList_UI selected:&MyList_selection			paramsOpen = false
		)
	)

如果定义了其他参数块,请记住:在任意脚本插件中,每个参数块都只能与一个卷展栏相关联,而两个或多个参数块无法与相同的参数块相关联。

相关参考

  • 3ds-max/2017/chinese/wrapped-files3dsmaxhelp/GUID-461915FA-31A2-49CE-84AF-2544B782ACA3.htm.js"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文