CN112947920A - 用于相机效果的脚本生成方法以及系统 - Google Patents

用于相机效果的脚本生成方法以及系统 Download PDF

Info

Publication number
CN112947920A
CN112947920A CN202011381749.7A CN202011381749A CN112947920A CN 112947920 A CN112947920 A CN 112947920A CN 202011381749 A CN202011381749 A CN 202011381749A CN 112947920 A CN112947920 A CN 112947920A
Authority
CN
China
Prior art keywords
code
script
reference code
editable
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011381749.7A
Other languages
English (en)
Inventor
朴民镇
郑持勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Snow Corp
Original Assignee
Snow Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Snow Corp filed Critical Snow Corp
Publication of CN112947920A publication Critical patent/CN112947920A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Tourism & Hospitality (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及用于相机效果的脚本生成方法以及系统。根据一实施例所涉及的脚本生成方法可以包括:读取包括由脚本开发人员发布的模板资源的效果文件的步骤;提供用于设定所述效果文件所包括的可编辑属性的值的用户界面的步骤;利用用户通过所述用户界面设定的可编辑属性的值来代替所述效果文件所包括的代码的参照代码的步骤;以及以所述参照代码被代替后的代码来生成脚本的步骤。

Description

用于相机效果的脚本生成方法以及系统
技术领域
本发明涉及用于相机效果的脚本生成方法以及系统。
背景技术
存在用于对通过相机输入的图像应用多种效果的技术。例如,韩国专利第10-1672691号涉及社交网络服务平台中的表情生成方法以及装置,公开了包括如下步骤的表情生成方法:若选择了表情生成功能,则运行相机来显示被摄体;若用户选择了移动的效果或者音效中的任意一种,则将所述选择出的移动的效果或者音效应用于所述显示的被摄体;以及在所述用户选择了移动的效果时,根据拍摄命令来捕获所述被摄体和所述应用的移动的效果,生成将所述被摄体以捕获的状态维持的同时仅由所述应用的移动的效果移动的表情,在所述用户选择了音效的情况下,根据所述拍摄命令来捕获所述被摄体,生成将所述被摄体以捕获的状态维持的同时执行所述应用的音效的表情。
此时,可以利用图形引擎的脚本来制作应用于影像的多种效果。但是,若为了控制在制作效果时使用的效果的设定而直接提供脚本的所有结构,会降低作为非开发人员的内容创建者的访问性,引起内容创建者在脚本中并非修改用于控制效果的设定的值而是修改脚本的其他重要值等问题。因此,为了让作为这种非开发人员的内容创建者应用效果,需要将非脚本整体的、能够将利用内容创建工具仅单独操作用于控制效果的设定的值的GUI(Graphical User Interface,图形用户界面)环境提供给内容创建者。
然而,为了在内容创建工具中应用针对每个不同效果的GUI环境的功能,每个功能都需要内容创建工具开发人员与脚本开发人员之间的配合工作,由于对内容创建工具开发人员要求关于脚本的开发知识和内容创建工具的开发知识双方,所以会导致大量消耗开发资源的问题。
发明内容
提供一种能够接收脚本开发人员基于脚本开发知识生成的资源而在内容创建工具中自动生成并提供用于效果的设定的环境的脚本生成方法以及系统。
提供一种脚本生成方法,为包括至少一个处理器的计算机装置的脚本生成方法,包括如下步骤:通过所述至少一个处理器,读取包括由脚本开发人员发布的模板资源的效果文件;通过所述至少一个处理器,提供用于设定所述效果文件所包括的可编辑属性的值的用户界面;通过所述至少一个处理器,利用用户通过所述用户界面设定的可编辑属性的值来代替所述效果文件所包括的代码的参照代码;以及通过所述至少一个处理器,以所述参照代码被代替后的代码来生成脚本。
根据一个方面,脚本生成方法的特征在于,所述参照代码具有属性类、代码类或者函数类的类型,所述代替的步骤包括如下步骤:在所述参照代码为所述属性类的情况下,利用通过所述用户界面设定的可编辑属性的值来代替所述参照代码;在所述参照代码为所述代码类的情况下,利用具有与所述参照代码所包括的标识符相同的标识符的代码来代替所述参照代码之后,再次执行所述代替的步骤;以及在所述参照代码为所述函数类的情况下,利用具有与所述参照代码所包括的标识符相同的标识符的函数的调用结果来代替所述参照代码之后,再次执行所述代替的步骤。
根据另一个方面,脚本生成方法的特征在于,所述脚本生成方法还包括如下步骤:通过所述至少一个处理器,针对所述模板资源,按照设定所述可编辑属性的值的每个实例赋予版本信息,以与所述模板资源相关联,在所述代替的步骤中,将所述参照代码用赋予了任意的版本信息的实例中设定的可编辑属性的值来代替。
根据又一个方面,脚本生成方法的特征在于,所述脚本生成方法还包括如下步骤:通过所述至少一个处理器,将用户通过所述用户界面用户设定的可编辑属性的值记录到树节点结构的生成模型中,在所述代替的步骤中,用所述生成模型中记录的值来代替所述效果文件所包括的代码的参照代码。
根据又一个方面,脚本生成方法的特征在于,所述生成模型由代码和可编辑属性的值来构成,所述生成模型所包括的代码包括如下代码中的至少一种:(1)按照已定义的第一形式声明的代码类的参照代码,所述第一形式包括所述树节点结构中的对应的生成模型的索引以及代码的标识符;以及(2)按照已定义的第二形式声明的属性类的参照代码,所述第二形式包括所述树节点结构中的对应的生成模型的索引以及可编辑属性的标识符。
根据又一个方面,脚本生成方法的特征在于,所述树节点结构的生成模型包括根生成模型而作为供所述效果文件所包括的代码参照的基准模型,所述根生成模型包括属性信息。
根据又一个方面,脚本生成方法还包括如下步骤:通过所述至少一个处理器,每当通过所述用户界面变更所述可编辑属性的值时,都再次生成所述脚本。
提供一种计算机程序,存储于计算机可读取的记录介质,所述计算机程序使计算机装置执行上述的脚本生成方法。
提供一种计算机可读取的记录介质,存储有用于使计算机装置执行上述方法的程序。
提供一种计算机装置,包括构成为执行计算机能够读取的指令的至少一个处理器,通过所述至少一个处理器,执行如下操作:读取包括由脚本开发人员发布的模板资源的效果文件;提供用于设定所述效果文件所包括的可编辑属性的值的用户界面;将所述效果文件所包括的代码的参照代码利用用户通过所述用户界面设定的可编辑属性的值来代替;以及以所述参照代码被代替后的代码来生成脚本。
能够接收脚本开发人员基于脚本开发知识生成的资源而在内容创建工具中自动生成并提供用于效果的设定的环境。由此,能够增加针对添加内容创建工具的功能的效率,并且能够提高针对效果的生产性。
该情况下,对于通过内容创建工具在脚本中为了制作效果而由内容创建者可设定的值,通过另外的用户界面来提供,以能够使内容创建者通过所提供的用户界面来设定值,由此能够提高针对脚本的访问性和安全性。
另外,通过在脚本中分离代码的定义和设定值,而在发现代码的错误并再次发布模板的情况下,也会变更包括代码的定义的资源,由此能够无需内容创建者再次操作而修正操作中的内容。
附图说明
图1是示出本发明的一实施例所涉及的网络环境的例子的图。
图2是示出本发明的一实施例所涉及的计算机装置的例子的框图。
图3是示出本发明的一实施例所涉及的用于制作效果的环境的例子的图。
图4是示出本发明的一实施例所涉及的脚本生成器的例子的图。
图5是示出本发明的一实施例中代码块的例子的图。
图6是示出本发明的一实施例中按照参照代码来生成脚本以代替文本的例子的图。
图7至图9是示出本发明的一实施例中用于控制属性的值的用户界面的例子的图。
图10是示出本发明的一实施例中生成模型的树节点型的例子的图。
图11是示出本发明的一实施例中脚本生成过程的例子的图。
图12是示出本发明的一实施例中文本转换过程的例子的图。
图13是示出本发明的一实施例所涉及的脚本生成方法的例子的流程图。
具体实施方式
下面,参照附图对实施例进行详细说明。
本发明的实施例所涉及的脚本生成系统可以通过至少一个计算机装置来实现,本发明的实施例所涉及的脚本生成方法可以通过脚本生成系统所包括的至少一个计算机装置来执行。在计算机装置中,可以设置并驱动本发明的一实施例所涉及的计算机程序,计算机装置可以按照被驱动的计算机程序的控制来执行本发明的实施例所涉及的脚本生成方法。上述的计算机程序可以存储在计算机可读取的记录介质中,以与计算机装置结合而使计算机执行脚本生成方法。
图1是示出本发明的一实施例所涉及的网络环境的例子的图。图1的网络环境示出了包括多个电子设备110、120、130、140,多个服务器150、160以及网络170的例子。这种图1仅为用于说明发明的一个示例,并不表示电子设备的数量或服务器的数量被限定为与图1相同的数量。另外,图1的网络环境仅用于说明应用于本实施例的环境中的一个示例,并不表示可应用于本实施例的环境被限定为图1的网络环境。
多个电子设备110、120、130、140可以为利用计算机装置来实现的固定式终端或移动式终端。作为多个电子设备110、120、130、140的例子,有智能手机(smart phone)、移动电话、导航、计算机、笔记本、数字广播终端、PDA(Personal Digital Assistants,个人数字助理)、PMP(Portable Multimedia Player,便携式多媒体播放器),平板电脑等。作为一例,图1中示出了智能手机来作为电子设备110的示例,但在本发明的实施例中,电子设备110可以是指实质上利用无线或有线通信方式能够通过网络170与其他电子设备120、130、140和/或服务器150、160通信的多种物理计算机装置之一。
对于通信方式并无限制,不仅可以包括网络170能够涵盖的通信网(例如,移动通信网、有线互联网、无线互联网、广播网络)的通信方式,还可以包括设备之间的近距离通信。例如,网络170可以包括PAN(personal area network,个人局域网)、LAN(local areanetwork,局域网)、CAN(campus area network,校园局域网)、MAN(metropolitan areanetwork,城市局域网)、WAN(wide area network,广域网)、BBN(broadband network,宽带网)、互联网等网络中的一个以上的任意网络。另外,网络170可以包括网络拓扑中的任意一种以上,该网络拓扑包括总线网络、星形网络、环形网络、网状网络、星形总线网络、树形或分层(hierarchical)网络等,但不限于此。
服务器150、160分别可以由通过网络170与多个电子设备110、120、130、140进行通信来提供命令、代码、文件、内容、服务等的计算机装置或者多个计算机装置实现。例如,服务器150可以为向通过网络170接入的多个电子设备110、120、130、140提供服务(例如,内容提供服务、群组通话服务(或者语音会议服务)、消息传递服务、邮件服务、社交网络服务、地图服务、翻译服务、金融服务、支付服务、搜索服务等)的系统。
图2是示出本发明的一实施例所涉及的计算机装置的例子的框图。上文中提及的多个电子设备110、120、130、140的每一个或服务器150、160的每一个可以由通过图2示出的计算机装置200来实现。
如图2所示,这种计算机装置200可以包括存储器210、处理器220、通信接口230以及输入输出接口240。存储器210作为计算机能够读取的记录介质,可以包括RAM(randomaccess memory,随机存储器)、ROM(read only memory,只读存储器)以及磁盘驱动器之类的永久性大容量记录设备(permanent mass storage device)。其中,ROM和磁盘驱动器之类的永久性大容量记录设备作为与存储器210区分的独立的永久存储装置,也可以包含在计算机装置200中。另外,在存储器210中可以存储有操作系统和至少一个程序代码。这种软件构成要素可以从与存储器210独立的的计算机能够读取的记录介质加载到存储器210中。这种独立的计算机能够读取的记录介质可以包括软盘驱动器、磁盘、磁带、DVD/CD-ROM驱动器、存储卡等计算机能够读取的记录介质。在另一个实施例中,软件构成要素可以通过并非计算机能够读取的记录介质的通信接口230而加载到存储器210中。例如,软件构成要素可以基于由通过网络170接收的文件设置的计算机程序来加载到计算机装置200的存储器210中。
处理器220可以设置为通过执行基本算术、逻辑以及输入输出运算来处理计算机程序的命令。命令可以通过存储器210或者通信接口230来提供给处理器220。例如,处理器220可以设置为按照存储器210之类的记录装置中存储的程序代码来执行接收的命令。
通信接口230可以提供用于使计算机装置200通过网络170与其他装置(例如,上文中提及的存储装置)相互通信的功能。作为一例,计算机装置200的处理器220按照存储器210之类的记录装置中存储的程序代码生成的请求或命令、数据、文件等按照通信接口230的控制来通过网络170传递到其他装置。反之,来自其他装置的信号或命令、数据、文件等可以经由网络170并通过计算机装置200的通信接口230而被计算机装置200所接收。通过通信接口230接收的信号或命令、数据等可以传递到处理器220或存储器210,文件等可以被存储到计算机装置200可进一步包括的存储介质(上述的永久存储装置)中。
输入输出接口240可以为用于与输入输出装置250的接口的部分。例如,输入装置可以包括麦克风、键盘、或鼠标等装置,而输出装置可以包括显示器、扬声器等装置。作为另一例子,输入输出接口240可以为用于像触摸屏那样将输入和输出的功能整合成一个的装置的接口的部分。输入输出装置250可以与计算机装置200作为一个装置构成。
另外,在另一个实施例中,计算机装置200可以包括比图2的构成要素更少或更多的构成要素。然而,涉及大部分现有技术的构成要素无需明确的图示。例如,计算机装置200可以构成为包括上述的输入输出装置250中至少一部分,或者还可以包括收发器(transceiver)、数据库等其他构成要素。
图3是示出本发明的一实施例所涉及的用于制作效果(effect)的环境的例子的图。图3示出内容创建工具300、内容创建工具开发人员310、脚本开发人员320以及用户330。
内容创建工具300可以为提供功能以使用户330能够制作作为内容的效果的软件模块,可以为在物理电子设备中通过计算机程序来实现的软件模块。作为一例,内容创建工具300可以在实现服务器的计算机装置200中实现,其中,该服务器提供用于支持用户330制作效果以作为内容的服务。该情况下,用户330可以为通过网络170来访问服务器并通过内容创建工具300制作作为内容的效果的内容创建者。
内容创建工具开发人员310可以为开发并发布用于内容创建工具300的计算机程序的主体。作为一例,用于实现内容创建工具300的计算机装置200通过内容创建工具开发人员310所发布的计算机程序来驱动用于内容创建工具300的软件模块。
脚本开发人员320可以将用于特定效果的模板制作成脚本而添加到内容创建工具300中。该情况下,内容创建工具300可以提供用于支持用户330通过添加的模板来调整相应效果的设定而制作效果的功能。
这里,内容创建工具开发人员310、脚本开发人员320以及用户330实质上分别是指内容创建工具开发人员310、脚本开发人员320以及用户330分别利用的物理电子设备。
在本实施例中,若从脚本开发人员320向内容创建工具300提供针对效果的模板,则通过用户界面提供为了作为内容创建者的用户330制作效果而能够设定的值,而并非提供脚本的所有结构,能够提高用户330对脚本的访问性和安全性。
图4是示出本发明的一实施例所涉及的脚本生成器的例子的图。如图4所示,内容创建工具300可以包括脚本生成器410。图4的文件夹(genFiles430以及images450)和文件(convertFunc.lua431、scriptFunc.xml432、genModel.json440、metadata.json460以及script.lua470)可以位于效果的资源文件夹420的内部。当脚本生成器410生成脚本时,可以要求3个文件。待生成的文件是对脚本的定义进行描述的convertFunc.lua431以及scriptFunc.xml432,存储待生成的脚本的特定值的genModel.json440。convertFunc.lua431以及scriptFunc.xml432是由脚本开发人员生成并提供的文件,genModel.json440可以是内容创建者利用内容创建工具300输入值的文件。脚本生成器410利用从这些文件中读入的值的组合来生成针对最终效果的脚本,生成的脚本可以以script.lua440文件这种形式存储在资源文件夹420的内部。Images450可以是存储用于效果的图片,metadata.json460可以为存储用于效果的元数据的文件。
scriptFunc.xml432可以分为如下三个结构:在图形引擎中对作为基础调用的函数进行定义的代码块(codeBlock);对用户(内容创建者)能够设定的属性(property)进行定义的可编辑属性(editableProperty)以及对组合代码的文本和可编辑属性而成的模型进行定义的生成模型(genModel)。
若执行脚本生成器410,则脚本生成器410可以用代码块来构成基础的脚本的文本。脚本开发人员可以将脚本中待参照的文本以已定义的形式输入到代码块中。例如,已定义的形式可以具有'^{参照代码}^'这种形式。就这种已定义的形式作为一个实施例,用于表示参照代码的形式可以根据实施例定义为多种形式。参照代码可以具有属性类、代码类以及函数类这三个类型。此时,脚本生成器410可以按照参照代码来代替适当的文本以生成脚本。
图5是示出在本发明的一实施例中的代码块的例子的图,图6是示出本发明的一实施例中按照参照代码来代替文本以生成脚本的例子的图。图5的代码块510示出代码中以'^{"propertyName"}^'定义的参照代码的例子。代码块510中,属性名称是'answer',类型是'enum',表示可以代替为文本"Hello,World"以及文本"…"中的一个。例如,可以考虑到按照用户的设定像genModel.json620那样针对属性名称'answer'的值被设定为"Hello,World"的情况。该情况下,脚本生成器410将参照代码的文本'^{answer}^'变更为文本"Hello,World",从而如同第一脚本结果630,可以将代码'print("^{answer}^")'变更为代码'print("Hello,world")'。作为另一例子,可以考虑到按照用户的设定像genModel.json640那样针对属性名称'answer'的值被设定为"…"的情况。该情况下,脚本生成器410将参照代码的文本'^{answer}^'变更为文本"…",从而如同第二脚本结果650,可以将代码'print("^{answer}^")'变更为代码'print("…")'。
另一方面,可编辑属性可以为内容创建者能够设定的值的单位。此时,内容创建工具300能够提供按照属性的类型能够控制属性的值的用户界面。
图7至图9是示出本发明的一实施例中用于控制属性的值中的户界面的例子。
图7的第一用户界面710示出添加并提供如下功能的例子:内容创建工具300基于scriptFunc.xml432的代码块和可编辑属性而能够将属性'strength'的值按照类型'int'在已定义的范围内设定。
图7的第二用户界面720示出添加并提供如下功能的例子:内容创建工具300基于scriptFunc.xml432的代码块和可编辑属性而能够将属性'strength'的值按照类型'float'在已定义的范围内设定。
图7的第三用户界面730示出添加并提供如下功能的例子:内容创建工具300基于scriptFunc.xml432的代码块和可编辑属性而能够将属性'useAppSlider'的值根据类型'bool'设定为有效(on)或者无效(off)。
图8的第四用户界面810示出添加并提供如下功能的例子:内容创建工具300基于scriptFunc.xml432的代码块和可编辑属性而能够将属性'makeup0_contour0'的值按照类型'enum'设定为所提示的文本(contour.png,eye_shadow_L0,liplayer.png,liplayer2.png,eyelashes,eye_liner)中的一个文本。
图8的第五用户界面820示出添加并提供如下功能的例子:内容创建工具300基于scriptFunc.xml432的代码块和可编辑属性而能够将属性'prefix'的值按照类型'text'设定为用户(内容创建者)所输入的文本(b_tape)。
图9的第六用户界面910示出添加并提供如下功能的例子:内容创建工具300基于scriptFunc.xml432的代码块和可编辑属性而能够将属性'dateBox0'的值按照类型'struct'对x、y、z分别设定。
如上所述内容创建工具300并不是向用户提供脚本的所有结构,而是由脚本开发人员提供能够将用户能够设定的属性的值按照类型提供的用户界面,由此能够提高用户针对脚本的访问性和安全性。
另一方面,scriptFunc.xml432的三个结构中的剩余一个结构、即生成模型(genModel)可以由代码和可编辑属性的值来构成。此时,代码中可以将与代码块同样待参照的文本以'^{参照代码}^'的形式声明并使用。参照生成模型的代码可以按照参照代码的类型中的代码类,并以'^{genModels['genModel的索引']->'代码名称'}^'的形式来声明。在生成模型内部定义的可编辑属性从属于生成模型,参照可编辑属性可以按照参照代码的类型中的属性类,并以'^{genModels[‘genModel的索引’].’editableProperty的名称’}^'的形式声明。
生成模型可以按照树节点型,并在最上面存在根生成模型(rootgenModel)。
图10是示出本发明的一实施例中生成模型的树节点型的例子的图。根生成模型1010作为代码块所参照的基准模型,可以包括属性(properties/property)信息。上文中提及的可编辑属性可以从属于根生成模型1010。脚本开发人员在定义节点树的节点树的父子关系时,用户可以生成并删除各个节点。
另一方面,在生成脚本时,有时会存在脚本根据生成模型节点是否存在以及可编辑属性中设定的值而呈现不同结果。然而,由于生成模型节点是否存在以及可编辑属性中设定的值是由用户设定的,所以脚本开发人员无法对此进行预测而定义到scriptFunc.xml432中。因此,内容创建工具300通过登记对convertFunc.lua431之类的LUA脚本虚拟机传递特定参数的方式接收条件语句所涉及的脚本文本的函数,每当参照相应函数时便调用相应函数。在参照相应函数时,可以按照参照代码的类型中的函数类,以'^{'函数名'('参数名称'…)}^'的形式声明。
另外,genModel.json440中,基本上是以键值(key-value)的形式存储版本信息、模板的名称信息。例如,通过由多个用户对一个模板设定可编辑属性的值,而制作出各自的效果。该情况下,版本信息可以成为能够识别针对一个模板的可编辑属性的互不相同的设定值的基准。另外,用户所生成的生成模型的信息可以以生成模型这种键的字典(dictionary)类型存储。
若从内容创建工具300中调用包括由脚本开发人员发布的模板资源的效果文件,则脚本生成器410读入模板资源并对生成模型的树节点结构匹配用户设定过的值,然后利用GUI来反映生成模型的可编辑属性。若用户利用GUI来设定属性的值,则脚本生成器410以代码块生成基础的脚本文本,然后将经过脚本生成过程后的结果存储到脚本代码中。
图11是示出本发明的一实施例中的脚本生成过程的例子的图。在图11的脚本生成过程1100中,脚本生成器410在分离输入文本的字符串,并将包括^{参照代码}^的文本转换为由用户设定的属性的值,由此能够生成作为脚本代码的输出文本。更具体而言,脚本生成器410中若有文本输入,则仅解析参照代码并经过文本转换过程1110而返回无参照代码的文本。
图12是示出本发明的一实施例中的文本转换过程的例子的图。在文本转换过程1110中,脚本生成器410能够决定参照代码为何种类型。如上所述,参照代码可以具有属性类、代码类以及函数类中的一个类型。如图12所示,在参照代码为属性类的情况下(1210),脚本生成器410能够用属性的值来代替参照代码(1220)并返回文本。在参照代码为代码类的情况下(1230),脚本生成器410可以用具有相同名称(与参照代码所包括的名称相同的名称)的代码来代替参照代码(1240),并在经代替得到的结果中,再次经过由图11说明的脚本生成过程1100后返回文本。在参照代码为函数类的情况下(1250),脚本生成器410可以用调用具有相同名称(与参照代码所包括的名称相同的名称)的函数得到的结果来代替参照代码(1260),并在经代替得到的结果中,再次经过由图11说明的脚本生成过程1100后返回文本。通过这种过程,脚本生成器410能够将以代码块生成的脚本代码的所有参照代码代替后返回。内容创建者在每当利用内容创建工具300来变更属性的值时,都再次生成脚本。
图13是示出本发明的一实施例所涉及的脚本生成方法的例子的流程图。本实施例所涉及的脚本生成方法可以通过实现内容创建工具300的计算机装置200来执行。此时,计算机装置200的处理器220构成为执行存储器210所包括的操作系统的代码或至少一个计算机程序的代码所涉及的控制命令(instruction)。这里,处理器220可以控制计算机装置200,以使计算机装置200按照计算机装置200中存储的代码所提供的控制命令来执行图13的方法所包括的步骤1310至1340。
在步骤1310中,计算机装置200可以读取包括由脚本开发人员发布的模板资源的效果文件。作为一例,如上文中通过图4说明的那样,一个模板资源可以包括文件夹(genFiles430以及images450)和文件(convertFunc.lua431、scriptFunc.xml432、genModel.json440、metadata.json460以及script.lua470),效果文件可以包括convertFunc.lua431、scriptFunc.xml432以及genModel.json440中的至少一个。
在步骤1320中,计算机装置200可以提供用于设定效果文件所包括的可编辑属性的值的用户界面。例如,计算机装置200能够动态地构成包括如下功能的用户界面并将用户界面提供给用户:供用户按照可编辑属性的类型设定可编辑属性的值。因此,用户并不是根据脚本的所有结构和整体代码来控制所希望的属性,而能够通过针对用户可编辑的属性的用户界面来调整可编辑属性的值。因此,能够提高用户针对脚本的访问性和安全性。
另一方面,计算机装置200能够针对模板资源,对每个设定可编辑属性的值的实例赋予版本信息来与模板资源建立关联。例如,genModel.json440中基本上是以键值(key-value)的形式存储版本信息、模板的名称信息。像上文中提及的那样,可能会存在多个用户对一个模板资源设定可编辑属性的值而制作各自的效果的多个制作实例。因此,计算机装置200基于这种版本信息来识别针对一个模板资源的多个制作实例。在现有技术中,由于代码与属性的设定值是相关联的,所以在变更代码时,需要对多个实例的分别变更脚本,相对于此,在本发明的实施例中,由于代码与属性的设定值是分离的,所以只要修正在变更代码时分离的代码并再次生成脚本就能够修正创建中的内容,无需内容创建者再次创建。
在步骤1330中,计算机装置200可以将效果文件所包括的代码的参照代码用用户通过用户界面设定的可编辑属性的值来代替。例如,计算机装置200可以将参照代码用赋予了任意的版本信息的实例中设定的可编辑属性的值来代替。另外,参照代码可以具有属性类、代码类或者函数类的类型。该情况下,计算机装置200可以执行文本转换过程。计算机装置200在文本转换过程中参照代码为属性类的情况下,可以将参照代码用通过用户界面设定的可编辑属性的值来代替。另外,计算机装置200在文本转换过程中参照代码为代码类的情况下,在将参照代码用具有与参照代码所包括的标识符相同的标识符的代码代替后,再次执行文本转换过程。另外,计算机装置200在文本转换过程中参照代码为函数类的情况下,在将参照代码用具有与参照代码所包括的标识符相同的标识符的函数的调用结果来代替后,再次执行文本转换过程。对于这种文本转换过程,与上文中通过图12说明的相同。
根据实施例,计算机装置200可以在步骤1320中将用户通过用户界面设定的可编辑属性的值记录到树节点结构的生成模型中。该情况下,计算机装置200可以在步骤1330中将效果文件所包括的代码的参照代码用生成模型中记录的值来代替。这种生成模型可以由代码和可编辑属性的值来构成。此时,生成模型所包括的代码可以包括如下代码中的至少一种:(1)按照已定义的第一形式声明的代码类的参照代码,该第一形式包括树节点结构中的对应的生成模型的索引以及代码的标识符;以及(2)按照已定义的第二形式声明的属性类的参照代码,该第二形式包括树节点结构中的对应的生成模型的索引以及可编辑属性的标识符。在上文中,作为第一形式的示例说明了'^{genModels['genModel的索引']->'代码名称'}^'的形式,作为第二形式的示例说明了'^{genModels[‘genModel的索引’].’editableProperty的名称’}^'。另一方面,树节点结构的生成模型可以包括根生成模型而作为效果文件所包括的代码所参照的基准模型,其中,根生成模型包括属性信息。对于这种根生成模型,与上文中通过图10说明的相同。
在步骤1340中,计算机装置200可以以参照代码被代替后的代码来生成脚本。另一方面,计算机装置200中,由于用于脚本的代码和属性的值是分离的,所以每当通过用户界面变更可编辑属性的值时,都能够再次生成脚本。
如上所述,根据本发明的实施例,能够获得脚本开发人员基于脚本开发知识生成的资源的提供而在内容创建工具中自动生成并提供用于效果的设定的环境。由此,能够增加针对添加内容创建工具的功能的效率,并且能够提高针对效果的生产性。该情况下,对于通过内容创建工具在脚本中为了制作效果而由内容创建者可设定的值,通过另外的用户界面来提供,以能够使内容创建者通过所提供的用户界面来设定值,由此能够提高针对脚本的访问性和安全性。另外,通过在脚本中分离代码的定义和设定值,而在发现代码的错误并再次发布模板的情况下,也会变更包括代码的定义的资源,由此能够无需内容创建者再次操作而修正操作中的内容。
上文中说明的系统或者装置可以通过硬件构成要素或者硬件构成要素和软件构成要素的组合来实现。例如,实施例中说明的装置以及构成要素可以利用例如处理器、控制器、ALU(arithmetic logic unit,算术逻辑单元)、数字信号处理器(digital signalprocessor)、微型计算机、FPGA(field programmable gate array,现场可编程门阵列)、PLU(programmable logic unit,可编程逻辑单元)、微处理器、或者能够执行命令(instruction)并响应的其他任何装置这样的一个以上的一般计算机或者特殊目的计算机来实现。处理装置可以执行操作系统(OS)以及在所述操作系统上执行的一个以上的软件应用。另外,处理装置可以响应软件的执行,访问、存储、操作处理以及生成数据。为便于理解,有时以使用一个处理装置的情况进行说明,但本领域技术人员能理解处理装置可以包括多个处理要素(processing element)和/或多个类型的处理要素。例如,处理装置可以包括多个处理器或者一个处理器和一个控制器。另外,也可以构成为并行处理器(parallelprocessor)这种其他处理配置(processing configuration)。
软件可以包括计算机程序(computer program)、代码(code)、命令(instruction)或者它们中的至少一种以上的组合,可以将处理装置构成为执行所期望的动作,或者以独立的方式或者结合的方式(collectively)命令处理装置。对于软件和/或数据,可以在任何类型的器械、构成要素(component)、物理装置、虚拟机(virtual equipment)、计算机存储介质或者装置中具体实现(embody),以便处理装置解析或者对处理装置提供命令或者数据。软件也可以分散在通过网络连接的计算机系统上,以分散的方式存储或者执行。软件和数据可以存储在一个以上的计算机可读取的记录介质中。
实施例所涉及的方法可以以能够通过多种计算机单元执行的程序命令形式实现而记录在计算机可读取的介质中。所述计算机可读取的介质可以将程序命令、数据文件、数据结构等以单独的方式或组合的方式包括。介质可以为一直存储能够利用计算机执行的程序的介质,或者为暂时存储以用于执行或者下载的介质。另外,介质可以为一个或多个硬件结合的形式的多种记录单元或者存储单元,并不限定于与某个计算机系统直接连接的介质,也可以在网络上分散存在。作为介质的示例,可以为包括硬盘、软盘和磁带之类的磁性介质、CD-ROM以及DVD之类的光记录介质、光磁软盘(floptical disk)之类的光磁介质(magneto-optical medium)、以及ROM、RAM、闪存等而存储程序命令的介质。另外,作为介质的另一示例,包括分发应用程序的应用商店、提供或分发各种软件的网页、服务器等中管理的记录介质或存储介质。程序指令的示例不仅包括诸如由编译器生成的机器语言代码,而且还包括可以由计算机使用解释器等执行的高级语言代码。
上文中,以有限的实施例和图来说明了实施例,但是本领域技术人员能够根据上述记载来实现多种修改及变形。例如,描述的技术以与描述的方法不同的顺序执行和/或描述的系统、结构、装置、电路等构成要素以与描述的方法不同的方式结合或组合,或者被其他构成要素或者等同方式代替或置换,也能够实现适当的效果。
因此,其他实施方式、其他实施例以及与权利要求的范围等同的方式都属于权利要求书中的范围内。

Claims (15)

1.一种脚本生成方法,是包括至少一个处理器的计算机装置的脚本生成方法,其特征在于,包括:
通过所述至少一个处理器,读取包括由脚本开发人员发布的模板资源的效果文件的步骤;
通过所述至少一个处理器,提供用于设定所述效果文件所包括的可编辑属性的值的用户界面的步骤;
通过所述至少一个处理器,利用用户通过所述用户界面设定的可编辑属性的值来代替所述效果文件所包括的代码的参照代码的步骤;以及
通过所述至少一个处理器,以所述参照代码被代替后的代码来生成脚本的步骤。
2.根据权利要求1所述的脚本生成方法,其特征在于,
在提供所述用户界面的步骤中,
动态地构成用户界面并提供给用户,所述用户界面包括所述用户根据所述可编辑属性的类型来设定所述可编辑属性的值的功能。
3.根据权利要求1所述的脚本生成方法,其特征在于,
所述参照代码具有属性类、代码类或者函数类的类型,
所述代替的步骤包括:
在所述参照代码为所述属性类的情况下,利用通过所述用户界面设定的可编辑属性的值来代替所述参照代码;
在所述参照代码为所述代码类的情况下,利用具有与所述参照代码所包括的标识符相同的标识符的代码来代替所述参照代码之后,再次执行所述代替的步骤的步骤;以及
在所述参照代码为所述函数类的情况下,利用具有与所述参照代码所包括的标识符相同的标识符的函数的调用结果来代替所述参照代码之后,再次执行所述代替的步骤的步骤。
4.根据权利要求1所述的脚本生成方法,其特征在于,
所述脚本生成方法还包括:
通过所述至少一个处理器,针对所述模板资源,按照设定所述可编辑属性的值的每个实例赋予版本信息,以与所述模板资源相关联的步骤,
在所述代替的步骤中,
将所述参照代码用赋予了任意的版本信息的实例中设定的可编辑属性的值来代替。
5.根据权利要求1所述的脚本生成方法,其特征在于,
所述脚本生成方法还包括:
通过所述至少一个处理器,将用户通过所述用户界面用户设定的可编辑属性的值记录到树节点结构的生成模型中的步骤,
在所述代替的步骤中,
用所述生成模型中记录的值来代替所述效果文件所包括的代码的参照代码。
6.根据权利要求5所述的脚本生成方法,其特征在于,
所述生成模型由代码和可编辑属性的值来构成,
所述生成模型所包括的代码包括如下代码中的至少一种:(1)按照已定义的第一形式声明的代码类的参照代码,所述第一形式包括所述树节点结构中的对应的生成模型的索引以及代码的标识符;以及(2)按照已定义的第二形式声明的属性类的参照代码,所述第二形式包括所述树节点结构中的对应的生成模型的索引以及可编辑属性的标识符。
7.根据权利要求5所述的脚本生成方法,其特征在于,
所述树节点结构的生成模型包括根生成模型而作为供所述效果文件所包括的代码参照的基准模型,所述根生成模型包括属性信息。
8.根据权利要求1所述的脚本生成方法,其特征在于,
所述脚本生成方法还包括:
通过所述至少一个处理器,每当通过所述用户界面变更所述可编辑属性的值时,都再次生成所述脚本的步骤。
9.一种计算机可读取的记录介质,存储有计算机程序,
所述计算机程序使计算机装置执行权利要求1至8中任意一项所述的脚本生成方法。
10.一种计算机装置,包括构成为执行计算机能够读取的指令的至少一个处理器,
通过所述至少一个处理器,执行如下操作:
读取包括由脚本开发人员发布的模板资源的效果文件;
提供用于设定所述效果文件所包括的可编辑属性的值的用户界面;
将所述效果文件所包括的代码的参照代码利用用户通过所述用户界面设定的可编辑属性的值来代替;以及
以所述参照代码被代替后的代码来生成脚本。
11.根据权利要求10所述的计算机装置,其特征在于,
通过所述至少一个处理器,执行如下操作:
动态地构成用户界面并提供给用户,所述用户界面包括所述用户根据所述可编辑属性的类型来设定所述可编辑属性的值的功能。
12.根据权利要求10所述的计算机装置,其特征在于,
所述参照代码具有属性类、代码类或者函数类的类型,
通过所述至少一个处理器来处理文本转换过程,
在所述文本转换过程中,
在所述参照代码为所述属性类的情况下,利用通过所述用户界面设定的可编辑属性的值来代替所述参照代码;
在所述参照代码为所述代码类的情况下,利用具有与所述参照代码所包括的标识符相同的标识符的代码来代替所述参照代码之后,再次执行所述文本转换过程;以及
在所述参照代码为所述函数类的情况下,利用具有与所述参照代码所包括的标识符相同的标识符的函数的调用结果来代替所述参照代码之后,再次执行所述文本转换过程。
13.根据权利要求10所述的计算机装置,其特征在于,
通过所述至少一个处理器,执行如下操作:
针对所述模板资源,按照设定所述可编辑属性的值的每个实例赋予版本信息,以与所述模板资源相关联,
用赋予了任意的版本信息的实例中设定的可编辑属性的值来代替所述参照代码。
14.根据权利要求10所述的计算机装置,其特征在于,
通过所述至少一个处理器,执行如下操作:
将用户通过所述用户界面设定的可编辑属性的值记录到树节点结构的生成模型中;以及
用所述生成模型中记录的值来代替所述效果文件所包括的代码的参照代码。
15.根据权利要求10所述的计算机装置,其特征在于,
通过所述至少一个处理器,执行如下操作:
在每当通过所述用户界面来变更所述可编辑属性的值时,都再次生成所述脚本。
CN202011381749.7A 2019-12-11 2020-12-01 用于相机效果的脚本生成方法以及系统 Pending CN112947920A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0164680 2019-12-11
KR1020190164680A KR102385381B1 (ko) 2019-12-11 2019-12-11 카메라 이펙트를 위한 스크립트 생성 방법 및 시스템

Publications (1)

Publication Number Publication Date
CN112947920A true CN112947920A (zh) 2021-06-11

Family

ID=76234693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011381749.7A Pending CN112947920A (zh) 2019-12-11 2020-12-01 用于相机效果的脚本生成方法以及系统

Country Status (2)

Country Link
KR (1) KR102385381B1 (zh)
CN (1) CN112947920A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100223565A1 (en) * 2008-02-28 2010-09-02 Befun Bilgi Teknolojileri A.S. Method and system for providing an image effects interface
CN105739983A (zh) * 2016-01-29 2016-07-06 腾讯科技(深圳)有限公司 脚本程序编辑装置及其实现方法
US9665171B1 (en) * 2013-03-04 2017-05-30 Tobii Ab Gaze and saccade based graphical manipulation
CN106776174A (zh) * 2016-12-16 2017-05-31 广州视源电子科技股份有限公司 显示屏参数调试方法及服务器
CN107087100A (zh) * 2009-11-12 2017-08-22 三星电子株式会社 图像显示装置、照相机及其控制方法
CN107291438A (zh) * 2016-04-13 2017-10-24 阿里巴巴集团控股有限公司 自动化脚本的生成方法、装置及电子设备
CN107450899A (zh) * 2016-06-01 2017-12-08 深圳市信锐网科技术有限公司 终端控制脚本的生成方法和装置
CN107872481A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 代理自动配置脚本的处理方法及代理自动配置脚本服务器
CN109375914A (zh) * 2018-09-27 2019-02-22 中国气象科学研究院 信息远程交互方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070094334A (ko) * 2006-03-17 2007-09-20 (주)세넷시스템즈 통합개발환경 시스템 및 그 제공방법
KR101559172B1 (ko) * 2008-11-14 2015-10-13 주식회사 엔씨소프트 직관적 사용자 인터페이스를 이용한 프로그램 저작 방법 및저작 도구
US10417314B2 (en) * 2012-06-14 2019-09-17 Open Text Sa Ulc Systems and methods of a script generation engine
KR20150012869A (ko) * 2013-07-26 2015-02-04 에스케이플래닛 주식회사 컨텐츠 저작툴 제공 시스템 및 그 시스템에서의 저작툴 제공을 위한 장치 및 방법, 이를 위한 프로그램을 기록한 기록 매체

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100223565A1 (en) * 2008-02-28 2010-09-02 Befun Bilgi Teknolojileri A.S. Method and system for providing an image effects interface
CN107087100A (zh) * 2009-11-12 2017-08-22 三星电子株式会社 图像显示装置、照相机及其控制方法
US9665171B1 (en) * 2013-03-04 2017-05-30 Tobii Ab Gaze and saccade based graphical manipulation
CN105739983A (zh) * 2016-01-29 2016-07-06 腾讯科技(深圳)有限公司 脚本程序编辑装置及其实现方法
CN107291438A (zh) * 2016-04-13 2017-10-24 阿里巴巴集团控股有限公司 自动化脚本的生成方法、装置及电子设备
CN107450899A (zh) * 2016-06-01 2017-12-08 深圳市信锐网科技术有限公司 终端控制脚本的生成方法和装置
CN107872481A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 代理自动配置脚本的处理方法及代理自动配置脚本服务器
CN106776174A (zh) * 2016-12-16 2017-05-31 广州视源电子科技股份有限公司 显示屏参数调试方法及服务器
CN109375914A (zh) * 2018-09-27 2019-02-22 中国气象科学研究院 信息远程交互方法和系统

Also Published As

Publication number Publication date
KR20210073901A (ko) 2021-06-21
KR102385381B1 (ko) 2022-04-11

Similar Documents

Publication Publication Date Title
CN109542399B (zh) 软件开发方法、装置、终端设备及计算机可读存储介质
CN108279932B (zh) 一种移动终端动态配置用户界面方法和装置
TW202141300A (zh) 頁面處理方法、裝置、設備及儲存媒體
CN105511873B (zh) 用户界面控件展示方法及装置
US10901804B2 (en) Apparatus and method to select services for executing a user program based on a code pattern included therein
CN111045655A (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
US8762963B2 (en) Translation of programming code
CN111459610B (zh) 一种模型部署方法和装置
CN111177621B (zh) 一种web页面开发方法、装置及系统
CN114064024A (zh) 微应用的开发方法、装置、设备、存储介质及程序产品
CN108351766B (zh) 从移动设备创建和修改应用
US20200210829A1 (en) Network off-line model processing method, artificial intelligence processing device and related products
CN102236544A (zh) 一种皮肤设计方法及装置
CN112817657A (zh) 一种应用程序启动项加载方法、装置、系统及存储介质
CN113407284A (zh) 导航界面的生成方法、装置、存储介质及电子设备
JP6002302B2 (ja) Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム
CN116521181B (zh) 基于游戏系统的脚本数据处理方法、装置、设备及介质
CN112799658B (zh) 模型训练方法、模型训练平台、电子设备和存储介质
CN112947920A (zh) 用于相机效果的脚本生成方法以及系统
CN115934093A (zh) 小程序跨端应用方法、相关装置及计算机存储介质
CN114449063A (zh) 一种报文处理方法、装置及设备
CN111124386B (zh) 基于Unity的动画事件处理方法、装置、设备和存储介质
CN113506099A (zh) 申报业务的配置系统、方法、计算机设备和存储介质
CN113190509A (zh) 动画处理方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination