WO2024095732A1 - 操作装置、情報処理方法およびコンピュータプログラム - Google Patents
操作装置、情報処理方法およびコンピュータプログラム Download PDFInfo
- Publication number
- WO2024095732A1 WO2024095732A1 PCT/JP2023/037058 JP2023037058W WO2024095732A1 WO 2024095732 A1 WO2024095732 A1 WO 2024095732A1 JP 2023037058 W JP2023037058 W JP 2023037058W WO 2024095732 A1 WO2024095732 A1 WO 2024095732A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input device
- dead zone
- analog input
- value
- output 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.)
- Ceased
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/22—Setup operations, e.g. calibration, key configuration or button assignment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0338—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/015—Force feedback applied to a joystick
Definitions
- the present invention relates to data processing technology, and in particular to an operating device, an information processing system, and a computer program.
- the present invention aims to provide a technology that maintains the linearity of output values based on user operations on an analog input device with a dead zone.
- an operating device includes an analog input device operated by a user, a storage unit that stores characteristic values measured at each of a plurality of correction points having different amounts of movement of the analog input device, an assignment unit that assigns an output value indicating the magnitude of the operation to each of the plurality of correction points, and an output unit that, when an operation is input to the analog input device, outputs to the outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value related to at least one correction point.
- the assignment unit assigns a new output value to each of the correction points outside the dead zone range so that the minimum to maximum output values correspond to the movable range of the analog input device excluding the dead zone.
- This device includes an analog input device operated by a user, a storage unit that stores characteristic values measured at each of a plurality of correction points having different amounts of movement of the analog input device, and a processor.
- the processor assigns an output value indicating the magnitude of the operation to each of the plurality of correction points, and when an operation is input to the analog input device, the processor outputs to the outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value related to at least one correction point, and when a dead zone is set in the analog input device, the processor assigns a new output value to each of the correction points outside the range of the dead zone so that the minimum to maximum output values correspond to the movable range of the analog input device excluding the dead zone.
- an operating device including an analog input device operated by a user and a storage unit that stores characteristic values measured at each of a plurality of correction points with different amounts of movement of the analog input device executes the steps of: assigning an output value indicating the magnitude of the operation to each of the plurality of correction points; and, when an operation is input to the analog input device, outputting to the outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value related to at least one correction point.
- a new output value is assigned to each of the correction points outside the range of the dead zone so that the minimum to maximum output values correspond to the movable range of the analog input device excluding the dead zone.
- any combination of the above components, and conversions of the present invention between a system, a computer program, and a recording medium storing a computer program are also valid aspects of the present invention.
- the present invention makes it possible to maintain linearity of the output value based on user operations on an analog input device with a dead zone.
- FIG. 1 is a diagram illustrating an information processing system according to an embodiment.
- FIG. 2 is a diagram showing the top surface of the controller.
- FIG. 2 is a diagram showing the rear side of the controller.
- FIG. 2 is a diagram illustrating a hardware configuration of a controller.
- FIG. 2 is a diagram illustrating a hardware configuration of an information processing device.
- FIG. 2 is a block diagram showing functional blocks of a controller.
- FIG. 2 is a block diagram showing functional blocks of the information processing device.
- FIG. 13 is a diagram illustrating an example of an analog stick setting screen.
- FIG. 13 is a diagram showing an example of a sensitivity curve.
- 4 is a diagram showing the relationship between the operation of an analog stick and an output value.
- FIG. 4 is a flowchart showing the operation of a controller.
- FIG. 4 is a flowchart showing the operation of a controller.
- FIG. 13 is a diagram showing an example of values in a polar coordinate system before sensitivity is applied.
- FIG. 13 is a diagram showing an example of values in a polar coordinate system after sensitivity is applied.
- 14(a), 14(b), and 14(c) show the relationship between the trigger stopper setting and the normalization range.
- 13 is a diagram showing the relationship between the setting of the trigger stopper and the dead zone.
- FIG. FIG. 13 is a diagram illustrating an example of a trigger setting screen.
- FIG. 13 is a diagram showing the relationship between a correction point and an output value of a controller.
- FIG. 13 is a diagram showing the relationship between a correction point and an output value of a controller.
- FIG. 13 is a diagram showing an example of assigning new output values to correction points.
- FIG. 13 is a diagram showing an example of assigning new output values to correction points.
- FIG. 1 shows an information processing system 1 according to an embodiment.
- the information processing system 1 includes an information processing device 10, a display device 4, and a controller 6.
- the information processing device 10 in the embodiment is a stationary game console.
- the information processing device 10 may be a computer, a tablet terminal, or a smartphone capable of executing applications such as games.
- the controller 6 is an operation device that accepts operations input by a user regarding information processing (e.g., a video game) executed by the information processing device 10.
- the controller 6 sequentially transmits operation information indicating operations input by the user to the information processing device 10.
- the controller 6 can also be called a game controller.
- the information processing device 10 and the controller 6 are connected by wire or wirelessly.
- the information processing device 10 in the embodiment is a device installed in a user's home or the like, but as a modified example, the functions of the information processing device 10 in the embodiment may be implemented in a server installed on a cloud that provides cloud services (cloud games, etc.) via the Internet or the like.
- the controller 6 may communicate with the server via a terminal or communication device installed in the user's home or the like.
- the information processing device 10 may transmit an output report, which is control data, to the controller 6 at a predetermined interval. Based on receiving the output report, the controller 6 may transmit an input report, which is notification data, to the information processing device 10.
- the display device 4 may be a television having a display for outputting images and a speaker for outputting sound, or it may be a computer display.
- the display device 4 may be connected to the information processing device 10 by a wired cable, or it may be connected wirelessly.
- the information processing device 10 receives operation information provided by the controller 6, it reflects the operation information in the processing of the system software and application software, and causes the display device 4 to display an image related to the processing result.
- the controller 6 of the embodiment stores setting information (hereinafter also referred to as “profile information” or simply “profile”) related to operations on the controller 6, customized by the user, in a non-volatile memory.
- the profile information includes setting information related to the behavior of the controller 6.
- the controller 6 is capable of storing multiple pieces of profile information, and is capable of switching the profile information to be applied in response to a user operation.
- the profile information may include predetermined setting values and the like related to operations on the controller 6.
- the profile information may also include setting information related to generating operation information to be input to the information processing device 10 based on an input operation on the controller 6.
- the profile information may also include information that is referenced when converting an analog value detected in response to an input operation on the controller 6 into a digital value.
- the profile information may also include setting information related to the strength of feedback (e.g., vibration, light emission, sound, etc.) in the controller 6.
- the profile information may also include setting information related to changing the image generation mode by the information processing device 10 or the image display mode by the display device 4 based on an operation input to the controller 6.
- the profile information may also include setting information related to changing the audio output mode from the information processing device 10 or headphones (not shown) based on an operation input to the controller 6.
- the profile information may also include setting information related to changing the chat mode based on an operation input to the controller 6.
- the profile information may also include setting information related to the microphone.
- the setting information related to the microphone may include, for example, on/off information for the noise cancellation function of the microphone, on/off information for the microphone mute function, microphone volume setting information, etc.
- the profile information in the embodiment includes a profile ID and name, button assignment information, sensitivity-related information for the analog input device, and corresponding button information.
- the button assignment information is information indicating various actions, commands, and functions assigned by the user to each button on the controller 6.
- the button assignment information is information indicating the assignment status of various actions, commands, and functions to each button.
- the corresponding button information is identification information of the button on the controller 6 to which the profile information is associated, and is, for example, information indicating the circle button 72 and cross button 73 described below.
- the sensitivity-related information of the analog input device includes information indicating a setting value related to the sensitivity of the analog input device.
- the sensitivity of the analog input device specifies the magnitude of the operation recognized by the information processing device 10 relative to the magnitude of the operation (e.g., the amount of tilt or rotation) actually input by the user to the analog input device.
- the magnitude of the operation recognized by the information processing device 10 can also be said to be the magnitude of the operation input to data processing in the information processing device 10 (in other words, the application currently being executed).
- the sensitivity setting value may be the ratio between the amount of operation actually input to the analog input device and the amount of operation recognized by the information processing device 10.
- the sensitivity-related information of the analog input device includes dead zone information of the analog input device, for example, a setting value related to the dead zone.
- a dead zone can also be called a dead band, and is a range in which operations input to an analog input device are not accepted. In other words, a dead zone is a range in which operations input to an analog input device are ignored.
- the setting value of the dead zone may be a value range of the tilt amount or rotation amount that corresponds to the dead zone.
- the profile information of the embodiment includes setting information of the analog input device of the controller 6. As described below, the controller 6 of the embodiment has an analog stick and a trigger button as analog input devices.
- the controller 6 acquires a value in a Cartesian coordinate system based on the amount of operation of the analog input device, and converts the value into a value in another coordinate system that is advantageous in terms of calculation load.
- the other coordinate system is a polar coordinate system, but is not limited to a polar coordinate system as long as it is more advantageous than the Cartesian coordinate system in terms of calculation load.
- the controller 6 adjusts the converted value in the other coordinate system based on the sensitivity of the analog input device, and returns the adjusted value in the other coordinate system to a value in the Cartesian coordinate system, which is the format of the output value.
- the inventor also recognized that, as a second problem, when a user can set a dead zone of any range on an analog input device, it may not be possible to maintain the linearity of the output value in response to user operations on the analog input device using the correction points set during the manufacture of the controller 6.
- the controller 6 assigns new output values to each correction point outside the dead zone range so that the minimum to maximum output values correspond to the movable range of the analog input device excluding the dead zone.
- the controller 6 uses the new output values assigned to each correction point to generate output values according to user operations on the analog input device.
- FIG. 2 shows the top surface of the controller 6.
- the user operates the controller 6 by holding the left grip portion 78b with the left hand and the right grip portion 78a with the right hand.
- the top surface of the housing of the controller 6 is provided with input sections: directional buttons 71, right analog stick 77a, left analog stick 77b, and operation buttons 76.
- the directional buttons 71 are configured to allow input in eight directions, up, down, left, right, and diagonally, and in this embodiment include an up button 71a, a left button 71b, a down button 71c, and a right button 71d.
- the four types of operation buttons 76 are marked with different shapes in different colors in order to distinguish them from one another.
- the operation buttons 76 include a circle button 72, an x button 73, a square button 74, and a triangle button 75.
- the right analog stick 77a and the left analog stick 77b are also called control sticks, thumb sticks, or joysticks, and are used to input a direction and a tilt amount by being tilted.
- the tilt amount can also be said to be the angle at which the right analog stick 77a or the left analog stick 77b is tilted.
- the right analog stick 77a and the left analog stick 77b also function as push-down buttons that sink downward when pressed by the user and return to their original position when the user releases their hand.
- the right analog stick 77a and the left analog stick 77b are also referred to collectively as the "analog stick 77".
- the operation button 76, the directional button 71, and the analog stick 77 are used to operate an application (e.g., a game) executed on the information processing device 10.
- a touchpad 79 is provided on the flat area between the directional buttons 71 and the operation buttons 76 on the top surface of the housing. In addition to detecting touches by the user's finger, the touchpad 79 also functions as a push-down button that sinks downward when pressed by the user and returns to its original position when the user releases his/her hand.
- a speaker 89 and a microphone 91 are also provided on the top surface of the housing.
- a home button 80 is provided between the right analog stick 77a and the left analog stick 77b.
- the home button 80 is used to power on the controller 6 and the information processing device 10, and at the same time activate a communication function for wirelessly connecting to the information processing device 10.
- the home button 80 is also used to cause the information processing device 10 to display a menu screen or home screen.
- the menu screen or home screen is a screen that allows the user to select functions or applications to be executed by the information processing device 10.
- the CREATE button 81 is provided on the left side of the touchpad 79.
- the OPTIONS button 82 is provided on the right side of the touchpad 79.
- the CREATE button 81 and the OPTIONS button 82 are used to input instructions from the user to the OS (Operating System) or system software in the information processing device 10.
- the CREATE button 81 and the OPTIONS button 82 are buttons used to call up (operate) functions of the OS (Operating System) or system software in the information processing device 10.
- the CREATE button 81 and the OPTIONS button 82 may both be formed as push buttons.
- the light-emitting unit 86 is provided on the lower edge of the touchpad 79.
- the light-emitting unit 86 may include an LED.
- the light-emitting unit 86 includes multiple lamps (five lamps in the example of FIG. 2), and displays information related to a controller number that identifies the controller and information related to the state of the controller 6 based on the lighting state of the multiple lamps (i.e., a combination of on and off states).
- the light-emitting unit 86 is controlled to a lighting state specified by an application running on the information processing device 10. Furthermore, when the profile information to be applied to operations on the controller 6 is switched, the light-emitting unit 86 is controlled for a short time to a predetermined lighting state that indicates that the profile information of the controller 6 has been switched.
- a vertically long light-emitting unit 85 is provided on the left and right sides of the touch pad 79.
- the light-emitting unit 85 has red (R), green (G), and blue (B) LEDs, and lights up according to the light emission color information transmitted from the information processing device 10.
- the right function button 88a and the left function button 88b are buttons that change or expand the functions of other buttons.
- the profile information applied to the operation on the controller 6 is switched to the profile information associated with the type of operation button 76 operated together with the function button 88.
- the right function button 88a and the left function button 88b may be completely equivalent in terms of functionality. In that case, the same function is provided regardless of whether the left or right button is operated.
- FIG. 3 shows the rear side of the controller 6.
- a touchpad 79 is bent and extended from the top surface of the housing of the controller 6 on the upper side of the rear side of the housing.
- an R1 button 83a, an R2 button 84a, an L1 button 83b, an L2 button 84b, a right trigger stopper 87a, and a left trigger stopper 87b are provided at symmetrical positions in the longitudinal direction.
- the R1 button 83a and the R2 button 84a are operated by the index finger and middle finger of the user's right hand, respectively
- the L1 button 83b and the L2 button 84b are operated by the index finger and middle finger of the user's left hand, respectively.
- the upper R1 button 83a and L1 button 83b are configured as push buttons, while the lower R2 button 84a and L2 button 84b are configured as rotationally supported trigger buttons.
- the R2 button 84a and L2 button 84b are capable of analog output, just like the right analog stick 77a and left analog stick 77b, and output a value according to the amount of rotation.
- the R2 button 84a and L2 button 84b are collectively referred to as trigger buttons 84.
- the right trigger stopper 87a is a member that adjusts or limits the rotation range of the R2 button 84a.
- the left trigger stopper 87b is a member that adjusts or limits the rotation range of the L2 button 84b.
- the right trigger stopper 87a and the left trigger stopper 87b are collectively referred to as trigger stoppers 87.
- the trigger stopper 87 can also be considered a limiting part that limits the movable range (which can also be considered the tiltable range or rotatable range) of the analog input device.
- Each of the right trigger stopper 87a and the left trigger stopper 87b can be set to one of the first, second, or third stages. In the first stage, the maximum rotation angle is 26 degrees, in the second stage, the maximum rotation angle is 14 degrees, and in the third stage, the maximum rotation angle is 10 degrees.
- the controller 6 is configured with various input sections (various buttons, sticks, etc.).
- the user inputs operations into the input sections of the controller 6 while looking at the menu screen and game screen displayed on the display device 4.
- FIG. 4 shows the hardware configuration related to this embodiment of the controller 6.
- the controller 6 includes a vibrator 90, a memory unit 92, a communication control unit 94, and a processor 96.
- the processor 96 executes various data processing operations and also controls the operation of various hardware components.
- the processor 96 may include a CPU (Central Processing Unit), memory, and a SoC (System on a chip).
- the vibrator 90 vibrates based on a control signal from the processor 96, thereby providing the user with a tactile stimulus.
- the vibrator 90 may include a voice coil motor (VCM).
- VCM voice coil motor
- the vibrator 90 and the light-emitting unit 86 function as a notification device that notifies the user of various types of information.
- the vibrator 90 notifies the user through tactile information, and the light-emitting unit 86 notifies the user through visual information.
- the storage unit 92 stores data referenced or updated by the processor 96.
- the communication control unit 94 controls communication with external devices. In the embodiment, the communication control unit 94 performs wireless communication with the information processing device 10, but as a variant, the communication control unit 94 may perform wired communication with the information processing device 10.
- FIG. 5 shows the hardware configuration related to this embodiment of the information processing device 10.
- the information processing device 10 includes a main power button 20, a power ON LED 21, a standby LED 22, a system controller 24, a clock 26, a device controller 30, a media drive 32, a USB module 34, a flash memory 36, a wireless communication module 38, a wired communication module 40, a subsystem 50, and a main system 60.
- the main system 60 comprises a main CPU, a memory and memory controller serving as the main storage device, a GPU (Graphics Processing Unit), etc.
- the GPU is primarily used for the calculation processing of the game program. These functions may be configured as a SoC (System on a chip) and formed on a single chip.
- the main CPU has the function of starting up the OS and, in the environment provided by the OS, executing applications installed in the storage unit (e.g., flash memory 36 or an auxiliary storage device not shown).
- the main system 60 also has the function of controlling the display content on the display device 4.
- the subsystem 50 includes a sub-CPU, a memory serving as a main storage device, a memory controller, and the like, but does not include a GPU.
- the number of circuit gates of the sub-CPU is less than that of the main CPU, and the operating power consumption of the sub-CPU is less than that of the main CPU.
- the sub-CPU operates while the main CPU is in standby mode, and its processing functions are limited in order to keep power consumption low.
- the sub-CPU and memory may be formed on separate chips.
- the main power button 20 is an input unit through which the user inputs operations, is provided on the front of the housing of the information processing device 10, and is operated to turn on or off the power supply to the main system 60 of the information processing device 10.
- the main power when the main power is on, it means that the main system 60 is in an active state, and when the main power is off, it means that the main system 60 is in a standby state.
- the power ON LED 21 lights up when the main power button 20 is on, and the standby LED 22 lights up when the main power button 20 is off.
- the system controller 24 detects when the user presses the main power button 20. When the main power button 20 is pressed while the main power is in the OFF state, the system controller 24 obtains the pressing operation as an "ON instruction.” On the other hand, when the main power button 20 is pressed while the main power is in the ON state, the system controller 24 obtains the pressing operation as an "OFF instruction.” The system controller 24 may obtain the same power ON/OFF instructions as above from the operation input from the controller 6.
- the sub-CPU While the main CPU has the function of executing game programs installed in a specified memory unit or ROM medium 44, the sub-CPU does not have such functions. However, the sub-CPU has the function of accessing the memory unit and the function of sending and receiving data with external devices. The sub-CPU is configured with only these limited processing functions, and therefore can operate with less power consumption compared to the main CPU. These functions of the sub-CPU are executed when the main CPU is in standby mode.
- the clock 26 is a real-time clock that generates current date and time information and supplies it to the system controller 24, the subsystem 50, and the main system 60.
- the device controller 30 is configured as an LSI (Large-Scale Integrated Circuit) that transfers information between devices like a south bridge. As shown in the figure, devices such as the system controller 24, media drive 32, USB module 34, flash memory 36, wireless communication module 38, wired communication module 40, subsystem 50, and main system 60 are connected to the device controller 30.
- the device controller 30 absorbs differences in the electrical characteristics and data transfer speeds of each device and controls the timing of data transfer.
- the media drive 32 is a drive device that operates by mounting a ROM medium 44 on which application software such as games and license information are recorded, and reads programs, data, and the like from the ROM medium 44.
- the ROM medium 44 is a read-only recording medium such as an optical disk, magneto-optical disk, or Blu-ray disk.
- the USB module 34 is a module that connects to an external device via a USB cable.
- the flash memory 36 is an auxiliary storage device that constitutes the internal storage.
- the wireless communication module 38 wirelessly communicates with, for example, the controller 6 using a communication protocol such as Bluetooth (trademark or registered trademark) protocol or IEEE802.11 protocol.
- the wired communication module 40 communicates with an external device via a wired connection, for example, to the Internet, a server, etc. via an access point (not shown).
- FIG. 6 is a block diagram showing the functional blocks of the controller 6.
- Each block shown in the block diagram in this specification can be realized in hardware terms by elements such as a computer processor, CPU, and memory, electronic circuits, and mechanical devices, and in software terms by computer programs loaded into memory, but here we have depicted functional blocks realized by the cooperation of these. Therefore, it will be understood by those skilled in the art that these functional blocks can be realized in various ways by combining hardware and software.
- the controller 6 includes a storage unit 100 and a processing unit 110.
- the storage unit 100 corresponds to the storage unit 92 in FIG. 4, and stores data that is referenced or updated by the processing unit 110.
- the storage unit 100 includes a profile storage unit 102 and a correction point information storage unit 104.
- the profile storage unit 102 includes a non-volatile memory that stores multiple pieces of profile information.
- the profile storage unit 102 stores each of the multiple pieces of profile information in association with a different slot and operation button 76.
- the profile storage unit 102 stores up to four pieces of profile information in association with four slots (slot 1 to slot 4) and four operation buttons 76 (circle button 72, cross button 73, square button 74, and triangle button 75).
- the correction point information storage unit 104 stores correction point information, which is information about multiple positions (hereinafter also referred to as "correction points") between the released state and the full stroke state of the trigger button 84.
- the released state is a state in which the finger is removed from the trigger button 84 and no operation is input to the trigger button 84.
- the full stroke state is a state in which the trigger button 84 has been rotated to the upper limit of its physical range of motion.
- the multiple correction points can be thought of as multiple positions within the rotatable range of the trigger button 84.
- the multiple correction points also differ from one another in the amount of rotation of the trigger button 84 (which can also be thought of as the amount of operation of the trigger button 84 by the user).
- the correction point information is information measured when the controller 6 is manufactured, and includes pairs of characteristic values (e.g., voltage values) and output values (values indicating the magnitude of operation) for each of the multiple correction points.
- the processing unit 110 includes an operation detection unit 112, an operation information generation unit 114, an operation information transmission unit 116, a profile update unit 118, and an allocation unit 120.
- a computer program e.g., firmware
- the processor 96 of the controller 6 may perform at least some of these functions by reading this computer program into the main memory and executing it.
- the operation detection unit 112 detects user operations input to the controller 6.
- User operations include operations to move the analog input device, and specifically include operations to tilt the analog stick 77 and operations to rotate the trigger button 84.
- the operation detection unit 112 performs analog-to-digital conversion of the output from the analog input device related to the user's operation of the analog input device at a predetermined sampling rate and obtains the output value.
- the operation detection unit 112 detects analog values (e.g., voltage values) associated with operations on the analog input device, performs analog-to-digital conversion, and passes the converted digital values (hereinafter also referred to as "AD values") to the operation information generation unit 114.
- AD values converted digital values
- the operation information generating unit 114 generates operation information related to the user's operation on the controller 6 detected by the operation detecting unit 112 (e.g., the AD value output from the operation detecting unit 112). In particular, in the embodiment, the operation information generating unit 114 generates operation information related to the user's operation on the analog stick 77 and the trigger button 84.
- the operation information transmission unit 116 transmits the operation information generated by the operation information generation unit 114 to the information processing device 10.
- the operation information transmission unit 116 may transmit the operation information to the information processing device 10 in a form in which the operation information is included in an input report transmitted from the controller 6 to the information processing device 10.
- the profile update unit 118 updates the profile information of the controller 6 stored in the profile storage unit 102 in accordance with a profile update instruction sent from the information processing device 10.
- the profile update instruction includes, for example, an instruction to update the settings related to the sensitivity characteristics and dead zone of the analog stick 77. It also includes an instruction to update the settings related to the dead zone of the trigger button 84.
- the allocation unit 120 dynamically allocates an output value indicating the magnitude of the operation to each of the multiple correction points stored in the correction point information storage unit 104 based on the updated profile information.
- FIG. 7 is a block diagram showing functional blocks of the information processing device 10.
- the information processing device 10 includes a storage unit 200 and a processing unit 210.
- the processing unit 210 executes various information processing operations.
- the processing unit 210 is implemented by a processor of the information processing device 10, and may be implemented by the main system 60 shown in FIG. 5, for example.
- the storage unit 200 stores data referenced or updated by the processing unit 210.
- the storage unit 200 may include the flash memory 36 and ROM medium 44 shown in FIG. 5.
- the storage unit 200 includes an application storage unit 202 and a profile storage unit 204.
- the application storage unit 202 stores data of applications (e.g., game programs) that can be executed by the information processing device 10.
- the profile storage unit 204 stores the profile information of the controller 6 notified from the controller 6. Similar to the profile storage unit 102 of the controller 6, the profile storage unit 204 stores up to four pieces of profile information in association with four slots and four operation buttons 76 (circle button 72, cross button 73, square button 74, and triangle button 75). The profile storage unit 204 also stores information related to the currently applied profile of the controller 6 notified from the controller 6. Specifically, it stores which of slots 1 to 4 the profile corresponding to is the applied profile.
- the processing unit 210 includes a profile information acquisition unit 212, an operation information acceptance unit 214, an application execution unit 216, a setting screen generation unit 218, a display control unit 220, and a profile update instruction unit 222.
- a computer program that implements at least some of these functions may be stored in the storage unit 200 of the information processing device 10.
- the processor of the information processing device 10 e.g., the main system 60
- the profile information acquisition unit 212 acquires information about multiple user-selectable profiles stored in the controller 6 connected to the information processing device 10 from the controller 6.
- the profile information acquisition unit 212 stores the information about multiple user-selectable profiles in the profile storage unit 204.
- the operation information receiving unit 214 receives user operation information for the controller 6 transmitted from the controller 6 connected to the information processing device 10.
- the application execution unit 216 executes applications (e.g., game programs and system software) stored in the application storage unit 202. For example, the application execution unit 216 progresses a game in accordance with operation information of the user on the controller 6, and sequentially generates images (hereinafter also referred to as "game screens") that show the results of the game progress.
- applications e.g., game programs and system software
- game screens images
- the setting screen generation unit 218 generates data for a profile setting screen for the controller 6 based on user operation information for the controller 6 while the application is running (e.g., while a game screen is being displayed).
- the profile setting screen in the embodiment includes a setting screen for an analog input device, and specifically includes a setting screen for the analog stick 77 and a setting screen for the trigger button 84.
- the display control unit 220 controls the display of information and images on the display device 4. For example, the display control unit 220 outputs game screen data generated by the application execution unit 216 to the display device 4, thereby causing the game screen to be displayed on the display device 4.
- the display control unit 224 also outputs setting screen data generated by the setting screen generation unit 218 to the display device 4, thereby causing the setting screen to be displayed on the display device 4.
- the profile update instruction unit 222 transmits a profile update instruction to the controller 6 based on the content input by the user on the profile setting screen.
- the profile update instruction unit 222 may transmit the profile update instruction to the information processing device 10 by including the profile update instruction in an output report transmitted from the information processing device 10 to the controller 6 at a predetermined interval.
- the setting screen generation unit 218 of the information processing device 10 generates an analog stick setting screen in response to a user operation input to the controller 6.
- the display control unit 220 of the information processing device 10 causes the analog stick setting screen to be displayed on the display device 4.
- FIG. 8 shows an example of an analog stick setting screen 130.
- the analog stick setting screen 130 in FIG. 8 shows content for setting the sensitivity and dead zone of the analog stick 77 of the controller 6.
- the analog stick setting screen 130 includes a setting target selection field 132, a sensitivity pattern selection field 134, a sensitivity curve adjustment gauge 136, a dead zone adjustment gauge 138, a sensitivity curve image 140, and a setting status image 148.
- the setting target selection field 132 is a screen element for selecting the type of analog stick 77 (in this embodiment, the right analog stick 77a or the left analog stick 77b) to be set on the analog stick setting screen 130. In FIG. 11, the left analog stick 77b is selected.
- the sensitivity pattern selection field 134 is a screen element for selecting a specific pattern from among a number of predetermined sensitivity curve patterns.
- the sensitivity curve is a curve (including a straight line) that shows the relationship between the tilt angle of the analog stick 77 and the output value.
- the sensitivity curve is a curve that associates the magnitude of the operation input by the user to the analog stick 77 (hereinafter also referred to as the "user input operation amount") with the magnitude of the operation recognized in the data processing of the information processing device 10 (hereinafter also referred to as the "system recognized operation amount").
- the user input operation amount can also be referred to as the actual tilt amount or tilt angle of the analog stick 77.
- the system recognized operation amount can also be referred to as the tilt amount or tilt angle of the analog stick 77 that is input to the data processing of the information processing device 10 (in this embodiment, the application execution unit 216).
- the multiple sensitivity curve patterns may include linear, delay, and quick.
- Linear is a pattern in which the system-recognized operation amount increases in proportion to an increase in the user input operation amount, and is, for example, a default pattern in which the slope of the sensitivity curve is constant.
- Delay is a pattern in which the system-recognized operation amount increases slowly while the user input operation amount is small, and as the user input operation amount increases, the system-recognized operation amount also increases significantly.
- Quick is a pattern in which the system-recognized operation amount increases rapidly even when the user input operation amount is small, and the system-recognized operation amount quickly reaches its upper limit.
- the sensitivity curve adjustment gauge 136 is a screen element that adjusts the correspondence between the amount of user input operation on the analog stick 77 and the amount of operation recognized by the system, and more specifically, is a screen element that adjusts the slope or curvature of the sensitivity curve.
- the sensitivity curve adjustment gauge 136 includes a slider that indicates the sensitivity value of the analog stick 77.
- the dead zone adjustment gauge 138 is a screen element that adjusts the range of the dead zone of the analog stick 77 (in other words, the size of the dead zone).
- the dead zone adjustment gauge 138 includes a slider that indicates the value of the dead zone of the analog stick 77.
- the analog stick setting screen 130 includes two images showing both the sensitivity and dead zone of the analog stick 77 on a common scale (in other words, a common standard).
- One image is a sensitivity curve image 140 that shows the sensitivity and dead zone along an axis related to the magnitude of the operation input by the user to the analog stick 77.
- the other image is a setting state image 148 that shows the sensitivity and dead zone according to the distance from the center based on the magnitude of the operation input by the user to the analog stick 77.
- the setting screen generation unit 218 places the sensitivity curve image 140 and the setting state image 148 on the analog stick setting screen 130.
- the sensitivity curve image 140 includes objects (initial sensitivity curve 146 and adjusted sensitivity curve 144) that indicate sensitivity curves arranged in a graph area with the horizontal axis representing the magnitude of the operation input by the user to the analog stick 77 and the vertical axis representing the magnitude of the operation recognized by the information processing device 10.
- the sensitivity curve can also be thought of as a graph that shows the relationship between the input value before adjustment that reflects the sensitivity (value on the horizontal axis) and the output value after adjustment that reflects the sensitivity (value on the vertical axis).
- the initial sensitivity curve 146 indicates the initial value of the sensitivity curve defined by the pattern selected in the sensitivity pattern selection field 134.
- the adjusted sensitivity curve 144 indicates the sensitivity curve after adjustment in the sensitivity curve adjustment gauge 136.
- the sensitivity curve image 140 also includes an object (dead zone 142) that indicates the range of the dead zone arranged along the horizontal axis of the graph area.
- the dead zone 142 in FIG. 6 indicates that 18% of the tilt amount that the user can input from the rest position (in other words, the initial position) of the analog stick 77 is the dead zone.
- the setting state image 148 includes an image showing the input part to be set (left analog stick 77b in FIG. 8), with information relating to sensitivity and dead zones superimposed on the image.
- the setting state image 148 includes a plurality of concentric circles (level lines 150) centered on the resting position of the analog stick 77 (in other words, the initial position) and showing the magnitude of operation from that resting position in multiple stages.
- the plurality of level lines 150 may include three level lines 150 showing 100%, 75%, and 50% of the maximum value of the operation magnitude, based on the maximum value of the operation magnitude.
- the level lines 150 can also be considered contour lines relating to the magnitude of operation.
- the setting state image 148 has a dead zone 152, which is a first object indicating a dead zone.
- the dead zone 152 indicates the range of the dead zone by the distance from the rest position of the analog stick 77, i.e., the center of the circle indicated by the level line 150.
- the setting state image 148 also has an adjusted operation amount indicator 154 and an unadjusted operation amount indicator 156. Both the adjusted operation amount indicator 154 and the unadjusted operation amount indicator 156 indicate the magnitude of the operation on the analog stick 77 by the distance from the center. Furthermore, both the adjusted operation amount indicator 154 and the unadjusted operation amount indicator 156 indicate the tilt direction of the analog stick 77 by the direction in which the line extends from the center.
- the adjusted operation amount indicator 154 indicates a value related to a user's operation input to the analog stick 77, adjusted using the profile information being adjusted in an adjustment mode (e.g., left analog stick adjustment mode). In other words, it indicates the operation amount of the analog stick 77 recognized by the information processing device 10 when the profile information being adjusted is applied to the controller 6.
- the profile information being adjusted includes, for example, a sensitivity setting value defined by a sensitivity curve adjusted by the sensitivity curve adjustment gauge 136 and the dead zone adjustment gauge 138.
- the unadjusted operation amount indicator 156 indicates a value related to the user's operation input to the analog stick 77 to which the profile information being adjusted in adjustment mode has not been applied. Specifically, the unadjusted operation amount indicator 156 indicates a value derived using the user's operation amount input to the analog stick 77 and a linear sensitivity curve, regardless of the profile information being adjusted in adjustment mode. The value indicated by the unadjusted operation amount indicator 156 is the default value of the operation amount of the analog stick 77 recognized by the information processing device 10 based on the user's operation amount input to the analog stick 77. Note that although the term "unadjusted" is used, the analog stick 77 has already been adjusted when the controller 6 is manufactured at the factory or when it is shipped.
- the setting state image 148 is an image that represents the sensitivity of the analog stick 77 based on the sensitivity curve that the user has set on the analog stick setting screen 130. Specifically, the setting state image 148 is an image that represents the relationship between the adjusted value using the profile information being adjusted, as indicated by the adjusted operation amount indicator 154, and the value to which the profile information being adjusted has not yet been applied, as indicated by the unadjusted operation amount indicator 156.
- the user selects a desired pattern from among a number of predetermined sensitivity curve patterns in the sensitivity pattern selection field 134.
- the setting screen generation unit 218 places an initial sensitivity curve 146 determined by the delay pattern in the sensitivity curve image 140.
- the setting screen generation unit 218 also places an adjusted sensitivity curve 144 that reflects the settings of the sensitivity curve adjustment gauge 136 and the dead zone adjustment gauge 138 in the sensitivity curve image 140.
- the user also adjusts and updates the sensitivity curve (including the dead zone) of the analog stick 77 while checking the setting state image 148 on the analog stick setting screen 130.
- the profile update instruction unit 222 of the information processing device 10 transmits to the controller 6 a profile update instruction including information on the apex of a line graph (e.g., the adjusted sensitivity curve 144 in FIG. 8) representing the sensitivity characteristics of the analog stick 77 specified on the analog stick setting screen 130.
- the profile update unit 118 of the controller 6 stores the information on the apex of the line graph representing the sensitivity characteristics of the analog stick 77 in the profile storage unit 102.
- Fig. 9 shows an example of a sensitivity curve.
- sensitivity information of the analog stick 77 including information on vertices 1, 2, 3, and 4 of the adjusted sensitivity curve 144 is stored in the profile storage unit 102.
- An example of information on each vertex of the adjusted sensitivity curve 144 is shown below.
- r Dz is a value indicating the range of the dead zone, that is, the range of 0 ⁇ input value ⁇ r Dz is the dead zone.
- the information of the vertex 4 may be a fixed value.
- a physical movable range 170 indicated by a solid circle indicates the range in which the analog stick 77 can actually be moved.
- a return position 174 can also be called a center return position, and is the position of the analog stick 77 when the finger is off the analog stick 77 (i.e., when the analog stick 77 is not being operated).
- the controller 6 When the controller 6 is manufactured, the minimum (X min and Y min ) and maximum (X max and Y max ) values of the AD value in the physical movable range 170, as well as the AD value at the return position 174 (X center and Y center ) are measured.
- a predetermined percentage (4% in this embodiment) of the distance from the return position 174 to the AD maximum value ( Xmax and Ymax ) based on the physical movable range 170 is set as an offset value, and a position ( X'max and Y'max ) on the inside by the offset value from the AD maximum value is set as the maximum output value from the controller 6.
- a predetermined percentage (4% in this embodiment) of the distance from the return position 174 to the AD minimum value ( Xmin and Ymin ) based on the physical movable range 170 is set as an offset value, and a position ( X'min and Y'min ) on the inside by the offset value from the AD minimum value is set as the minimum output value from the controller 6.
- the range defined by (X' max and Y' max ) and (X' min and Y' min ) is taken as a logically movable range 172.
- the output value from the controller 6 is normalized in the range of 0 to 255.
- the normalized output value changes within the logically movable range 172.
- the output value in the X-axis direction is calculated according to the AD value of the X-axis in the physical movable range 170 as follows. (1) If the value is equal to or less than X'min , the output value is set to 0. (2) In the case of X' min to X center , the output value is calculated by linear interpolation so that the output value falls within the range of 0 to 128. (3) In the case of X center to X′ max , the output value is calculated by linear interpolation so that the output value falls within the range of 128 to 255. (4) If the value is equal to or greater than X'max , the output value is set to 255.
- the output value in the Y-axis direction is calculated according to the AD value of the Y-axis in the physical movable range 170 as follows. (1) If the value is equal to or less than Y'min , the output value is set to 0. (2) In the case of Y' min to Y center , the output value is calculated by linear interpolation so that the output value falls within the range of 0 to 128. (3) In the case of Y center to Y′ max , the output value is calculated by linear interpolation so that the output value falls within the range of 128 to 255. (4) If Y' is equal to or greater than max , the output value is set to 255.
- the user can set a sensitivity curve of any shape (adjusted sensitivity curve 144) that may include a dead zone.
- the operation information generating unit 114 of the controller 6 needs to reflect the setting value of the sensitivity curve of any shape in the output value of the analog stick 77.
- FIG. 11 is a flowchart showing the operation of the controller 6.
- the operation detection unit 112 acquires an AD value corresponding to the amount of operation (in other words, the amount of tilt of the analog stick 77) (S10).
- the operation information generation unit 114 acquires values (x, y) of a virtual Cartesian coordinate system with 0 as the center, based on the AD value acquired in S10 (S11). To prevent a decrease in calculation accuracy in the later stages, a relatively high-precision value is acquired in S11; specifically, the numerical range is set to -32767 to 32767.
- the operation information generating unit 114 converts the value (x, y) in the Cartesian coordinate system acquired in S11 into a value (r, ⁇ ) in the polar coordinate system (S12).
- the operation information generating unit 114 derives a radial value r based on Equation 1.
- the operation information generating unit 114 does not derive the argument ⁇ , but derives tan 2 ⁇ and 1/tan 2 ⁇ .
- the operation information generating unit 114 converts the radial value r calculated in S12 into a value r' that reflects the sensitivity set for the analog stick 77, based on the sensitivity curve information for the analog stick 77 indicated by the profile information stored in the profile storage unit 102 (S13).
- FIG. 12 shows an example of values (r, ⁇ ) in the polar coordinate system before the sensitivity is applied
- FIG. 13 shows an example of values (r', ⁇ ) in the polar coordinate system after the sensitivity is applied.
- the physical movable range 170 indicates the physical movable range of the analog stick 77.
- the logical movable range 176 corresponds to the logical movable range 172 in FIG. 10, and indicates the logical value range related to the radial value r.
- the logical movable range 176 is a circle that is smaller than the physical movable range 170 by a predetermined offset, and in this embodiment, is a circle with a radius 4% smaller than the physical movable range 170.
- r'2 in FIG. 13 is a value corresponding to r2 in FIG. 12 on the adjusted sensitivity curve 144.
- r'Max in FIG. 13 is a value corresponding to rMax in FIG. 12 on the adjusted sensitivity curve 144.
- the operation information generator 114 receives the radial value r found in S12 as an input, and derives a corresponding output value r' by linearly interpolating between the vertices of the adjusted sensitivity curve 144.
- the operation information generating unit 114 converts the value (r', ⁇ ) in the polar coordinate system after the radial value conversion into a value (x', y') in the Cartesian coordinate system (S14).
- the operation information generating unit 114 derives the values of x' (written as x in Equation 4) and y' (written as y in Equation 5) based on Equation 4 and Equation 5.
- the signs of x' and y' are the same as the signs of x and y before conversion to the polar coordinate system.
- the operation information generating unit 114 converts the values (x', y') of a provisional orthogonal coordinate system with a central value of 0 into output values (x out , y out ) of 0 to 128 to 255, which are in a prescribed format as operation information (S15).
- the output values (x out , y out ) are values of an orthogonal coordinate system with a lower limit of 0, a central value of 128, and an upper limit of 255, as shown in Fig. 10.
- the value range of (x', y') is high precision (-32767 to 32767) like (x, y), while the value range of the output values (x out , y out ) is set to low precision (0 to 255).
- the operation information generation unit 114 generates operation information including the above-mentioned output values (x out , y out ) as operation information based on a user operation on the analog stick 77.
- the operation information transmission unit 116 transmits the operation information generated by the operation information generation unit 114 to the information processing device 10 (S16).
- the application execution unit 216 of the information processing device 10 executes an application using output values (x out , y out ) based on the user's operation, and, for example, reflects the output values (x out , y out ) in the movement of a game character. Also, the setting screen generation unit 218 of the information processing device 10 places the adjusted operation amount indicator 154 of the setting state image 148 of the analog stick setting screen 130 at a position based on the output values (x out , y out ).
- the values in the Cartesian coordinate system based on the user's operation on the analog input device are first converted to values in a polar coordinate system, and the sensitivity characteristics of the analog input device are reflected in the converted values. This reduces the calculation load for reflecting the sensitivity set in the analog input device in the output value of the controller 6 based on the user's operation on the analog input device.
- the controller 6 As described in relation to FIG. 10, the controller 6 generates a value (a value between 0 and 255) ranging from the minimum value to the maximum value that can be set in the operation information based on an operation within a range (logical movement range 176) that is narrower by a predetermined offset than the physical movement range 170 of the analog stick 77. This makes it possible to maintain a predetermined range of output values (minimum value to maximum value) even if the physical movement range of the analog stick 77 moves by the offset over time.
- the first feature of the information processing system 1 is not limited to the analog stick 77, and can also be applied to other types of analog input devices, such as the trigger button 84.
- Figures 14(a), 14(b), and 14(c) show the relationship between the setting of the trigger stopper 87 and the normalization range 180.
- Figure 14(a) shows the relationship when the trigger stopper 87 is set to the first stage (the trigger button 84 can rotate at an angle of 26 degrees).
- Figure 14(b) shows the relationship when the trigger stopper 87 is set to the second stage (the trigger button 84 can rotate at an angle of 14 degrees).
- Figure 14(c) shows the relationship when the trigger stopper 87 is set to the third stage (the trigger button 84 can rotate at an angle of 10 degrees).
- the controller 6 When the controller 6 is manufactured, multiple positions between the released state and the full stroke state of the trigger button 84 are set as correction points, and the characteristic value (in this embodiment, the AD value) is measured at each correction point.
- the multiple correction points include nine correction points, from correction point P0 at the release position to correction point P8 at the full stroke position.
- Correction point P8 is also the position where a physical stopper is set. P0 to P8 are set at equal intervals. Note that when the controller 6 is manufactured, nine correction points are set in each of the first, second, and third stages of the trigger stopper 87, and the AD value is measured at each correction point.
- Normalization range 180 is the range in which output values are normalized to values ranging from 0 to 255. In the first stage of trigger stopper 87, normalization range 180 is P2 to P7. In the second stage of trigger stopper 87, normalization range 180 is P2 to P6. In the third stage of trigger stopper 87, normalization range 180 is P3 to P5. In this way, the smaller the rotational angle of trigger button 84 is restricted, the narrower normalization range 180 becomes.
- the release side offset 182 is a play area provided on the P0 side, which is realized by hardware.
- the full stroke side offset 184 is a play area provided on the P8 side, which is realized by hardware.
- the output value from the controller 6 does not change with the release side offset 182 and the full stroke side offset 184. For example, if the tilt amount of the analog stick 77 is within the range of the release side offset 182, the output value will be a constant value of "0". Also, if the tilt amount of the analog stick 77 is within the range of the full stroke side offset 184, the output value will be a constant value of "255".
- Figure 15 shows the relationship between the setting of the trigger stopper 87 and the dead zone.
- the dead zone is set on the analog stick setting screen 130, independent of the setting of the trigger stopper 87. If the dead zone is not set, the range of possible rotation excluding the release side offset 182 and full stroke side offset 184 becomes the normalized range 180, within which values from 0 to 255 are output.
- the release side dead zone 186 is a dead zone provided on the release side (P0 side)
- the full stroke side dead zone 188 is a dead zone provided on the full stroke side (P8 side).
- FIG. 16 shows an example of a trigger setting screen 300.
- the trigger setting screen 300 in FIG. 16 includes content for setting the dead zones of the trigger buttons 84 (R2 button 84a and L2 button 84b) of the controller 6.
- the trigger setting screen 300 includes an R2 dead zone setting area 302a, an R2 behavior confirmation area 304a, an L2 dead zone setting area 302b, and an L2 behavior confirmation area 304b.
- the R2 dead zone setting area 302a is an area for inputting a setting value for the dead zone of the R2 button 84a
- the L2 dead zone setting area 302b is an area for inputting a setting value for the dead zone of the L2 button 84b.
- the start point and end point of the effective range are specified as a percentage in the R2 dead zone setting area 302a and the L2 dead zone setting area 302b.
- the value of the start point is a value that specifies the range of the release side dead zone 186, in other words, a value that specifies the boundary between the release side dead zone 186 and the normalized range 180.
- the value of the end point is a value that specifies the range of the full stroke side dead zone 188, in other words, a value that specifies the boundary between the full stroke side dead zone 188 and the normalized range 180.
- no dead zone is set for the R2 button 84a, and the entire input range is specified as the valid range.
- the L2 button 84b 50% on the starting point side is specified as the dead zone (release side dead zone 186), and 50% on the ending point side is specified as the valid range.
- the L2 behavior confirmation area 304b is an area where the magnitude of the system input value corresponding to the rotation operation of the L2 button 84b is displayed, and an operation amount indicator 306 showing the operation amount (system input value) of the L2 button 84b is displayed.
- the R2 behavior confirmation area 304a may also display an operation amount indicator 306 showing the operation amount (system input value) of the R2 button 84a corresponding to the rotation operation of the R2 button 84a.
- the parts that fall into the dead zone are displayed in a relatively low brightness
- the parts that fall into the effective range are displayed in a relatively high brightness.
- the user inputs a setting value for the input range of the R2 button 84a (in other words, the setting value of the dead zone) in the R2 dead zone setting area 302a, and/or inputs a setting value for the input range of the L2 button 84b (in other words, the setting value of the dead zone) in the L2 dead zone setting area 302b.
- the profile update instruction unit 222 of the information processing device 10 transmits a profile update instruction including the setting value input in the R2 dead zone setting area 302a and the setting value input in the L2 dead zone setting area 302b to the controller 6.
- the profile update unit 118 of the controller 6 reflects the setting value of the dead zone transmitted from the information processing device 10 in the profile information in the profile storage unit 102.
- FIG. 17 shows the relationship between the correction points and the output values of the controller 6.
- FIG. 17 shows the relationship when the trigger stopper 87 is set to the first stage and the dead zone is not set.
- the allocation unit 120 of the controller 6 assigns the minimum output value 0 to P2 at the release end of the normalization range 180, and assigns the maximum output value "255" to P7 at the full stroke end of the normalization range 180. Values obtained by dividing 0 to 255 into 5 are assigned to P3, P4, P5, and P6.
- the allocation unit 120 stores in the correction point information storage unit 104 a pair of the AD value measured during the manufacture of the controller 6 and the output value assigned to each correction point.
- the operation detection unit 112 of the controller 6 detects an AD value based on the user operation.
- the operation information generation unit 114 of the controller 6 derives an output value corresponding to the input user operation based on the AD value detected by the operation detection unit 112 and the AD value and output value associated with at least one correction point. Specifically, the operation information generation unit 114 derives an output value (a value in the range of 0 to 255) corresponding to the user operation by linear interpolation based on the magnitude relationship between the AD value based on the user operation and the AD value of each correction point.
- the operation information generating unit 114 generates operation information including an output value corresponding to the user operation.
- the operation information transmitting unit 116 transmits the operation information to the information processing device 10.
- the application executing unit 216 of the information processing device 10 executes an application based on the output value corresponding to the user operation, which is indicated by the operation information transmitted from the controller 6.
- FIG. 18 also shows the relationship between the correction point and the output value of the controller 6.
- FIG. 18 shows the relationship when the trigger stopper 87 is set to the first stage and a dead zone is set.
- the user can set the release side dead zone 186 and the full stroke side dead zone 188 to any size, regardless of the position of the correction point.
- the boundary of the release side dead zone 186 is set between P3 and P4, while the full stroke side dead zone 188 is not set. In this case, if the output values corresponding to P4, P5, and P6 are set to the values shown in FIG. 17, the linearity of the output value based on the user operation cannot be maintained.
- the allocation unit 120 of the controller 6 dynamically changes the output value corresponding to at least one correction point according to the setting of the dead zone of the trigger button 84. Specifically, when a dead zone is set for the trigger button 84, the allocation unit 120 assigns new output values to each of the correction points outside the dead zone range so that the minimum output value 0 to the maximum output value 255 corresponds to the rotatable range of the trigger button 84 excluding the dead zone. The area outside the dead zone range can also be said to be within the valid range.
- the allocation unit 120 allocates new output values to each of the correction points outside the release side dead zone 186 and the full stroke side dead zone 188 so that the minimum output value 0 to the maximum output value 255 corresponds to the rotational range of the trigger button 84 excluding the set release side dead zone 186 and full stroke side dead zone 188. In addition, the allocation unit 120 allocates new output values to each of the correction points outside the dead zone ranges each time the release side dead zone 186 or full stroke side dead zone 188 for the trigger button 84 is newly set or changed.
- the allocation unit 120 allocates the minimum output value 0 to the range from the rotation start position P0 of the trigger button 84 to a predetermined correction point.
- the predetermined correction point is the correction point included in the release side offset 182 and the correction point included in the release side dead zone 186 that has the largest rotation amount (AD value).
- the allocation unit 120 also allocates a maximum output value of 255 in the range from the predetermined correction point to the rotation end position P8 of the trigger button 84.
- the predetermined correction point is the correction point with the smallest rotation amount (AD value) among the correction points included in the full stroke side offset 184 and the full stroke side dead zone 188. In this way, by providing play areas near the release position and full stroke position of the trigger button 84, the operability of the trigger button 84 can be improved.
- FIG. 19 shows an example of assigning new output values to correction points.
- the trigger stopper 87 is set to the first stage. If the dead zone is not set, P2 to P7 become the normalization range 180, and the assignment unit 120 assigns output values corresponding to each correction point so that each section separated by the correction points divides 0 to 255 into 5 equal parts.
- a release side dead zone 186 is set from P2 to the starting point Pr between P3 and P4, and a full stroke side dead zone 188 is set from the end point Pf between P6 and P7 to P7.
- the rotatable range of the trigger button 84 i.e., normalized range 180
- the allocation unit 120 assigns new output values Np4, Np5, and Np6 to P4, P5, and P6, with Pr set to a minimum value of 0, Pf set to a maximum value of 255, and 0 to 255 assigned to the section from Pr to Pf.
- the size of the release side dead zone 186 is specified as x% of the normalized range 180 (P2 to P7) when no dead zone is set.
- the size of the full stroke side dead zone 188 is specified as y% of the normalized range 180 (P2 to P7) when no dead zone is set. Both x and y are values in the range from 0 to 99.
- the allocation unit 120 derives the output values of P4, P5, and P6 according to Equations 7 to 9.
- Np4 255 * (20 - (x - 20 * m)) / (100 - x - y) ...
- Np5 Np4+255*20/(100-x-y) ...
- Np6 Np5+255*20/(100-x-y) ...
- Equation 9
- Figure 20 also shows an example of assigning a new output value to a correction point.
- the trigger stopper 87 is set to the first stage.
- a release side dead zone 186 (set value x is 24%) is set from P2 to the starting point Pr between P3 and P4.
- a full stroke side dead zone 188 is not set.
- the allocation unit 120 derives the ratio of Pr to P4 to the normalization range 180 (P2 to P7) when the dead zone is not set as 16% according to the above formula 6.
- the allocation unit 120 also derives Np4 as 54, Np5 as 121, and Np6 as 188 according to the above formulas 7 to 9.
- the allocation unit 120 stores a pair of the characteristic value of the correction point and the new output value for the correction point from which a new output value has been derived in the correction point information storage unit 104.
- the operation information generation unit 114 generates operation information based on a user operation on the trigger button 84, using the characteristic values and output values (new output values) of the multiple correction points.
- the assignment unit 120 detects the range excluding the dead zone from the rotatable range of the trigger button 84 limited by the trigger stopper 87 as the normalization range 180.
- the assignment unit 120 assigns new output values to each of the correction points within the normalization range 180 (in other words, outside the dead zone range) so that the minimum output value 0 to the maximum output value 255 corresponds to the normalization range 180.
- the value "20" included in the above formulas 6 to 9 is a fixed value when the trigger stopper 87 is set to the first stage, and is the ratio (%) of one correction point interval (e.g. P2 to P3) to the normalized range 180 (P2 to P7) when the dead zone is not set. This ratio will be referred to as the "interval ratio" below.
- the maximum rotation angle of the trigger button 84 is limited to 14 degrees. Also, as shown in FIG. 14(b), the normalized range 180 is P2 to P6, and the section ratio is 25%. Therefore, in this case, the formulas in which "20" in the above formulas 5 to 9 is replaced with "25" are used.
- the maximum rotation angle of the trigger button 84 is limited to 10 degrees. Furthermore, as shown in FIG. 14(c), the normalization range 180 is from P3 to P5, and the section ratio is 50%. Therefore, in this case, the formulas in which "20" in the above formulas 5 to 9 is replaced with "50" are used.
- the allocation unit 120 detects that an operation to limit the rotatable range of the trigger button 84 using the trigger stopper 87 has been input. This operation may be, for example, an operation of sliding a switch of the trigger stopper 87 to switch stages.
- the allocation unit 120 assigns new output values to each of the correction points outside the dead zone range each time an operation to limit the rotatable range of the trigger button 84 is input, and each time a dead zone is set (newly set, changed, etc.) for the trigger button 84.
- the more narrowly the rotatable range of the trigger button 84 is restricted by the trigger stopper 87 the more correction points the allocation unit 120 assigns the minimum output value to. Also, the more narrowly the rotatable range of the trigger button 84 is restricted by the trigger stopper 87, the more correction points the allocation unit 120 assigns the maximum output value to.
- the allocation unit 120 assigns an output value of 0 (minimum value) to P0, P1, and P2.
- the allocation unit 120 assigns an output value of 0 to P0, P1, P2, and P3.
- the normalization range 180 ends at P7. In this case, the allocation unit 120 allocates an output value of 255 (maximum value) to P7 and P8.
- the allocation unit 120 allocates an output value of 255 to P6, P7, and P8.
- the trigger stopper 87 is set to the third stage and the dead zone is not set, the normalization range 180 ends at P5. In this case, the allocation unit 120 allocates an output value of 255 to P5, P6, P7, and P8.
- the second feature of the information processing system 1 of the embodiment it is possible to maintain the linearity of the output value associated with the user's operation on the trigger button 84 in which the release side dead zone 186 and/or the full stroke side dead zone 188 are set.
- the second feature of the information processing system 1 is not limited to the trigger button 84, but can also be applied to other types of analog input devices in which a dead zone can be set, such as the analog stick 77.
- An analog input device ; a storage unit for storing setting information relating to the sensitivity of the analog input device; a generation unit that generates operation information based on a user's operation on the analog input device; a transmission unit that transmits the operation information generated by the generation unit to an external information processing device; Equipped with The generation unit is (A) acquiring a value in a Cartesian coordinate system based on an operation amount of the analog input device; (B) converting the values in the Cartesian coordinate system into values in another coordinate system; (C) converting the value of the different coordinate system based on the sensitivity of the analog input device indicated by the setting information; (D) converting the converted value in the different coordinate system based on the sensitivity of the analog input device into a value in the orthogonal coordinate system to be set in the operation information.
- the values in the Cartesian coordinate system are first converted into values in another coordinate system that is more advantageous in terms of calculation load, and then the sensitivity of the analog input device is reflected in the converted values.
- the other coordinate system is a polar coordinate system.
- the operating device according to item 1-1 values in a Cartesian coordinate system are first converted into values in a polar coordinate system, which is advantageous in terms of calculation load, and then the sensitivity of the analog input device is reflected in the converted values.
- the generating unit in (A), obtains a relatively high-precision value as a value in a Cartesian coordinate system based on an operation amount of the analog input device; In (D), the generation unit converts the converted value in the different coordinate system into a value in the Cartesian coordinate system based on a sensitivity of the analog input device, and further converts the converted value in the Cartesian coordinate system into a relatively low-precision value.
- An operating device according to any one of items 1-1 to 1-3. According to this operation device, a high-precision value is used in the sensitivity reflection calculation, so that a decrease in calculation accuracy can be suppressed.
- the generating unit generates a value from a minimum value to a maximum value that can be set in the operation information based on an operation within a range that is narrower than a physical possible range of the analog input device by a predetermined offset.
- An operating device according to any one of items 1-1 to 1-4. According to this operation device, even if the physical movable range of the analog input device moves by an offset amount over time, the predetermined range of output values can be maintained.
- An analog input device a storage unit for storing setting information relating to the sensitivity of the analog input device;
- a processor Equipped with the processor executes a process of generating operation information based on a user's operation on the analog input device, and a process of transmitting the generated operation information to an external information processing device;
- the generating process includes: (A) acquiring a value in a Cartesian coordinate system based on an operation amount of the analog input device; (B) converting the values in the Cartesian coordinate system into values in another coordinate system; (C) converting the value of the different coordinate system based on the sensitivity of the analog input device indicated by the setting information; (D) converting the value in the other coordinate system after conversion based on the sensitivity of the analog input device into a value in the orthogonal coordinate system to be set in the operation information; Operating device.
- the values in the Cartesian coordinate system are first converted into values in another coordinate system that is more advantageous in terms of calculation load, and then the sensitivity of the analog input device is reflected in the converted values. This makes it possible to reduce the calculation load required to reflect the sensitivity set in the analog input device in the output value of the operation device based on the user's operation of the analog input device.
- An operating device including an analog input device and a storage unit that stores setting information related to a sensitivity of the analog input device, generating operation information based on a user's operation on the analog input device; transmitting the operation information generated in the generating step to an external information processing device;
- Run The generating step includes: (A) acquiring a value in a Cartesian coordinate system based on an operation amount of the analog input device; (B) converting the values in the Cartesian coordinate system into values in another coordinate system; (C) converting the value of the different coordinate system based on the sensitivity of the analog input device indicated by the setting information; (D) converting the value in the other coordinate system after conversion based on the sensitivity of the analog input device into a value in the orthogonal coordinate system to be set in the operation information; Information processing methods.
- the values in the Cartesian coordinate system are first converted into values in another coordinate system that is more advantageous in terms of calculation load, and then the sensitivity of the analog input device is reflected in the converted values, thereby reducing the calculation load of the operation device for reflecting the sensitivity set in the analog input device in the output value of the operation device based on the user's operation of the analog input device.
- An operating device including an analog input device and a storage unit that stores setting information related to the sensitivity of the analog input device, a function of generating operation information based on a user's operation on the analog input device; a function of transmitting the operation information generated by the generating function to an external information processing device; Realize this,
- the generating function is (A) acquiring a value in a Cartesian coordinate system based on an operation amount of the analog input device; (B) converting the values in the Cartesian coordinate system into values in another coordinate system; (C) converting the value of the different coordinate system based on the sensitivity of the analog input device indicated by the setting information; (D) converting the value in the other coordinate system after conversion based on the sensitivity of the analog input device into a value in the orthogonal coordinate system to be set in the operation information; Computer program.
- the values in the Cartesian coordinate system are first converted into values in another coordinate system that is more advantageous in terms of calculation load, and then the sensitivity of the analog input device is reflected in the converted values, thereby reducing the calculation load of the operation device for reflecting the sensitivity set in the analog input device in the output value of the operation device based on the user's operation of the analog input device.
- FIG. 2-1 an analog input device operated by a user; a storage unit that stores characteristic values measured at a plurality of correction points each having a different amount of movement of the analog input device; an assignment unit that assigns an output value indicating a magnitude of the operation to each of the plurality of correction points; an output unit that outputs, when an operation is input to the analog input device, an output value corresponding to the input operation based on a measured characteristic value and a characteristic value and an output value related to at least one correction point; Equipped with when a dead zone is set for the analog input device, the allocation unit allocates new output values to each of the correction points outside the dead zone range so that the minimum value to the maximum value of the output value corresponds to a movable range of the analog input device excluding the dead zone.
- the allocating unit allocates new output values to each of the correction points outside the first dead zone and the second dead zone so that the minimum value to the maximum value of the output value correspond to a movable range of the analog input device excluding the first dead zone and the second dead zone that are set.
- the allocation unit allocates a new output value to each of the correction points outside the range of the dead zone every time a dead zone is set for the analog input device;
- the operating device according to item 2-1 or 2-2. According to this operation device, it is possible to maintain the linearity of the output value accompanying the user's operation on the analog input device by following the setting or change of the dead zone.
- a limiting unit for limiting a movable range of the analog input device When a movable range of the analog input device is limited and a dead zone is set for the analog input device, the allocation unit allocates new output values to each of the correction points outside the dead zone range so that the minimum value to the maximum value of the output value corresponds to a movable range obtained by excluding the dead zone from the limited movable range of the analog input device.
- An operating device according to any one of items 2-1 to 2-3.
- the allocating unit allocates new output values to each of the correction points outside the dead zone range every time an operation for limiting a movable range of the analog input device is input or every time a dead zone is set for the analog input device.
- the operating device according to item 2-4. According to this operation device, it is possible to maintain the linearity of the output value accompanying the user's operation on the analog input device by following the change in the movable range of the analog input device and the change in the dead zone.
- the allocating unit allocates a minimum value of the output value to a range from a movement start position of the analog input device to a predetermined correction point, or allocates a maximum value of the output value to a range from the predetermined correction point to a movement end position of the analog input device.
- An operating device according to any one of items 2-1 to 2-5. According to this operating device, the operability of the analog input device can be improved by providing a play area at one or both of the start position (e.g., release position or initial position) and end position (e.g., full stroke position) of the analog input device.
- a limiting unit for limiting a movable range of the analog input device the narrower the movable range of the analog input device, the more correction points the allocation unit allocates the minimum value of the output value, or the more correction points the allocation unit allocates the maximum value of the output value.
- An operating device according to any one of items 2-1 to 2-6. According to this operating device, even if the movable range (e.g., stroke range or rotation range) of the analog input device is limited, the linearity of the output value associated with the user's operation on the analog input device in which a dead zone is set can be maintained.
- FIG. 2-8 an analog input device operated by a user; a storage unit that stores characteristic values measured at a plurality of correction points each having a different amount of movement of the analog input device; A processor; Equipped with The processor assigns an output value to each of the plurality of correction points indicative of a magnitude of manipulation; When an operation is input to the analog input device, the processor outputs to an outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value related to at least one correction point; When a dead zone is set for the analog input device, the processor assigns new output values to each of the correction points outside the range of the dead zone so that the minimum value to the maximum value of the output value corresponds to a movable range of the analog input device excluding the dead zone.
- An operating device including an analog input device operated by a user and a storage unit that stores characteristic values measured at a plurality of correction points having different amounts of movement of the analog input device, assigning to each of the plurality of correction points an output value indicative of a magnitude of manipulation;
- an operation is input to the analog input device, outputting to an outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value related to at least one correction point;
- Run In the step of allocating when a dead zone is set for the analog input device, a new output value is allocated to each of the correction points outside the range of the dead zone so that the minimum value to the maximum value of the output value corresponds to a movable range of the analog input device excluding the dead zone.
- An operating device including an analog input device operated by a user and a storage unit that stores characteristic values measured at a plurality of correction points having different amounts of movement of the analog input device, a function of assigning an output value indicating a magnitude of the manipulation to each of the plurality of correction points; a function of outputting, when an operation is input to the analog input device, an output value corresponding to the input operation based on a measured characteristic value and a characteristic value and an output value related to at least one correction point; Realize this, The function of allocating allocates new output values to each of the correction points outside the range of the dead zone when a dead zone is set for the analog input device, so that the minimum value to the maximum value of the output value corresponds to the movable range of the analog input device excluding the dead zone.
- the present invention can be applied to operating devices, information processing systems, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
Abstract
Description
実施例のコントローラ6は、ユーザによりカスタマイズされた、コントローラ6への操作に関する設定情報(以下「プロファイル情報」または単に「プロファイル」とも呼ぶ。)を不揮発メモリに保存する。プロファイル情報は、コントローラ6の挙動に関する設定情報を含む。コントローラ6は、複数のプロファイル情報を記憶可能であり、ユーザの操作に応じて、適用するプロファイル情報を切替可能である。
まず、情報処理システム1の第1の特徴に関する動作として、主に、アナログスティック77(右アナログスティック77aおよび左アナログスティック77b)の調整と動作について説明する。
頂点1の情報:(rDz,0)、頂点2の情報:(r1,r’1)
頂点3の情報:(r2,r’2)、頂点4の情報:(rMax,r’Max)
rDzはデッドゾーンの範囲を示す値であり、すなわち、0≦入力値≦rDzの範囲がデッドゾーンである。頂点4の情報は固定値であってもよい。
(1)X’min以下の場合、出力値を0とする。
(2)X’min~Xcenterの場合、出力値が0~128になるように直線補間して出力値を求める。
(3)Xcenter~X’maxの場合、出力値が128~255になるように直線補間して出力値を求める。
(4)X’max以上の場合、出力値を255とする。
(1)Y’min以下の場合、出力値を0とする。
(2)Y’min~Ycenterの場合、出力値が0~128になるように直線補間して出力値を求める。
(3)Ycenter~Y’maxの場合、出力値が128~255になるように直線補間して出力値を求める。
(4)Y’max以上の場合、出力値を255とする。
(20-(x-20*m))% ・・・(式6)
mは、リリース側デッドゾーン186に含まれる補正点の区間の個数であり、0~4の値になる。図19ではm=1である。
Np4=255*(20-(x-20*m))/(100-x-y) ・・・(式7)
Np5=Np4+255*20/(100-x-y) ・・・(式8)
Np6=Np5+255*20/(100-x-y) ・・・(式9)
[項目1-1]
アナログ入力デバイスと、
前記アナログ入力デバイスの感度に関する設定情報を記憶する記憶部と、
前記アナログ入力デバイスに対するユーザの操作に基づく操作情報を生成する生成部と、
前記生成部により生成された操作情報を外部の情報処理装置へ送信する送信部と、
を備え、
前記生成部は、
(A)前記アナログ入力デバイスの操作量に基づく直交座標系の値を取得し、
(B)前記直交座標系の値を別の座標系の値に変換し、
(C)前記設定情報が示す前記アナログ入力デバイスの感度に基づいて、前記別の座標系の値を変換し、
(D)前記アナログ入力デバイスの感度に基づき変換後の前記別の座標系の値を、前記操作情報に設定すべき前記直交座標系の値に変換する、
操作装置。
この操作装置によると、直交座標系の値を一旦、計算負荷的に有利となる別の座標系の値に変換した上でアナログ入力デバイスの感度を反映させる。これにより、アナログ入力デバイスへのユーザの操作に基づく操作装置の出力値に対して、アナログ入力デバイスに設定された感度を反映するための計算負荷を低減することができる。
[項目1-2]
前記別の座標系は、極座標系である、
項目1-1に記載の操作装置。
この操作装置によると、直交座標系の値を一旦、計算負荷的に有利となる極座標系の値に変換した上でアナログ入力デバイスの感度を反映させる。これにより、アナログ入力デバイスへのユーザの操作に基づく操作装置の出力値に対して、アナログ入力デバイスに設定された感度を反映するための計算負荷を低減することができる。
[項目1-3]
前記生成部は、前記(B)において、前記極座標系の動径値を導出する一方、偏角の値を導出せず、
前記生成部は、前記(C)において、前記設定情報が示す前記アナログ入力デバイスの感度に基づいて、前記極座標系の動径値を変換する、
項目1-2に記載の操作装置。
この操作装置によると、極座標変換において偏角を導出しないことで計算負荷を低減できる。
[項目1-4]
前記生成部は、前記(A)において、前記アナログ入力デバイスの操作量に基づく直交座標系の値として相対的に高精度の値を取得し、
前記生成部は、前記(D)において、前記アナログ入力デバイスの感度に基づき変換後の前記別の座標系の値を前記直交座標系の値に変換し、変換後の前記直交座標系の値を相対的に低精度の値にさらに変換する、
項目1-1から1-3のいずれかに記載の操作装置。
この操作装置によると、高精度の値を感度反映の計算に用いることで、計算精度の低下を抑制できる。
[項目1-5]
前記生成部は、前記アナログ入力デバイスの物理的な可能範囲よりも予め定められたオフセット分狭い範囲での操作に基づいて、前記操作情報に設定可能な最小値から最大値までの値を生成する、
項目1-1から1-4のいずれかに記載の操作装置。
この操作装置によると、時間経過とともにアナログ入力デバイスの物理的な可動範囲がオフセット分移動しても、予め定められた出力値の範囲を維持できる。
[項目1-6]
アナログ入力デバイスと、
前記アナログ入力デバイスの感度に関する設定情報を記憶する記憶部と、
プロセッサと、
を備え、
前記プロセッサは、前記アナログ入力デバイスに対するユーザの操作に基づく操作情報を生成する処理と、生成した操作情報を外部の情報処理装置へ送信する処理を実行し、
前記生成する処理は、
(A)前記アナログ入力デバイスの操作量に基づく直交座標系の値を取得し、
(B)前記直交座標系の値を別の座標系の値に変換し、
(C)前記設定情報が示す前記アナログ入力デバイスの感度に基づいて、前記別の座標系の値を変換し、
(D)前記アナログ入力デバイスの感度に基づき変換後の前記別の座標系の値を、前記操作情報に設定すべき前記直交座標系の値に変換する、ことを含む、
操作装置。
この操作装置によると、直交座標系の値を一旦、計算負荷的に有利となる別の座標系の値に変換した上でアナログ入力デバイスの感度を反映させる。これにより、アナログ入力デバイスへのユーザの操作に基づく操作装置の出力値に対して、アナログ入力デバイスに設定された感度を反映するための計算負荷を低減することができる。
[項目1-7]
アナログ入力デバイスと、前記アナログ入力デバイスの感度に関する設定情報を記憶する記憶部と、を備える操作装置が、
前記アナログ入力デバイスに対するユーザの操作に基づく操作情報を生成するステップと、
前記生成するステップで生成された操作情報を外部の情報処理装置へ送信するステップと、
を実行し、
前記生成するステップは、
(A)前記アナログ入力デバイスの操作量に基づく直交座標系の値を取得し、
(B)前記直交座標系の値を別の座標系の値に変換し、
(C)前記設定情報が示す前記アナログ入力デバイスの感度に基づいて、前記別の座標系の値を変換し、
(D)前記アナログ入力デバイスの感度に基づき変換後の前記別の座標系の値を、前記操作情報に設定すべき前記直交座標系の値に変換する、ことを含む、
情報処理方法。
この情報処理方法によると、直交座標系の値を一旦、計算負荷的に有利となる別の座標系の値に変換した上でアナログ入力デバイスの感度を反映させる。これにより、操作装置において、アナログ入力デバイスへのユーザの操作に基づく操作装置の出力値に対して、アナログ入力デバイスに設定された感度を反映するための計算負荷を低減することができる。
[項目1-8]
アナログ入力デバイスと、前記アナログ入力デバイスの感度に関する設定情報を記憶する記憶部と、を備える操作装置に、
前記アナログ入力デバイスに対するユーザの操作に基づく操作情報を生成する機能と、
前記生成する機能により生成された操作情報を外部の情報処理装置へ送信する機能と、
を実現させ、
前記生成する機能は、
(A)前記アナログ入力デバイスの操作量に基づく直交座標系の値を取得し、
(B)前記直交座標系の値を別の座標系の値に変換し、
(C)前記設定情報が示す前記アナログ入力デバイスの感度に基づいて、前記別の座標系の値を変換し、
(D)前記アナログ入力デバイスの感度に基づき変換後の前記別の座標系の値を、前記操作情報に設定すべき前記直交座標系の値に変換する、ことを含む、
コンピュータプログラム。
このコンピュータプログラムによると、直交座標系の値を一旦、計算負荷的に有利となる別の座標系の値に変換した上でアナログ入力デバイスの感度を反映させる。これにより、操作装置において、アナログ入力デバイスへのユーザの操作に基づく操作装置の出力値に対して、アナログ入力デバイスに設定された感度を反映するための計算負荷を低減することができる。
ユーザにより操作されるアナログ入力デバイスと、
前記アナログ入力デバイスの移動量が異なる複数の補正点のそれぞれで計測された特性値を記憶する記憶部と、
前記複数の補正点のそれぞれに、操作の大きさを示す出力値を割り当てる割当部と、
前記アナログ入力デバイスに操作が入力された場合、計測された特性値と、少なくとも1つの補正点に関する特性値および出力値とに基づく、入力された操作に対応する出力値を外部へ出力する出力部と、
を備え、
前記割当部は、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーン範囲外の補正点のそれぞれに新たな出力値を割り当てる、
操作装置。
この操作装置によると、デッドゾーンが設定されたアナログ入力デバイスに対するユーザ操作に伴う出力値の線形性を維持できる。
[項目2-2]
前記アナログ入力デバイスには、前記デッドゾーンとして、操作開始側の第1デッドゾーンと、操作終了側の第2デッドゾーンの一方または両方を設定可能であり、
前記割当部は、設定された第1デッドゾーンと第2デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、設定された第1デッドゾーンと第2デッドゾーン範囲外の補正点のそれぞれに新たな出力値を割り当てる、
項目2-1に記載の操作装置。
この操作装置によると、アナログ入力デバイスの操作開始側と操作終了側の一方または両方にデッドゾーンが設定された場合でも、アナログ入力デバイスに対するユーザ操作に伴う出力値の線形性を維持できる。
[項目2-3]
前記割当部は、前記アナログ入力デバイスにデッドゾーンが設定される都度、前記デッドゾーンの範囲外の補正点のそれぞれに新たな出力値を割り当てる、
項目2-1または2-2に記載の操作装置。
この操作装置によると、デッドゾーンの設定や変更に追従して、アナログ入力デバイスに対するユーザ操作に伴う出力値の線形性を維持できる。
[項目2-4]
前記アナログ入力デバイスの移動可能範囲を制限する制限部をさらに備え、
前記アナログ入力デバイスの移動可能範囲が制限され、かつ、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記割当部は、前記アナログ入力デバイスの制限された移動可能範囲から前記デッドゾーンを除いた移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーン範囲外の補正点のそれぞれに新たな出力値を割り当てる、
項目2-1から2-3のいずれかに記載の操作装置。
この操作装置によると、アナログ入力デバイスの移動可能範囲(例えばストローク範囲や回動範囲)が制限される場合でも、デッドゾーンが設定されたアナログ入力デバイスに対するユーザ操作に伴う出力値の線形性を維持できる。
[項目2-5]
前記割当部は、前記アナログ入力デバイスの移動可能範囲を制限する操作が入力される都度、または、前記アナログ入力デバイスにデッドゾーンが設定される都度、前記デッドゾーン範囲外の補正点のそれぞれに新たな出力値を割り当てる、
項目2-4に記載の操作装置。
この操作装置によると、アナログ入力デバイスの移動可能範囲の変更や、デッドゾーンの変更に追従して、アナログ入力デバイスに対するユーザ操作に伴う出力値の線形性を維持できる。
[項目2-6]
前記割当部は、前記アナログ入力デバイスの移動開始位置から所定の補正点までの範囲に前記出力値の最小値を割り当て、または、所定の補正点から前記アナログ入力デバイスの移動終了位置までの範囲に前記出力値の最大値を割り当てる、
項目2-1から2-5のいずれかに記載の操作装置。
この操作装置によると、アナログ入力デバイスの移動開始位置(例えばリリース位置または初期位置)と移動終了位置(例えばフルストローク位置)の一方または両方に遊び領域を設けることで、アナログ入力デバイスの操作性を向上できる。
[項目2-7]
前記アナログ入力デバイスの移動可能範囲を制限する制限部をさらに備え、
前記アナログ入力デバイスの移動可能範囲が狭くなるほど、前記割当部は、より多くの補正点に前記出力値の最小値を割り当て、または、より多くの補正点に前記出力値の最大値を割り当てる、
項目2-1から2-6のいずれかに記載の操作装置。
この操作装置によると、アナログ入力デバイスの移動可能範囲(例えばストローク範囲や回動範囲)が制限される場合でも、デッドゾーンが設定されたアナログ入力デバイスに対するユーザ操作に伴う出力値の線形性を維持できる。
[項目2-8]
ユーザにより操作されるアナログ入力デバイスと、
前記アナログ入力デバイスの移動量が異なる複数の補正点のそれぞれで計測された特性値を記憶する記憶部と、
プロセッサと、
を備え、
前記プロセッサは、前記複数の補正点のそれぞれに、操作の大きさを示す出力値を割り当て、
前記プロセッサは、前記アナログ入力デバイスに操作が入力された場合、計測された特性値と、少なくとも1つの補正点に関する特性値および出力値とに基づく、入力された操作に対応する出力値を外部へ出力し、
前記プロセッサは、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーンの範囲外の補正点のそれぞれに新たな出力値を割り当てる、
操作装置。
この操作装置によると、デッドゾーンが設定されたアナログ入力デバイスに対するユーザ操作に伴う出力値の線形性を維持できる。
[項目2-9]
ユーザにより操作されるアナログ入力デバイスと、前記アナログ入力デバイスの移動量が異なる複数の補正点のそれぞれで計測された特性値を記憶する記憶部と、を備える操作装置が、
前記複数の補正点のそれぞれに、操作の大きさを示す出力値を割り当てるステップと、
前記アナログ入力デバイスに操作が入力された場合、計測された特性値と、少なくとも1つの補正点に関する特性値および出力値とに基づく、入力された操作に対応する出力値を外部へ出力するステップと、
を実行し、
前記割り当てるステップは、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーンの範囲外の補正点のそれぞれに新たな出力値を割り当てる、
情報処理方法。
この情報処理方法によると、操作装置において、デッドゾーンが設定されたアナログ入力デバイスに対するユーザ操作に伴う出力値の線形性を維持できる。
[項目2-10]
ユーザにより操作されるアナログ入力デバイスと、前記アナログ入力デバイスの移動量が異なる複数の補正点のそれぞれで計測された特性値を記憶する記憶部と、を備える操作装置に、
前記複数の補正点のそれぞれに、操作の大きさを示す出力値を割り当てる機能と、
前記アナログ入力デバイスに操作が入力された場合、計測された特性値と、少なくとも1つの補正点に関する特性値および出力値とに基づく、入力された操作に対応する出力値を外部へ出力する機能と、
を実現させ、
前記割り当てる機能は、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーンの範囲外の補正点のそれぞれに新たな出力値を割り当てる、
コンピュータプログラム。
このコンピュータプログラムによると、デッドゾーンが設定されたアナログ入力デバイスに対するユーザ操作に伴う出力値の線形性維持を操作装置に実現させることができる。
Claims (10)
- ユーザにより操作されるアナログ入力デバイスと、
前記アナログ入力デバイスの移動量が異なる複数の補正点のそれぞれで計測された特性値を記憶する記憶部と、
前記複数の補正点のそれぞれに、操作の大きさを示す出力値を割り当てる割当部と、
前記アナログ入力デバイスに操作が入力された場合、計測された特性値と、少なくとも1つの補正点に関する特性値および出力値とに基づく、入力された操作に対応する出力値を外部へ出力する出力部と、
を備え、
前記割当部は、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーン範囲外の補正点のそれぞれに新たな出力値を割り当てる、
操作装置。 - 前記アナログ入力デバイスには、前記デッドゾーンとして、操作開始側の第1デッドゾーンと、操作終了側の第2デッドゾーンの一方または両方を設定可能であり、
前記割当部は、設定された第1デッドゾーンと第2デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、設定された第1デッドゾーンと第2デッドゾーン範囲外の補正点のそれぞれに新たな出力値を割り当てる、
請求項1に記載の操作装置。 - 前記割当部は、前記アナログ入力デバイスにデッドゾーンが設定される都度、前記デッドゾーンの範囲外の補正点のそれぞれに新たな出力値を割り当てる、
請求項1に記載の操作装置。 - 前記アナログ入力デバイスの移動可能範囲を制限する制限部をさらに備え、
前記アナログ入力デバイスの移動可能範囲が制限され、かつ、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記割当部は、前記アナログ入力デバイスの制限された移動可能範囲から前記デッドゾーンを除いた移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーン範囲外の補正点のそれぞれに新たな出力値を割り当てる、
請求項1に記載の操作装置。 - 前記割当部は、前記アナログ入力デバイスの移動可能範囲を制限する操作が入力される都度、または、前記アナログ入力デバイスにデッドゾーンが設定される都度、前記デッドゾーン範囲外の補正点のそれぞれに新たな出力値を割り当てる、
請求項4に記載の操作装置。 - 前記割当部は、前記アナログ入力デバイスの移動開始位置から所定の補正点までの範囲に前記出力値の最小値を割り当て、または、所定の補正点から前記アナログ入力デバイスの移動終了位置までの範囲に前記出力値の最大値を割り当てる、
請求項1に記載の操作装置。 - 前記アナログ入力デバイスの移動可能範囲を制限する制限部をさらに備え、
前記アナログ入力デバイスの移動可能範囲が狭くなるほど、前記割当部は、より多くの補正点に前記出力値の最小値を割り当て、または、より多くの補正点に前記出力値の最大値を割り当てる、
請求項1に記載の操作装置。 - ユーザにより操作されるアナログ入力デバイスと、
前記アナログ入力デバイスの移動量が異なる複数の補正点のそれぞれで計測された特性値を記憶する記憶部と、
プロセッサと、
を備え、
前記プロセッサは、前記複数の補正点のそれぞれに、操作の大きさを示す出力値を割り当て、
前記プロセッサは、前記アナログ入力デバイスに操作が入力された場合、計測された特性値と、少なくとも1つの補正点に関する特性値および出力値とに基づく、入力された操作に対応する出力値を外部へ出力し、
前記プロセッサは、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーンの範囲外の補正点のそれぞれに新たな出力値を割り当てる、
操作装置。 - ユーザにより操作されるアナログ入力デバイスと、前記アナログ入力デバイスの移動量が異なる複数の補正点のそれぞれで計測された特性値を記憶する記憶部と、を備える操作装置が、
前記複数の補正点のそれぞれに、操作の大きさを示す出力値を割り当てるステップと、
前記アナログ入力デバイスに操作が入力された場合、計測された特性値と、少なくとも1つの補正点に関する特性値および出力値とに基づく、入力された操作に対応する出力値を外部へ出力するステップと、
を実行し、
前記割り当てるステップは、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーンの範囲外の補正点のそれぞれに新たな出力値を割り当てる、
情報処理方法。 - ユーザにより操作されるアナログ入力デバイスと、前記アナログ入力デバイスの移動量が異なる複数の補正点のそれぞれで計測された特性値を記憶する記憶部と、を備える操作装置に、
前記複数の補正点のそれぞれに、操作の大きさを示す出力値を割り当てる機能と、
前記アナログ入力デバイスに操作が入力された場合、計測された特性値と、少なくとも1つの補正点に関する特性値および出力値とに基づく、入力された操作に対応する出力値を外部へ出力する機能と、
を実現させ、
前記割り当てる機能は、前記アナログ入力デバイスにデッドゾーンが設定された場合、前記デッドゾーンを除いた前記アナログ入力デバイスの移動可能範囲に前記出力値の最小値から最大値が対応するように、前記デッドゾーンの範囲外の補正点のそれぞれに新たな出力値を割り当てる、
コンピュータプログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202380068113.2A CN119907959A (zh) | 2022-10-31 | 2023-10-12 | 操作装置、信息处理方法和计算机程序 |
| JP2024554362A JPWO2024095732A1 (ja) | 2022-10-31 | 2023-10-12 | |
| EP23885494.7A EP4614289A1 (en) | 2022-10-31 | 2023-10-12 | Operation apparatus, information processing method, and computer program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022174279 | 2022-10-31 | ||
| JP2022-174279 | 2022-10-31 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024095732A1 true WO2024095732A1 (ja) | 2024-05-10 |
Family
ID=90930213
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/037058 Ceased WO2024095732A1 (ja) | 2022-10-31 | 2023-10-12 | 操作装置、情報処理方法およびコンピュータプログラム |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP4614289A1 (ja) |
| JP (1) | JPWO2024095732A1 (ja) |
| CN (1) | CN119907959A (ja) |
| WO (1) | WO2024095732A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011258592A (ja) * | 2010-06-04 | 2011-12-22 | Sharp Corp | 電気機器 |
| US20170151494A1 (en) * | 2015-11-27 | 2017-06-01 | Ironburg Inventions Ltd. | Games Controller and Trigger Therefor |
| JP2018110736A (ja) * | 2017-01-12 | 2018-07-19 | 任天堂株式会社 | ゲームシステムおよびゲームコントローラ |
| JP2019084339A (ja) * | 2017-11-01 | 2019-06-06 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および信号変換方法 |
-
2023
- 2023-10-12 EP EP23885494.7A patent/EP4614289A1/en active Pending
- 2023-10-12 CN CN202380068113.2A patent/CN119907959A/zh active Pending
- 2023-10-12 JP JP2024554362A patent/JPWO2024095732A1/ja active Pending
- 2023-10-12 WO PCT/JP2023/037058 patent/WO2024095732A1/ja not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011258592A (ja) * | 2010-06-04 | 2011-12-22 | Sharp Corp | 電気機器 |
| US20170151494A1 (en) * | 2015-11-27 | 2017-06-01 | Ironburg Inventions Ltd. | Games Controller and Trigger Therefor |
| JP2018110736A (ja) * | 2017-01-12 | 2018-07-19 | 任天堂株式会社 | ゲームシステムおよびゲームコントローラ |
| JP2019084339A (ja) * | 2017-11-01 | 2019-06-06 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および信号変換方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4614289A1 (en) | 2025-09-10 |
| JPWO2024095732A1 (ja) | 2024-05-10 |
| CN119907959A (zh) | 2025-04-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9906723B2 (en) | Method for selection between front-facing camera and rear-facing camera of mobile terminal and mobile terminal | |
| CN106095067B (zh) | 用于照明系统的基于手势的控制方法和设备 | |
| US7518595B2 (en) | Pointing device control apparatus and method, electronic instrument, and computer program for the pointing device control apparatus | |
| JP2022535525A (ja) | ハンドヘルドコントローラを使用したプロパティの選択 | |
| CN101639784A (zh) | 信息处理设备、信息处理方法、程序和信息处理系统 | |
| JP6723949B2 (ja) | 情報処理装置および操作信号の変換方法 | |
| TWM566602U (zh) | 具有可重配置的模擬搖桿靈敏度修改器按鈕的遊戲控制器 | |
| JP2022549109A (ja) | ハンドヘルドコントローラを使用するプロパティの選択 | |
| WO2024095732A1 (ja) | 操作装置、情報処理方法およびコンピュータプログラム | |
| WO2024095731A1 (ja) | 操作装置、情報処理方法およびコンピュータプログラム | |
| US20250000387A1 (en) | Foot input system, foot position indicating instrument, foot position detecting device, and image processing system using foot input system | |
| US20140270256A1 (en) | Modifying Control Resolution | |
| US20250123696A1 (en) | Information processing device and controller | |
| WO2024236677A1 (ja) | 操作装置、情報処理装置、情報処理方法およびコンピュータプログラム | |
| WO2024237162A1 (ja) | 情報処理装置、操作装置、情報処理方法およびコンピュータプログラム | |
| WO2024236678A1 (ja) | 情報処理装置、情報処理方法およびコンピュータプログラム | |
| WO2024236676A1 (ja) | 情報処理装置、情報処理システム、情報処理方法およびコンピュータプログラム | |
| EP4614287A1 (en) | Operation device, information processing method, and computer program | |
| EP4614285A1 (en) | Operation device, information processing system, information processing method, and computer program | |
| EP4614286A1 (en) | Operation device, information processing system, information processing method, and computer program | |
| CN121079662A (zh) | 信息处理设备、信息处理方法和计算机程序 | |
| JP7785183B2 (ja) | 操作装置、情報処理システムおよびコンピュータプログラム | |
| WO2024034045A1 (ja) | 情報処理システム | |
| US20250331088A1 (en) | Lighting linkage method, main control apparatus for lighting control, and lighting control system | |
| CN119522413A (zh) | 信息处理设备、信息处理系统和计算机程序 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23885494 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202380068113.2 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024554362 Country of ref document: JP |
|
| WWP | Wipo information: published in national office |
Ref document number: 202380068113.2 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023885494 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2023885494 Country of ref document: EP Effective date: 20250602 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023885494 Country of ref document: EP |